## -*- mode: perl; -*-
## Standard openssl configuration targets.
+sub picker {
+ my %opts = @_;
+ return sub { add($opts{default} || (),
+ $opts{$config{build_type}} || ())->(); }
+}
+
+sub threads {
+ my @flags = @_;
+ return sub { add($disabled{threads} ? () : @flags)->(); }
+}
+
+sub combine {
+ my @stuff = @_;
+ return sub { add(@stuff)->(); }
+}
+
%targets = (
#### Basic configs that should work on any 32-bit box
"gcc" => {
cc => "gcc",
- cflags => "",
- debug_cflags => "-O0 -g",
- release_cflags => "-O3",
- thread_cflag => "(unknown)",
+ cflags => picker(debug => "-O0 -g",
+ release => "-O3"),
+ thread_scheme => "(unknown)",
bn_ops => "BN_LLONG",
},
"cc" => {
cc => "cc",
cflags => "-O",
- thread_cflag => "(unknown)",
+ thread_scheme => "(unknown)",
},
#### VOS Configurations
"vos-gcc" => {
inherit_from => [ "BASE_unix" ],
cc => "gcc",
- cflags => "-Wall -DOPENSSL_SYS_VOS -D_POSIX_C_SOURCE=200112L -D_BSD -D_VOS_EXTENDED_NAMES -DB_ENDIAN",
- debug_cflags => "-O0 -g -DBN_DEBUG -DREF_DEBUG -DCONF_DEBUG",
- release_cflags => "-O3",
- thread_cflag => "(unknown)",
+ cflags => picker(default => "-Wall -DOPENSSL_SYS_VOS -D_POSIX_C_SOURCE=200112L -D_BSD -D_VOS_EXTENDED_NAMES -DB_ENDIAN",
+ debug => "-O0 -g -DBN_DEBUG -DREF_DEBUG -DCONF_DEBUG",
+ release => "-O3"),
+ thread_scheme => "(unknown)",
sys_id => "VOS",
lflags => "-Wl,-map",
bn_ops => "BN_LLONG",
cflags => "-DFILIO_H",
ex_libs => add("-lresolv -lsocket -lnsl -ldl"),
dso_scheme => "dlfcn",
+ thread_scheme => "pthreads",
shared_target => "solaris-shared",
shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
},
# with "Illegal mnemonic" error message.
inherit_from => [ "solaris-common", asm("x86_elf_asm") ],
cc => "gcc",
- cflags => add_before("-Wall -DL_ENDIAN -DOPENSSL_NO_INLINE_ASM"),
- debug_cflags => "-O0 -g",
- release_cflags => "-O3 -fomit-frame-pointer",
- thread_cflag => "-pthread",
+ cflags => add_before(picker(default => "-Wall -DL_ENDIAN -DOPENSSL_NO_INLINE_ASM",
+ debug => "-O0 -g",
+ release => "-O3 -fomit-frame-pointer"),
+ threads("-pthread")),
bn_ops => "BN_LLONG",
shared_cflag => "-fPIC",
shared_ldflag => "-shared",
# <appro@fy.chalmers.se>
inherit_from => [ "solaris-common", asm("x86_64_asm") ],
cc => "gcc",
- cflags => add_before("-m64 -Wall -DL_ENDIAN"),
- debug_cflags => "-O0 -g",
- release_cflags => "-O3",
- thread_cflag => "-pthread",
+ cflags => add_before(picker(default => "-m64 -Wall -DL_ENDIAN",
+ debug => "-O0 -g",
+ release => "-O3"),
+ threads("-pthread")),
bn_ops => "SIXTY_FOUR_BIT_LONG",
perlasm_scheme => "elf",
shared_cflag => "-fPIC",
"solaris-x86-cc" => {
inherit_from => [ "solaris-common" ],
cc => "cc",
- cflags => add_before("-xarch=generic -xstrconst -Xa -DL_ENDIAN"),
- debug_cflags => "-g",
- release_cflags => "-xO5 -xregs=frameptr -xdepend -xbuiltin",
- thread_cflag => "-D_REENTRANT",
- lflags => add("-mt"),
- ex_libs => add("-lpthread"),
+ cflags => add_before(picker(default => "-xarch=generic -xstrconst -Xa -DL_ENDIAN",
+ debug => "-g",
+ release => "-xO5 -xregs=frameptr -xdepend -xbuiltin"),
+ threads("-D_REENTRANT")),
+ lflags => add(threads("-mt")),
+ ex_libs => add(threads("-lpthread")),
bn_ops => "BN_LLONG RC4_CHAR",
shared_cflag => "-KPIC",
shared_ldflag => "-G -dy -z text",
"solaris64-x86_64-cc" => {
inherit_from => [ "solaris-common", asm("x86_64_asm") ],
cc => "cc",
- cflags => add_before("-xarch=generic64 -xstrconst -Xa -DL_ENDIAN"),
- debug_cflags => "-g",
- release_cflags => "-xO5 -xdepend -xbuiltin",
- thread_cflag => "-D_REENTRANT",
- lflags => add("-mt"),
- ex_libs => add("-lpthread"),
+ cflags => add_before(picker(default => "-xarch=generic64 -xstrconst -Xa -DL_ENDIAN",
+ debug => "-g",
+ release => "-xO5 -xdepend -xbuiltin"),
+ threads("-D_REENTRANT")),
+ thread_scheme => "pthreads",
+ lflags => add(threads("-mt")),
+ ex_libs => add(threads("-lpthread")),
bn_ops => "SIXTY_FOUR_BIT_LONG",
perlasm_scheme => "elf",
shared_cflag => "-KPIC",
"solaris-sparcv7-gcc" => {
inherit_from => [ "solaris-common" ],
cc => "gcc",
- cflags => add_before("-Wall -DB_ENDIAN -DBN_DIV2W"),
- debug_cflags => "-O0 -g",
- release_cflags => "-O3",
- thread_cflag => "-pthread",
+ cflags => add_before(picker(default => "-Wall -DB_ENDIAN -DBN_DIV2W",
+ debug => "-O0 -g",
+ release => "-O3"),
+ threads("-pthread")),
bn_ops => "BN_LLONG RC4_CHAR",
shared_cflag => "-fPIC",
shared_ldflag => "-shared",
# -m32 should be safe to add as long as driver recognizes
# -mcpu=ultrasparc
inherit_from => [ "solaris-sparcv7-gcc", asm("sparcv9_asm") ],
- cflags => add_before("-m32 -mcpu=ultrasparc"),
- debug_cflags => "-DBN_DEBUG -DREF_DEBUG -DCONF_DEBUG -DBN_CTX_DEBUG -DPEDANTIC -O -g -pedantic -ansi -Wshadow -Wno-long-long -D__EXTENSIONS__",
+ cflags => add_before(picker(default => "-m32 -mcpu=ultrasparc",
+ debug => "-DBN_DEBUG -DREF_DEBUG -DCONF_DEBUG -DBN_CTX_DEBUG -DPEDANTIC -O -g -pedantic -ansi -Wshadow -Wno-long-long -D__EXTENSIONS__")),
},
"solaris64-sparcv9-gcc" => {
inherit_from => [ "solaris-sparcv9-gcc" ],
"solaris-sparcv7-cc" => {
inherit_from => [ "solaris-common" ],
cc => "cc",
- cflags => add_before("-xstrconst -Xa -DB_ENDIAN -DBN_DIV2W"),
- debug_cflags => "-g -DBN_DEBUG -DREF_DEBUG -DCONF_DEBUG -DBN_CTX_DEBUG",
- release_cflags => "-xO5 -xdepend",
- thread_cflag => "-D_REENTRANT",
- lflags => add("-mt"),
- ex_libs => add("-lpthread"),
+ cflags => add_before(picker(default => "-xstrconst -Xa -DB_ENDIAN -DBN_DIV2W",
+ debug => "-g -DBN_DEBUG -DREF_DEBUG -DCONF_DEBUG -DBN_CTX_DEBUG",
+ release => "-xO5 -xdepend"),
+ threads("-D_REENTRANT")),
+ lflags => add(threads("-mt")),
+ ex_libs => add(threads("-lpthread")),
bn_ops => "BN_LLONG RC4_CHAR",
shared_cflag => "-KPIC",
shared_ldflag => "-G -dy -z text",
"irix-gcc" => {
inherit_from => [ "BASE_unix", asm("mips32_asm") ],
cc => "gcc",
- cflags => "-DB_ENDIAN",
- debug_cflags => "-g -O0",
- release_cflags => "-O3",
- thread_cflag => "(unknown)",
+ cflags => picker(default => "-DB_ENDIAN",
+ debug => "-g -O0",
+ release => "-O3"),
bn_ops => "BN_LLONG RC4_CHAR",
+ thread_scheme => "(unknown)",
perlasm_scheme => "o32",
dso_scheme => "dlfcn",
shared_target => "irix-shared",
"irix-cc" => {
inherit_from => [ "BASE_unix", asm("mips32_asm") ],
cc => "cc",
- cflags => "-use_readonly_const -DB_ENDIAN",
- debug_cflags => "-g -O0",
- release_cflags => "-O2",
- thread_cflag => "(unknown)",
+ cflags => picker(default => "-use_readonly_const -DB_ENDIAN",
+ debug => "-g -O0",
+ release => "-O2"),
bn_ops => "BN_LLONG RC4_CHAR",
+ thread_scheme => "(unknown)",
perlasm_scheme => "o32",
dso_scheme => "dlfcn",
shared_target => "irix-shared",
"irix-mips3-gcc" => {
inherit_from => [ "BASE_unix", asm("mips64_asm") ],
cc => "gcc",
- cflags => "-mabi=n32 -DB_ENDIAN -DBN_DIV3W",
- debug_cflags => "-g -O0",
- release_cflags => "-O3",
- thread_cflag => "-D_SGI_MP_SOURCE -pthread",
+ cflags => combine(picker(default => "-mabi=n32 -DB_ENDIAN -DBN_DIV3W",
+ debug => "-g -O0",
+ release => "-O3"),
+ threads("-D_SGI_MP_SOURCE -pthread")),
bn_ops => "RC4_CHAR SIXTY_FOUR_BIT",
+ thread_scheme => "pthreads",
perlasm_scheme => "n32",
dso_scheme => "dlfcn",
shared_target => "irix-shared",
"irix-mips3-cc" => {
inherit_from => [ "BASE_unix", asm("mips64_asm") ],
cc => "cc",
- cflags => "-n32 -mips3 -use_readonly_const -G0 -rdata_shared -DB_ENDIAN -DBN_DIV3W",
- debug_cflags => "-g -O0",
- release_cflags => "-O2",
- thread_cflag => "-D_SGI_MP_SOURCE",
- ex_libs => add("-lpthread"),
+ cflags => combine(picker(default => "-n32 -mips3 -use_readonly_const -G0 -rdata_shared -DB_ENDIAN -DBN_DIV3W",
+ debug => "-g -O0",
+ release => "-O2"),
+ threads("-D_SGI_MP_SOURCE")),
+ ex_libs => add(threads("-lpthread")),
bn_ops => "RC4_CHAR SIXTY_FOUR_BIT",
+ thread_scheme => "pthreads",
perlasm_scheme => "n32",
dso_scheme => "dlfcn",
shared_target => "irix-shared",
"irix64-mips4-gcc" => {
inherit_from => [ "BASE_unix", asm("mips64_asm") ],
cc => "gcc",
- cflags => "-mabi=64 -mips4 -DB_ENDIAN -DBN_DIV3W",
- debug_cflags => "-g -O0",
- release_cflags => "-O3",
- thread_cflag => "-D_SGI_MP_SOURCE",
+ cflags => combine(picker(default => "-mabi=64 -mips4 -DB_ENDIAN -DBN_DIV3W",
+ debug => "-g -O0",
+ release => "-O3"),
+ threads("-D_SGI_MP_SOURCE")),
bn_ops => "RC4_CHAR SIXTY_FOUR_BIT_LONG",
+ thread_scheme => "pthreads",
perlasm_scheme => "64",
dso_scheme => "dlfcn",
shared_target => "irix-shared",
"irix64-mips4-cc" => {
inherit_from => [ "BASE_unix", asm("mips64_asm") ],
cc => "cc",
- cflags => "-64 -mips4 -use_readonly_const -G0 -rdata_shared -DB_ENDIAN -DBN_DIV3W",
- debug_cflags => "-g -O0",
- release_cflags => "-O2",
- thread_cflag => "-D_SGI_MP_SOURCE",
- ex_libs => add("-lpthread"),
+ cflags => combine(picker(default => "-64 -mips4 -use_readonly_const -G0 -rdata_shared -DB_ENDIAN -DBN_DIV3W",
+ debug => "-g -O0",
+ release => "-O2"),
+ threads("-D_SGI_MP_SOURCE")),
+ ex_libs => add(threads("-lpthread")),
bn_ops => "RC4_CHAR SIXTY_FOUR_BIT_LONG",
+ thread_scheme => "pthreads",
perlasm_scheme => "64",
dso_scheme => "dlfcn",
shared_target => "irix-shared",
"hpux-parisc-gcc" => {
inherit_from => [ "BASE_unix" ],
cc => "gcc",
- cflags => "-DB_ENDIAN -DBN_DIV2W",
- debug_cflags => "-O0 -g",
- release_cflags => "-O3",
- thread_cflag => "-pthread",
+ cflags => combine(picker(default => "-DB_ENDIAN -DBN_DIV2W",
+ debug => "-O0 -g",
+ release => "-O3"),
+ threads("-pthread")),
ex_libs => add("-Wl,+s -ldld"),
bn_ops => "BN_LLONG",
+ thread_scheme => "pthreads",
dso_scheme => "dl",
shared_target => "hpux-shared",
shared_cflag => "-fPIC",
"hpux64-parisc2-gcc" => {
inherit_from => [ "BASE_unix", asm("parisc20_64_asm") ],
cc => "gcc",
- cflags => "-DB_ENDIAN",
- debug_cflags => "-O0 -g",
- release_cflags => "-O3",
- thread_cflag => "-D_REENTRANT",
+ cflags => combine(picker(default => "-DB_ENDIAN",
+ debug => "-O0 -g",
+ release => "-O3"),
+ threads("-D_REENTRANT")),
ex_libs => add("-ldl"),
bn_ops => "SIXTY_FOUR_BIT_LONG RC4_CHAR",
+ thread_scheme => "pthreads",
dso_scheme => "dlfcn",
shared_target => "hpux-shared",
shared_cflag => "-fpic",
"hpux-parisc-cc" => {
inherit_from => [ "BASE_unix" ],
cc => "cc",
- cflags => "+Optrs_strongly_typed -Ae +ESlit -DB_ENDIAN -DBN_DIV2W -DMD32_XARRAY",
- debug_cflags => "+O0 +d -g",
- release_cflags => "+O3",
- thread_cflag => "-D_REENTRANT",
- ex_libs => add("-Wl,+s -ldld -lpthread"),
+ cflags => combine(picker(default => "+Optrs_strongly_typed -Ae +ESlit -DB_ENDIAN -DBN_DIV2W -DMD32_XARRAY",
+ debug => "+O0 +d -g",
+ release => "+O3"),
+ threads("-D_REENTRANT")),
+ ex_libs => add("-Wl,+s -ldld",threads("-lpthread")),
bn_ops => "RC4_CHAR",
+ thread_scheme => "pthreads",
dso_scheme => "dl",
shared_target => "hpux-shared",
shared_cflag => "+Z",
"hpux64-parisc2-cc" => {
inherit_from => [ "BASE_unix", asm("parisc20_64_asm") ],
cc => "cc",
- cflags => "+DD64 +Optrs_strongly_typed -Ae +ESlit -DB_ENDIAN -DMD32_XARRAY",
- debug_cflags => "+O0 +d -g",
- release_cflags => "+O3",
- thread_cflag => "-D_REENTRANT",
- ex_libs => add("-ldl -lpthread"),
+ cflags => combine(picker(default => "+DD64 +Optrs_strongly_typed -Ae +ESlit -DB_ENDIAN -DMD32_XARRAY",
+ debug => "+O0 +d -g",
+ release => "+O3"),
+ threads("-D_REENTRANT")),
+ ex_libs => add("-ldl",threads("-lpthread")),
bn_ops => "SIXTY_FOUR_BIT_LONG RC4_CHAR",
+ thread_scheme => "pthreads",
dso_scheme => "dlfcn",
shared_target => "hpux-shared",
shared_cflag => "+Z",
"hpux-ia64-cc" => {
inherit_from => [ "BASE_unix", asm("ia64_asm") ],
cc => "cc",
- cflags => "-Ae +DD32 +Olit=all -z -DB_ENDIAN",
- debug_cflags => "+O0 +d -g",
- release_cflags => "+O2",
- thread_cflag => "-D_REENTRANT",
- ex_libs => add("-ldl -lpthread"),
+ cflags => combine(picker(default => "-Ae +DD32 +Olit=all -z -DB_ENDIAN",
+ debug => "+O0 +d -g",
+ release => "+O2"),
+ threads("-D_REENTRANT")),
+ ex_libs => add("-ldl",threads("-lpthread")),
bn_ops => "SIXTY_FOUR_BIT",
+ thread_scheme => "pthreads",
dso_scheme => "dlfcn",
shared_target => "hpux-shared",
shared_cflag => "+Z",
"hpux64-ia64-cc" => {
inherit_from => [ "BASE_unix", asm("ia64_asm") ],
cc => "cc",
- cflags => "-Ae +DD64 +Olit=all -z -DB_ENDIAN",
- debug_cflags => "+O0 +d -g",
- release_cflags => "+O3",
- thread_cflag => "-D_REENTRANT",
- ex_libs => add("-ldl -lpthread"),
+ cflags => combine(picker(default => "-Ae +DD64 +Olit=all -z -DB_ENDIAN",
+ debug => "+O0 +d -g",
+ release => "+O3"),
+ threads("-D_REENTRANT")),
+ ex_libs => add("-ldl", threads("-lpthread")),
bn_ops => "SIXTY_FOUR_BIT_LONG",
+ thread_scheme => "pthreads",
dso_scheme => "dlfcn",
shared_target => "hpux-shared",
shared_cflag => "+Z",
"hpux-ia64-gcc" => {
inherit_from => [ "BASE_unix", asm("ia64_asm") ],
cc => "gcc",
- cflags => "-DB_ENDIAN",
- debug_cflags => "-O0 -g",
- release_cflags => "-O3",
- thread_cflag => "-pthread",
+ cflags => combine(picker(default => "-DB_ENDIAN",
+ debug => "-O0 -g",
+ release => "-O3"),
+ threads("-pthread")),
ex_libs => add("-ldl"),
bn_ops => "SIXTY_FOUR_BIT",
+ thread_scheme => "pthreads",
dso_scheme => "dlfcn",
shared_target => "hpux-shared",
shared_cflag => "-fpic",
"hpux64-ia64-gcc" => {
inherit_from => [ "BASE_unix", asm("ia64_asm") ],
cc => "gcc",
- cflags => "-mlp64 -DB_ENDIAN",
- debug_cflags => "-O0 -g",
- release_cflags => "-O3",
- thread_cflag => "-pthread",
+ cflags => picker(default => "-mlp64 -DB_ENDIAN",
+ debug => "-O0 -g",
+ release => "-O3",
+ threads("-pthread")),
ex_libs => add("-ldl"),
bn_ops => "SIXTY_FOUR_BIT_LONG",
+ thread_scheme => "pthreads",
dso_scheme => "dlfcn",
shared_target => "hpux-shared",
shared_cflag => "-fpic",
inherit_from => [ "BASE_unix" ],
cc => "gcc",
cflags => "-D_ENDIAN -DBN_DIV2W -O3 -D_POSIX_SOURCE -D_SOCKET_SOURCE -I/SYSLOG/PUB",
- thread_cflag => "(unknown)",
sys_id => "MPE",
ex_libs => add("-L/SYSLOG/PUB -lsyslog -lsocket -lcurses"),
+ thread_scheme => "(unknown)",
bn_ops => "BN_LLONG",
},
inherit_from => [ "BASE_unix", asm("alpha_asm") ],
cc => "gcc",
cflags => "-O3",
- thread_cflag => "(unknown)",
bn_ops => "SIXTY_FOUR_BIT_LONG",
+ thread_scheme => "(unknown)",
dso_scheme => "dlfcn",
shared_target => "alpha-osf1-shared",
shared_extension => ".so",
inherit_from => [ "BASE_unix", asm("alpha_asm") ],
cc => "cc",
cflags => "-std1 -tune host -O4 -readonly_strings",
- thread_cflag => "(unknown)",
bn_ops => "SIXTY_FOUR_BIT_LONG",
+ thread_scheme => "(unknown)",
dso_scheme => "dlfcn",
shared_target => "alpha-osf1-shared",
shared_extension => ".so",
"tru64-alpha-cc" => {
inherit_from => [ "BASE_unix", asm("alpha_asm") ],
cc => "cc",
- cflags => "-std1 -tune host -fast -readonly_strings",
- thread_cflag => "-pthread",
+ cflags => combine("-std1 -tune host -fast -readonly_strings",
+ threads("-pthread")),
bn_ops => "SIXTY_FOUR_BIT_LONG",
+ thread_scheme => "pthreads",
dso_scheme => "dlfcn",
shared_target => "alpha-osf1-shared",
shared_ldflag => "-msym",
"linux-generic32" => {
inherit_from => [ "BASE_unix" ],
cc => "gcc",
- cflags => "-Wall",
- debug_cflags => "-O0 -g -DBN_DEBUG -DREF_DEBUG -DCONF_DEBUG",
- release_cflags => "-O3",
- thread_cflag => "-pthread",
+ cflags => combine(picker(default => "-Wall",
+ debug => "-O0 -g -DBN_DEBUG -DREF_DEBUG -DCONF_DEBUG",
+ release => "-O3"),
+ threads("-pthread")),
ex_libs => add("-ldl"),
bn_ops => "BN_LLONG RC4_CHAR",
+ thread_scheme => "pthreads",
dso_scheme => "dlfcn",
shared_target => "linux-shared",
shared_cflag => "-fPIC",
},
"linux-ppc64" => {
inherit_from => [ "linux-generic64", asm("ppc64_asm") ],
- cflags => "-m64 -Wall -DB_ENDIAN",
+ cflags => add("-m64 -DB_ENDIAN"),
perlasm_scheme => "linux64",
shared_ldflag => "-m64",
multilib => "64",
},
"linux-ppc64le" => {
inherit_from => [ "linux-generic64", asm("ppc64_asm") ],
- cflags => "-m64 -Wall -DL_ENDIAN",
+ cflags => add("-m64 -DL_ENDIAN"),
perlasm_scheme => "linux64le",
shared_ldflag => "-m64",
},
},
"linux-arm64ilp32" => { # https://wiki.linaro.org/Platform/arm64-ilp32
inherit_from => [ "linux-generic32", asm("aarch64_asm") ],
- cflags => "-mabi=ilp32 -Wall",
+ cflags => add("-mabi=ilp32"),
bn_ops => "SIXTY_FOUR_BIT RC4_CHAR",
perlasm_scheme => "linux64",
shared_ldflag => "-mabi=ilp32",
# Configure script adds minimally required -march for assembly
# support, if no -march was specified at command line.
inherit_from => [ "linux-generic32", asm("mips32_asm") ],
- cflags => "-mabi=32 -Wall -DBN_DIV3W",
+ cflags => add("-mabi=32 -DBN_DIV3W"),
perlasm_scheme => "o32",
shared_ldflag => "-mabi=32",
},
# specifications, MIPS32 and MIPS64, rather than to kernel bitness.
"linux-mips64" => {
inherit_from => [ "linux-generic32", asm("mips64_asm") ],
- cflags => "-mabi=n32 -Wall -DBN_DIV3W",
+ cflags => add("-mabi=n32 -DBN_DIV3W"),
bn_ops => "SIXTY_FOUR_BIT RC4_CHAR",
perlasm_scheme => "n32",
shared_ldflag => "-mabi=n32",
},
"linux64-mips64" => {
inherit_from => [ "linux-generic64", asm("mips64_asm") ],
- cflags => "-mabi=64 -O3 -Wall -DBN_DIV3W",
+ cflags => add("-mabi=64 -DBN_DIV3W"),
perlasm_scheme => "64",
shared_ldflag => "-mabi=64",
multilib => "64",
#### IA-32 targets...
"linux-elf" => {
inherit_from => [ "linux-generic32", asm("x86_elf_asm") ],
- cc => "gcc",
- cflags => "-DL_ENDIAN -Wall",
- debug_cflags => "-O0 -g -DBN_DEBUG -DREF_DEBUG -DCONF_DEBUG -DBN_CTX_DEBUG",
- release_cflags => "-O3 -fomit-frame-pointer",
- debug_ex_libs => "-lefence",
+ cflags => add(picker(default => "-DL_ENDIAN",
+ release => "-fomit-frame-pointer")),
+ ex_libs => add(picker(debug => "-lefence")),
bn_ops => "BN_LLONG",
},
"linux-aout" => {
inherit_from => [ "BASE_unix", asm("x86_asm") ],
cc => "gcc",
- cflags => "-DL_ENDIAN -Wall",
- debug_cflags => "-O0 -g",
- release_cflags => "-O3 -fomit-frame-pointer",
- thread_cflag => "(unknown)",
+ cflags => add(picker(default => "-DL_ENDIAN -Wall",
+ debug => "-O0 -g",
+ release => "-O3 -fomit-frame-pointer")),
bn_ops => "BN_LLONG",
+ thread_scheme => "(unknown)",
perlasm_scheme => "a.out",
},
"linux-x86_64" => {
inherit_from => [ "linux-generic64", asm("x86_64_asm") ],
- cflags => "-m64 -DL_ENDIAN -Wall",
+ cflags => add("-m64 -DL_ENDIAN"),
bn_ops => "SIXTY_FOUR_BIT_LONG",
perlasm_scheme => "elf",
shared_ldflag => "-m64",
"linux-x86_64-clang" => {
inherit_from => [ "linux-x86_64" ],
cc => "clang",
- cflags => "-m64 -DL_ENDIAN -Wall -Wextra -Qunused-arguments",
+ cflags => add("-Wextra -Qunused-arguments"),
},
"linux-x32" => {
inherit_from => [ "linux-generic32", asm("x86_64_asm") ],
- cflags => "-mx32 -DL_ENDIAN -Wall",
+ cflags => add("-mx32 -DL_ENDIAN"),
bn_ops => "SIXTY_FOUR_BIT",
perlasm_scheme => "elf",
shared_ldflag => "-mx32",
"linux64-s390x" => {
inherit_from => [ "linux-generic64", asm("s390x_asm") ],
- cflags => "-m64 -Wall -DB_ENDIAN",
+ cflags => add("-m64 -DB_ENDIAN"),
perlasm_scheme => "64",
shared_ldflag => "-m64",
multilib => "64",
# sysdeps/s390/dl-procinfo.c affecting ldconfig and ld.so.1...
#
inherit_from => [ "linux-generic32", asm("s390x_asm") ],
- cflags => "-m31 -Wall -Wa,-mzarch -DB_ENDIAN",
+ cflags => add("-m31 -Wa,-mzarch -DB_ENDIAN"),
bn_obj => sub { my $r=join(" ",@_); $r=~s/bn\-s390x/bn_asm/; $r; },
perlasm_scheme => "31",
shared_ldflag => "-m31",
# patiently assisted with debugging of following two configs.
"linux-sparcv8" => {
inherit_from => [ "linux-generic32", asm("sparcv8_asm") ],
- cflags => "-mcpu=v8 -Wall -DB_ENDIAN -DBN_DIV2W",
+ cflags => add("-mcpu=v8 -DB_ENDIAN -DBN_DIV2W"),
},
"linux-sparcv9" => {
# it's a real mess with -mcpu=ultrasparc option under Linux,
# but -Wa,-Av8plus should do the trick no matter what.
inherit_from => [ "linux-generic32", asm("sparcv9_asm") ],
- cflags => "-m32 -mcpu=ultrasparc -Wall -Wa,-Av8plus -DB_ENDIAN -DBN_DIV2W",
+ cflags => add("-m32 -mcpu=ultrasparc -Wa,-Av8plus -DB_ENDIAN -DBN_DIV2W"),
shared_ldflag => "-m32",
},
"linux64-sparcv9" => {
# GCC 3.1 is a requirement
inherit_from => [ "linux-generic64", asm("sparcv9_asm") ],
- cflags => "-m64 -mcpu=ultrasparc -Wall -DB_ENDIAN",
+ cflags => add("-m64 -mcpu=ultrasparc -DB_ENDIAN"),
bn_ops => "BN_LLONG RC4_CHAR",
shared_ldflag => "-m64",
multilib => "64",
"linux-alpha-gcc" => {
inherit_from => [ "linux-generic64", asm("alpha_asm") ],
- cflags => "-DL_ENDIAN",
+ cflags => add("-DL_ENDIAN"),
bn_ops => "SIXTY_FOUR_BIT_LONG",
},
"linux-c64xplus" => {
inherit_from => [ "BASE_unix" ],
# TI_CGT_C6000_7.3.x is a requirement
cc => "cl6x",
- cflags => "--linux -ea=.s -eo=.o -mv6400+ -o2 -ox -ms -pden -DOPENSSL_SMALL_FOOTPRINT",
- thread_cflag => "-D_REENTRANT",
+ cflags => combine("--linux -ea=.s -eo=.o -mv6400+ -o2 -ox -ms -pden -DOPENSSL_SMALL_FOOTPRINT",
+ threads("-D_REENTRANT")),
bn_ops => "BN_LLONG",
cpuid_asm_src => "c64xpluscpuid.s",
bn_asm_src => "asm/bn-c64xplus.asm c64xplus-gf2m.s",
modes_asm_src => "ghash-c64xplus.s",
chacha_asm_src => "chacha-c64xplus.s",
poly1305_asm_src => "poly1305-c64xplus.s",
+ thread_scheme => "pthreads",
perlasm_scheme => "void",
dso_scheme => "dlfcn",
shared_target => "linux-shared",
# systems are perfectly capable of executing binaries targeting
# Froyo. Keep in mind that in the nutshell Android builds are
# about JNI, i.e. shared libraries, not applications.
- cflags => "-mandroid -fPIC --sysroot=\$(CROSS_SYSROOT) -Wa,--noexecstack -Wall",
- debug_cflags => "-O0 -g",
+ cflags => picker(default => "-mandroid -fPIC --sysroot=\$(CROSS_SYSROOT) -Wa,--noexecstack -Wall",
+ debug => "-O0 -g",
+ release => "-O3"),
lflags => "-pie",
shared_cflag => "",
},
"android-x86" => {
inherit_from => [ "android", asm("x86_asm") ],
- release_cflags => "-O3 -fomit-frame-pointer",
+ cflags => add(picker(release => "-fomit-frame-pointer")),
bn_ops => "BN_LLONG",
perlasm_scheme => "android",
},
"android64" => {
inherit_from => [ "linux-generic64" ],
- cflags => "-mandroid -fPIC --sysroot=\$(CROSS_SYSROOT) -Wa,--noexecstack -Wall",
- debug_cflags => "-O0 -g",
+ cflags => picker(default => "-mandroid -fPIC --sysroot=\$(CROSS_SYSROOT) -Wa,--noexecstack -Wall",
+ debug => "-O0 -g",
+ release => "-O3"),
lflags => "-pie",
shared_cflag => "",
},
#### *BSD
"BSD-generic32" => {
- # As for thread_cflag. Idea is to maintain "collective" set of
+ # As for thread cflag. Idea is to maintain "collective" set of
# flags, which would cover all BSD flavors. -pthread applies
# to them all, but is treated differently. OpenBSD expands is
# as -D_POSIX_THREAD -lc_r, which is sufficient. FreeBSD 4.x
# expands it as -lc_r, which seems to be sufficient?
inherit_from => [ "BASE_unix" ],
cc => "cc",
- cflags => "-Wall",
- debug_cflags => "-O0 -g",
- release_cflags => "-O3",
- thread_cflag => "-pthread -D_THREAD_SAFE -D_REENTRANT",
+ cflags => combine(picker(default => "-Wall",
+ debug => "-O0 -g",
+ release => "-O3"),
+ threads("-pthread -D_THREAD_SAFE -D_REENTRANT")),
bn_ops => "BN_LLONG",
+ thread_scheme => "pthreads",
dso_scheme => "dlfcn",
shared_target => "bsd-gcc-shared",
shared_cflag => "-fPIC",
"BSD-x86" => {
inherit_from => [ "BSD-generic32", asm("x86_asm") ],
- cflags => "-DL_ENDIAN -Wall",
- release_cflags => "-O3 -fomit-frame-pointer",
+ cflags => add(picker(default => "-DL_ENDIAN",
+ release => "-fomit-frame-pointer")),
bn_ops => "BN_LLONG",
shared_target => "bsd-shared",
perlasm_scheme => "a.out",
"BSD-sparcv8" => {
inherit_from => [ "BSD-generic32", asm("sparcv8_asm") ],
- cflags => "-mcpu=v8 -Wall -DB_ENDIAN",
+ cflags => add("-mcpu=v8 -DB_ENDIAN"),
},
"BSD-sparc64" => {
# -DMD32_REG_T=int doesn't actually belong in sparc64 target, it
# simply *happens* to work around a compiler bug in gcc 3.3.3,
# triggered by RIPEMD160 code.
inherit_from => [ "BSD-generic64", asm("sparcv9_asm") ],
- cflags => "-DB_ENDIAN -DMD32_REG_T=int -Wall",
+ cflags => add("-DB_ENDIAN -DMD32_REG_T=int"),
bn_ops => "BN_LLONG",
},
"BSD-ia64" => {
inherit_from => [ "BSD-generic64", asm("ia64_asm") ],
- cflags => "-DL_ENDIAN -Wall",
+ cflags => add_before("-DL_ENDIAN"),
bn_ops => "SIXTY_FOUR_BIT_LONG",
},
"BSD-x86_64" => {
inherit_from => [ "BSD-generic64", asm("x86_64_asm") ],
- cflags => "-DL_ENDIAN -Wall",
+ cflags => add_before("-DL_ENDIAN"),
bn_ops => "SIXTY_FOUR_BIT_LONG",
perlasm_scheme => "elf",
},
inherit_from => [ "BASE_unix", asm("x86_elf_asm") ],
cc => "gcc",
cflags => "-DPERL5 -DL_ENDIAN -fomit-frame-pointer -O3 -Wall",
- thread_cflag => "(unknown)",
ex_libs => add("-ldl"),
bn_ops => "BN_LLONG",
+ thread_scheme => "(unknown)",
dso_scheme => "dlfcn",
shared_target => "bsd-gcc-shared",
shared_cflag => "-fPIC",
cc => "cc",
cflags => "-O -Wall",
unistd => "<libc.h>",
- thread_cflag => "(unknown)",
bn_ops => "BN_LLONG",
+ thread_scheme => "(unknown)",
},
"nextstep3.3" => {
inherit_from => [ "BASE_unix" ],
cc => "cc",
cflags => "-O3 -Wall",
unistd => "<libc.h>",
- thread_cflag => "(unknown)",
bn_ops => "BN_LLONG",
+ thread_scheme => "(unknown)",
},
# QNX
inherit_from => [ "BASE_unix" ],
cc => "cc",
cflags => "-DL_ENDIAN -DTERMIO",
- thread_cflag => "(unknown)",
+ thread_scheme => "(unknown)",
},
"QNX6" => {
inherit_from => [ "BASE_unix" ],
"unixware-2.0" => {
inherit_from => [ "BASE_unix" ],
cc => "cc",
- cflags => "-DFILIO_H -DNO_STRINGS_H",
- thread_cflag => "-Kthread",
+ cflags => combine("-DFILIO_H -DNO_STRINGS_H",
+ threads("-Kthread")),
ex_libs => add("-lsocket -lnsl -lresolv -lx"),
+ thread_scheme => "uithreads",
},
"unixware-2.1" => {
inherit_from => [ "BASE_unix" ],
cc => "cc",
- cflags => "-O -DFILIO_H",
- thread_cflag => "-Kthread",
+ cflags => combine("-O -DFILIO_H",
+ threads("-Kthread")),
ex_libs => add("-lsocket -lnsl -lresolv -lx"),
+ thread_scheme => "uithreads",
},
"unixware-7" => {
inherit_from => [ "BASE_unix", asm("x86_elf_asm") ],
cc => "cc",
- cflags => "-O -DFILIO_H -Kalloca",
- thread_cflag => "-Kthread",
+ cflags => combine("-O -DFILIO_H -Kalloca",
+ threads("-Kthread")),
ex_libs => add("-lsocket -lnsl"),
+ thread_scheme => "uithreads",
bn_ops => "BN_LLONG",
perlasm_scheme => "elf-1",
dso_scheme => "dlfcn",
"unixware-7-gcc" => {
inherit_from => [ "BASE_unix", asm("x86_elf_asm") ],
cc => "gcc",
- cflags => "-DL_ENDIAN -DFILIO_H -O3 -fomit-frame-pointer -Wall",
- thread_cflag => "-D_REENTRANT",
+ cflags => combine("-DL_ENDIAN -DFILIO_H -O3 -fomit-frame-pointer -Wall",
+ threads("-D_REENTRANT")),
ex_libs => add("-lsocket -lnsl"),
bn_ops => "BN_LLONG",
+ thread_scheme => "pthreads",
perlasm_scheme => "elf-1",
dso_scheme => "dlfcn",
shared_target => "gnu-shared",
inherit_from => [ "BASE_unix", asm("x86_elf_asm") ],
cc => "cc",
cflags => "-belf",
- thread_cflag => "(unknown)",
ex_libs => add("-lsocket -lnsl"),
+ thread_scheme => "(unknown)",
perlasm_scheme => "elf-1",
dso_scheme => "dlfcn",
shared_target => "svr3-shared",
inherit_from => [ "BASE_unix", asm("x86_elf_asm") ],
cc => "gcc",
cflags => "-O3 -fomit-frame-pointer",
- thread_cflag => "(unknown)",
ex_libs => add("-lsocket -lnsl"),
bn_ops => "BN_LLONG",
+ thread_scheme => "(unknown)",
perlasm_scheme => "elf-1",
dso_scheme => "dlfcn",
shared_target => "svr3-shared",
"aix-gcc" => {
inherit_from => [ "BASE_unix", asm("ppc32_asm") ],
cc => "gcc",
- cflags => "-DB_ENDIAN",
- debug_cflags => "-O0 -g",
- release_cflags => "-O",
- thread_cflag => "-pthread",
+ cflags => combine(picker(default => "-DB_ENDIAN",
+ debug => "-O0 -g",
+ release => "-O"),
+ threads("-pthread")),
sys_id => "AIX",
bn_ops => "BN_LLONG RC4_CHAR",
+ thread_scheme => "pthreads",
perlasm_scheme => "aix32",
dso_scheme => "dlfcn",
shared_target => "aix-shared",
"aix64-gcc" => {
inherit_from => [ "BASE_unix", asm("ppc64_asm") ],
cc => "gcc",
- cflags => "-maix64 -DB_ENDIAN",
- debug_cflags => "-O0 -g",
- release_cflags => "-O",
- thread_cflag => "-pthread",
+ cflags => combine(picker(default => "-maix64 -DB_ENDIAN",
+ debug => "-O0 -g",
+ release => "-O"),
+ threads("-pthread")),
sys_id => "AIX",
bn_ops => "SIXTY_FOUR_BIT_LONG RC4_CHAR",
+ thread_scheme => "pthreads",
perlasm_scheme => "aix64",
dso_scheme => "dlfcn",
shared_target => "aix-shared",
"aix-cc" => {
inherit_from => [ "BASE_unix", asm("ppc32_asm") ],
cc => "cc",
- cflags => "-q32 -DB_ENDIAN -qmaxmem=16384 -qro -qroconst",
- debug_cflags => "",
- release_cflags => "-O",
- thread_cflag => "-qthreaded -D_THREAD_SAFE",
+ cflags => combine(picker(default => "-q32 -DB_ENDIAN -qmaxmem=16384 -qro -qroconst",
+ debug => "-O0 -g",
+ release => "-O"),
+ threads("-qthreaded -D_THREAD_SAFE")),
sys_id => "AIX",
bn_ops => "BN_LLONG RC4_CHAR",
+ thread_scheme => "pthreads",
perlasm_scheme => "aix32",
dso_scheme => "dlfcn",
shared_target => "aix-shared",
"aix64-cc" => {
inherit_from => [ "BASE_unix", asm("ppc64_asm") ],
cc => "cc",
- cflags => "-q64 -DB_ENDIAN -qmaxmem=16384 -qro -qroconst",
- debug_cflags => "",
- release_cflags => "-O",
- thread_cflag => "-qthreaded -D_THREAD_SAFE",
+ cflags => combine(picker(default => "-q64 -DB_ENDIAN -qmaxmem=16384 -qro -qroconst",
+ debug => "-O0 -g",
+ release => "-O"),
+ threads("-qthreaded -D_THREAD_SAFE")),
sys_id => "AIX",
bn_ops => "SIXTY_FOUR_BIT_LONG RC4_CHAR",
+ thread_scheme => "pthreads",
perlasm_scheme => "aix64",
dso_scheme => "dlfcn",
shared_target => "aix-shared",
inherit_from => [ "BASE_unix" ],
cc => "c89",
cflags => "-O -XLLML -XLLMK -XL -DB_ENDIAN -DCHARSET_EBCDIC",
- thread_cflag => "(unknown)",
ex_libs => add("-lsocket -lnsl"),
bn_ops => "THIRTY_TWO_BIT RC4_CHAR",
+ thread_scheme => "(unknown)",
},
# OS/390 Unix an EBCDIC-based Unix system on IBM mainframe
inherit_from => [ "BASE_unix" ],
cc => "c89.sh",
cflags => "-O -DB_ENDIAN -DCHARSET_EBCDIC -DNO_SYS_PARAM_H -D_ALL_SOURCE",
- thread_cflag => "(unknown)",
bn_ops => "THIRTY_TWO_BIT RC4_CHAR",
+ thread_scheme => "(unknown)",
},
#### Visual C targets
inherit_from => [ "BASE_unix", asm("x86_asm"),
sub { $disabled{shared} ? () : "x86_uplink" } ],
cc => "gcc",
- cflags => "-DL_ENDIAN -DWIN32_LEAN_AND_MEAN -DUNICODE -D_UNICODE -m32 -Wall",
- debug_cflags => "-g -O0",
- release_cflags => "-O3 -fomit-frame-pointer",
- thread_cflag => "-D_MT",
+ cflags => combine(picker(default => "-DL_ENDIAN -DWIN32_LEAN_AND_MEAN -DUNICODE -D_UNICODE -m32 -Wall",
+ debug => "-g -O0",
+ release => "-O3 -fomit-frame-pointer"),
+ threads("-D_MT")),
sys_id => "MINGW32",
ex_libs => add("-lws2_32 -lgdi32 -lcrypt32"),
bn_ops => "BN_LLONG EXPORT_VAR_AS_FN",
+ thread_scheme => "winthreads",
perlasm_scheme => "coff",
dso_scheme => "win32",
shared_target => "mingw-shared",
# Applink is never engaged and can as well be omitted.
inherit_from => [ "BASE_unix", asm("x86_64_asm") ],
cc => "gcc",
- cflags => "-DL_ENDIAN -DWIN32_LEAN_AND_MEAN -DUNICODE -D_UNICODE -m64 -Wall",
- debug_cflags => "-g -O0",
- release_cflags => "-O3",
- thread_cflag => "-D_MT",
+ cflags => combine(picker(default => "-DL_ENDIAN -DWIN32_LEAN_AND_MEAN -DUNICODE -D_UNICODE -m64 -Wall",
+ debug => "-g -O0",
+ release => "-O3"),
+ threads("-D_MT")),
sys_id => "MINGW64",
ex_libs => add("-lws2_32 -lgdi32 -lcrypt32"),
bn_ops => "SIXTY_FOUR_BIT EXPORT_VAR_AS_FN",
+ thread_scheme => "winthreads",
perlasm_scheme => "mingw64",
dso_scheme => "win32",
shared_target => "mingw-shared",
"Cygwin-x86" => {
inherit_from => [ "BASE_unix", asm("x86_asm") ],
cc => "gcc",
- cflags => "-DTERMIOS -DL_ENDIAN -Wall",
- debug_cflags => "-g -O0",
- release_cflags => "-O3 -fomit-frame-pointer",
+ cflags => picker(default => "-DTERMIOS -DL_ENDIAN -Wall",
+ debug => "-g -O0",
+ release => "-O3 -fomit-frame-pointer"),
sys_id => "CYGWIN",
bn_ops => "BN_LLONG",
perlasm_scheme => "coff",
"Cygwin-x86_64" => {
inherit_from => [ "BASE_unix", asm("x86_64_asm") ],
cc => "gcc",
- cflags => "-DTERMIOS -DL_ENDIAN -Wall",
- debug_cflags => "-g -O0",
- release_cflags => "-O3",
+ cflags => picker(default => "-DTERMIOS -DL_ENDIAN -Wall",
+ debug => "-g -O0",
+ release => "-O3"),
sys_id => "CYGWIN",
bn_ops => "SIXTY_FOUR_BIT_LONG",
perlasm_scheme => "mingw64",
inherit_from => [ "BASE_unix" ],
cc => "cc",
cflags => "-std1 -O -Olimit 2500 -DL_ENDIAN",
- thread_cflag => "(unknown)",
+ thread_scheme => "(unknown)",
},
"ultrix-gcc" => {
inherit_from => [ "BASE_unix" ],
cc => "gcc",
cflags => "-O3 -DL_ENDIAN",
- thread_cflag => "(unknown)",
bn_ops => "BN_LLONG",
+ thread_scheme => "(unknown)",
},
# K&R C is no longer supported; you need gcc on old Ultrix installations
##"ultrix","cc:-O2 -DNOPROTO -DNOCONST -DL_ENDIAN::(unknown):::::::",
inherit_from => [ "BASE_unix" ],
template => 1,
cc => "cc",
- cflags => "",
- debug_cflags => "-g -O0",
- release_cflags => "-O3",
- thread_cflag => "-D_REENTRANT",
+ cflags => combine(picker(default => "",
+ debug => "-g -O0",
+ release => "-O3"),
+ threads("-D_REENTRANT")),
sys_id => "MACOSX",
plib_lflags => "-Wl,-search_paths_first",
bn_ops => "BN_LLONG RC4_CHAR",
+ thread_scheme => "pthreads",
perlasm_scheme => "osx32",
dso_scheme => "dlfcn",
+ ranlib => "ranlib -c",
shared_target => "darwin-shared",
- shared_cflag => "-fPIC -fno-common",
+ shared_cflag => "-fPIC",
shared_ldflag => "-dynamiclib",
shared_extension => ".\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
},
"darwin-ppc-cc" => {
inherit_from => [ "darwin-common", asm("ppc32_asm") ],
- cflags => "-arch ppc -DB_ENDIAN -Wa,-force_cpusubtype_ALL",
+ cflags => add("-arch ppc -DB_ENDIAN -Wa,-force_cpusubtype_ALL"),
perlasm_scheme => "osx32",
shared_ldflag => "-arch ppc -dynamiclib",
},
"darwin64-ppc-cc" => {
inherit_from => [ "darwin-common", asm("ppc64_asm") ],
- cflags => "-arch ppc64 -DB_ENDIAN",
+ cflags => add("-arch ppc64 -DB_ENDIAN"),
bn_ops => "SIXTY_FOUR_BIT_LONG RC4_CHAR",
perlasm_scheme => "osx64",
shared_ldflag => "-arch ppc64 -dynamiclib",
},
"darwin-i386-cc" => {
inherit_from => [ "darwin-common", asm("x86_asm") ],
- cflags => "-arch i386 -DL_ENDIAN",
- release_cflags => "-O3 -fomit-frame-pointer",
+ cflags => add(picker(default => "-arch i386 -DL_ENDIAN",
+ release => "-fomit-frame-pointer")),
bn_ops => "BN_LLONG RC4_INT",
perlasm_scheme => "macosx",
shared_ldflag => "-arch i386 -dynamiclib",
},
"darwin64-x86_64-cc" => {
inherit_from => [ "darwin-common", asm("x86_64_asm") ],
- cflags => "-arch x86_64 -DL_ENDIAN -Wall",
+ cflags => add("-arch x86_64 -DL_ENDIAN -Wall"),
bn_ops => "SIXTY_FOUR_BIT_LONG",
perlasm_scheme => "macosx",
shared_ldflag => "-arch x86_64 -dynamiclib",
#
"iphoneos-cross" => {
inherit_from => [ "darwin-common" ],
- cflags => "-isysroot \$(CROSS_TOP)/SDKs/\$(CROSS_SDK) -fno-common",
+ cflags => add("-isysroot \$(CROSS_TOP)/SDKs/\$(CROSS_SDK) -fno-common"),
sys_id => "iOS",
},
"ios-cross" => {
# It should be possible to go below iOS 6 and even add -arch armv6,
# thus targeting iPhone pre-3GS, but it's assumed to be irrelevant
# at this point.
- cflags => "-arch armv7 -mios-version-min=6.0.0 -isysroot \$(CROSS_TOP)/SDKs/\$(CROSS_SDK) -fno-common",
+ cflags => add("-arch armv7 -mios-version-min=6.0.0 -isysroot \$(CROSS_TOP)/SDKs/\$(CROSS_SDK) -fno-common"),
sys_id => "iOS",
perlasm_scheme => "ios32",
},
"ios64-cross" => {
inherit_from => [ "darwin-common", asm("aarch64_asm") ],
- cflags => "-arch arm64 -mios-version-min=7.0.0 -isysroot \$(CROSS_TOP)/SDKs/\$(CROSS_SDK) -fno-common",
+ cflags => add("-arch arm64 -mios-version-min=7.0.0 -isysroot \$(CROSS_TOP)/SDKs/\$(CROSS_SDK) -fno-common"),
sys_id => "iOS",
bn_ops => "SIXTY_FOUR_BIT_LONG RC4_CHAR",
perlasm_scheme => "ios64",
inherit_from => [ "BASE_unix" ],
inherit_from => [ asm("x86_elf_asm") ],
cc => "gcc",
- cflags => "-DL_ENDIAN -O3 -fomit-frame-pointer -Wall",
- thread_cflag => "-pthread",
+ cflags => combine("-DL_ENDIAN -O3 -fomit-frame-pointer -Wall",
+ threads("-pthread")),
ex_libs => add("-ldl"),
bn_ops => "BN_LLONG",
+ thread_scheme => "pthreads",
dso_scheme => "dlfcn",
shared_target => "linux-shared",
shared_cflag => "-fPIC",
"vxworks-mips" => {
inherit_from => [ "BASE_unix", asm("mips32_asm") ],
cc => "ccmips",
- cflags => "-mrtp -mips2 -O -G 0 -B\$(WIND_BASE)/host/\$(WIND_HOST_TYPE)/lib/gcc-lib/ -D_VSB_CONFIG_FILE=\"\$(WIND_BASE)/target/lib/h/config/vsbConfig.h\" -DCPU=MIPS32 -msoft-float -mno-branch-likely -DTOOL_FAMILY=gnu -DTOOL=gnu -fno-builtin -fno-defer-pop -DNO_STRINGS_H -I\$(WIND_BASE)/target/usr/h -I\$(WIND_BASE)/target/h/wrn/coreip",
- thread_cflag => "-D_REENTRANT",
+ cflags => combine("-mrtp -mips2 -O -G 0 -B\$(WIND_BASE)/host/\$(WIND_HOST_TYPE)/lib/gcc-lib/ -D_VSB_CONFIG_FILE=\"\$(WIND_BASE)/target/lib/h/config/vsbConfig.h\" -DCPU=MIPS32 -msoft-float -mno-branch-likely -DTOOL_FAMILY=gnu -DTOOL=gnu -fno-builtin -fno-defer-pop -DNO_STRINGS_H -I\$(WIND_BASE)/target/usr/h -I\$(WIND_BASE)/target/h/wrn/coreip",
+ threads("-D_REENTRANT")),
sys_id => "VXWORKS",
ex_libs => add("-Wl,--defsym,__wrs_rtp_base=0xe0000000 -L \$(WIND_BASE)/target/usr/lib/mips/MIPSI32/sfcommon"),
+ thread_scheme => "pthreads",
perlasm_scheme => "o32",
ranlib => "ranlibmips",
},
"uClinux-dist" => {
inherit_from => [ "BASE_unix" ],
cc => "$ENV{'CC'}",
- cflags => "\$(CFLAGS)",
- thread_cflag => "-D_REENTRANT",
+ cflags => combine("\$(CFLAGS)",
+ threads("-D_REENTRANT")),
plib_lflags => "\$(LDFLAGS)",
ex_libs => add("\$(LDLIBS)"),
bn_ops => "BN_LLONG",
+ thread_scheme => "pthreads",
dso_scheme => "$ENV{'LIBSSL_dlfcn'}",
shared_target => "linux-shared",
shared_cflag => "-fPIC",
"uClinux-dist64" => {
inherit_from => [ "BASE_unix" ],
cc => "$ENV{'CC'}",
- cflags => "\$(CFLAGS)",
- thread_cflag => "-D_REENTRANT",
+ cflags => combine("\$(CFLAGS)",
+ threads("-D_REENTRANT")),
plib_lflags => "\$(LDFLAGS)",
ex_libs => add("\$(LDLIBS)"),
bn_ops => "SIXTY_FOUR_BIT_LONG",
+ thread_scheme => "pthreads",
dso_scheme => "$ENV{'LIBSSL_dlfcn'}",
shared_target => "linux-shared",
shared_cflag => "-fPIC",
inherit_from => [ "BASE_VMS" ],
template => 1,
cc => "CC/DECC",
- cflags => "/STANDARD=RELAXED/NOLIST/PREFIX=ALL/NAMES=(AS_IS,SHORTENED)",
- debug_cflags => "/NOOPTIMIZE/DEBUG",
- release_cflags => "/OPTIMIZE/NODEBUG",
- lflags => "/MAP",
- debug_lflags => "/DEBUG/TRACEBACK",
- release_lflags => "/NODEBUG/NOTRACEBACK",
+ cflags => picker(default => "/STANDARD=RELAXED/NOLIST/PREFIX=ALL/NAMES=(AS_IS,SHORTENED)",
+ debug => "/NOOPTIMIZE/DEBUG",
+ release => "/OPTIMIZE/NODEBUG"),
+ lflags => picker(default => "/MAP",
+ debug => "/DEBUG/TRACEBACK",
+ release => "/NODEBUG/NOTRACEBACK"),
shared_target => "vms-shared",
+ thread_scheme => "pthreads",
apps_aux_src => "vms_decc_init.c",
},