aboutsummaryrefslogtreecommitdiffstats
path: root/Configurations/10-main.conf
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2016-02-27 16:51:34 +0100
committerRichard Levitte <levitte@openssl.org>2016-03-02 19:15:42 +0100
commit9c62a279fecc4ccb95ea55e1ba36470f3eab8775 (patch)
tree975d816aa5b7c458be426506004b5198a7426164 /Configurations/10-main.conf
parent8864f0de7b491b4c7f724f58200d843700c82e98 (diff)
downloadopenssl-9c62a279fecc4ccb95ea55e1ba36470f3eab8775.tar.gz
Configure - Get rid of the special thread_cflag, replace with thread_scheme
The thread_cflag setting filled a double role, as kinda sorta an indicator of thread scheme, and as cflags. Some configs also added lflags and ex_libs for multithreading regardless of if threading would be enabled or not. Instead of this, add threading cflags among in the cflag setting, threading lflags in the lflag setting and so on if and only if threads are enabled (which they are by default). Also, for configs where there are no special cflags for threading (the VMS configs are of that kind), this makes it possible to still clearly mention what thread scheme is used. The exact value of thread scheme is currently ignored except when it's "(unknown)", and thereby only serves as a flag to tell if we know how to build for multi-threading in a particular config. Yet, the currently used values are "(unknown)", "pthreads", "uithreads" (a.k.a solaris threads) and "winthreads". Reviewed-by: Andy Polyakov <appro@openssl.org>
Diffstat (limited to 'Configurations/10-main.conf')
-rw-r--r--Configurations/10-main.conf336
1 files changed, 190 insertions, 146 deletions
diff --git a/Configurations/10-main.conf b/Configurations/10-main.conf
index 121815ff81..6fade9811c 100644
--- a/Configurations/10-main.conf
+++ b/Configurations/10-main.conf
@@ -7,6 +7,16 @@ sub picker {
$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
@@ -14,13 +24,13 @@ sub picker {
cc => "gcc",
cflags => picker(debug => "-O0 -g",
release => "-O3"),
- thread_cflag => "(unknown)",
+ thread_scheme => "(unknown)",
bn_ops => "BN_LLONG",
},
"cc" => {
cc => "cc",
cflags => "-O",
- thread_cflag => "(unknown)",
+ thread_scheme => "(unknown)",
},
#### VOS Configurations
@@ -30,7 +40,7 @@ sub picker {
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_cflag => "(unknown)",
+ thread_scheme => "(unknown)",
sys_id => "VOS",
lflags => "-Wl,-map",
bn_ops => "BN_LLONG",
@@ -44,6 +54,7 @@ sub picker {
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)",
},
@@ -58,8 +69,8 @@ sub picker {
cc => "gcc",
cflags => add_before(picker(default => "-Wall -DL_ENDIAN -DOPENSSL_NO_INLINE_ASM",
debug => "-O0 -g",
- release => "-O3 -fomit-frame-pointer")),
- thread_cflag => "-pthread",
+ release => "-O3 -fomit-frame-pointer"),
+ threads("-pthread")),
bn_ops => "BN_LLONG",
shared_cflag => "-fPIC",
shared_ldflag => "-shared",
@@ -77,8 +88,8 @@ sub picker {
cc => "gcc",
cflags => add_before(picker(default => "-m64 -Wall -DL_ENDIAN",
debug => "-O0 -g",
- release => "-O3")),
- thread_cflag => "-pthread",
+ release => "-O3"),
+ threads("-pthread")),
bn_ops => "SIXTY_FOUR_BIT_LONG",
perlasm_scheme => "elf",
shared_cflag => "-fPIC",
@@ -92,10 +103,10 @@ sub picker {
cc => "cc",
cflags => add_before(picker(default => "-xarch=generic -xstrconst -Xa -DL_ENDIAN",
debug => "-g",
- release => "-xO5 -xregs=frameptr -xdepend -xbuiltin")),
- thread_cflag => "-D_REENTRANT",
- lflags => add("-mt"),
- ex_libs => add("-lpthread"),
+ 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",
@@ -105,10 +116,11 @@ sub picker {
cc => "cc",
cflags => add_before(picker(default => "-xarch=generic64 -xstrconst -Xa -DL_ENDIAN",
debug => "-g",
- release => "-xO5 -xdepend -xbuiltin")),
- thread_cflag => "-D_REENTRANT",
- lflags => add("-mt"),
- ex_libs => add("-lpthread"),
+ 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",
@@ -122,8 +134,8 @@ sub picker {
cc => "gcc",
cflags => add_before(picker(default => "-Wall -DB_ENDIAN -DBN_DIV2W",
debug => "-O0 -g",
- release => "-O3")),
- thread_cflag => "-pthread",
+ release => "-O3"),
+ threads("-pthread")),
bn_ops => "BN_LLONG RC4_CHAR",
shared_cflag => "-fPIC",
shared_ldflag => "-shared",
@@ -156,10 +168,10 @@ sub picker {
cc => "cc",
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")),
- thread_cflag => "-D_REENTRANT",
- lflags => add("-mt"),
- ex_libs => add("-lpthread"),
+ 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",
@@ -189,8 +201,8 @@ sub picker {
cflags => picker(default => "-DB_ENDIAN",
debug => "-g -O0",
release => "-O3"),
- thread_cflag => "(unknown)",
bn_ops => "BN_LLONG RC4_CHAR",
+ thread_scheme => "(unknown)",
perlasm_scheme => "o32",
dso_scheme => "dlfcn",
shared_target => "irix-shared",
@@ -202,8 +214,8 @@ sub picker {
cflags => picker(default => "-use_readonly_const -DB_ENDIAN",
debug => "-g -O0",
release => "-O2"),
- thread_cflag => "(unknown)",
bn_ops => "BN_LLONG RC4_CHAR",
+ thread_scheme => "(unknown)",
perlasm_scheme => "o32",
dso_scheme => "dlfcn",
shared_target => "irix-shared",
@@ -215,11 +227,12 @@ sub picker {
"irix-mips3-gcc" => {
inherit_from => [ "BASE_unix", asm("mips64_asm") ],
cc => "gcc",
- cflags => picker(default => "-mabi=n32 -DB_ENDIAN -DBN_DIV3W",
- debug => "-g -O0",
- release => "-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",
@@ -230,12 +243,13 @@ sub picker {
"irix-mips3-cc" => {
inherit_from => [ "BASE_unix", asm("mips64_asm") ],
cc => "cc",
- cflags => picker(default => "-n32 -mips3 -use_readonly_const -G0 -rdata_shared -DB_ENDIAN -DBN_DIV3W",
- debug => "-g -O0",
- release => "-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",
@@ -247,11 +261,12 @@ sub picker {
"irix64-mips4-gcc" => {
inherit_from => [ "BASE_unix", asm("mips64_asm") ],
cc => "gcc",
- cflags => picker(default => "-mabi=64 -mips4 -DB_ENDIAN -DBN_DIV3W",
- debug => "-g -O0",
- release => "-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",
@@ -262,12 +277,13 @@ sub picker {
"irix64-mips4-cc" => {
inherit_from => [ "BASE_unix", asm("mips64_asm") ],
cc => "cc",
- cflags => picker(default => "-64 -mips4 -use_readonly_const -G0 -rdata_shared -DB_ENDIAN -DBN_DIV3W",
- debug => "-g -O0",
- release => "-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",
@@ -307,12 +323,13 @@ sub picker {
"hpux-parisc-gcc" => {
inherit_from => [ "BASE_unix" ],
cc => "gcc",
- cflags => picker(default => "-DB_ENDIAN -DBN_DIV2W",
- debug => "-O0 -g",
- release => "-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",
@@ -326,12 +343,13 @@ sub picker {
"hpux64-parisc2-gcc" => {
inherit_from => [ "BASE_unix", asm("parisc20_64_asm") ],
cc => "gcc",
- cflags => picker(default => "-DB_ENDIAN",
- debug => "-O0 -g",
- release => "-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",
@@ -347,12 +365,13 @@ sub picker {
"hpux-parisc-cc" => {
inherit_from => [ "BASE_unix" ],
cc => "cc",
- cflags => picker(default => "+Optrs_strongly_typed -Ae +ESlit -DB_ENDIAN -DBN_DIV2W -DMD32_XARRAY",
- debug => "+O0 +d -g",
- release => "+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",
@@ -367,12 +386,13 @@ sub picker {
"hpux64-parisc2-cc" => {
inherit_from => [ "BASE_unix", asm("parisc20_64_asm") ],
cc => "cc",
- cflags => picker(default => "+DD64 +Optrs_strongly_typed -Ae +ESlit -DB_ENDIAN -DMD32_XARRAY",
- debug => "+O0 +d -g",
- release => "+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",
@@ -385,12 +405,13 @@ sub picker {
"hpux-ia64-cc" => {
inherit_from => [ "BASE_unix", asm("ia64_asm") ],
cc => "cc",
- cflags => picker(default => "-Ae +DD32 +Olit=all -z -DB_ENDIAN",
- debug => "+O0 +d -g",
- release => "+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",
@@ -403,12 +424,13 @@ sub picker {
"hpux64-ia64-cc" => {
inherit_from => [ "BASE_unix", asm("ia64_asm") ],
cc => "cc",
- cflags => picker(default => "-Ae +DD64 +Olit=all -z -DB_ENDIAN",
- debug => "+O0 +d -g",
- release => "+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",
@@ -420,12 +442,13 @@ sub picker {
"hpux-ia64-gcc" => {
inherit_from => [ "BASE_unix", asm("ia64_asm") ],
cc => "gcc",
- cflags => picker(default => "-DB_ENDIAN",
- debug => "-O0 -g",
- release => "-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",
@@ -438,10 +461,11 @@ sub picker {
cc => "gcc",
cflags => picker(default => "-mlp64 -DB_ENDIAN",
debug => "-O0 -g",
- release => "-O3"),
- thread_cflag => "-pthread",
+ 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",
@@ -455,9 +479,9 @@ sub picker {
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",
},
@@ -466,8 +490,8 @@ sub picker {
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",
@@ -476,8 +500,8 @@ sub picker {
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",
@@ -485,9 +509,10 @@ sub picker {
"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",
@@ -502,12 +527,13 @@ sub picker {
"linux-generic32" => {
inherit_from => [ "BASE_unix" ],
cc => "gcc",
- cflags => picker(default => "-Wall",
- debug => "-O0 -g -DBN_DEBUG -DREF_DEBUG -DCONF_DEBUG",
- release => "-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",
@@ -623,8 +649,8 @@ sub picker {
cflags => add(picker(default => "-DL_ENDIAN -Wall",
debug => "-O0 -g",
release => "-O3 -fomit-frame-pointer")),
- thread_cflag => "(unknown)",
bn_ops => "BN_LLONG",
+ thread_scheme => "(unknown)",
perlasm_scheme => "a.out",
},
@@ -719,8 +745,8 @@ sub picker {
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",
@@ -730,6 +756,7 @@ sub picker {
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",
@@ -821,7 +848,7 @@ sub picker {
#### *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
@@ -830,11 +857,12 @@ sub picker {
# expands it as -lc_r, which seems to be sufficient?
inherit_from => [ "BASE_unix" ],
cc => "cc",
- cflags => picker(default => "-Wall",
- debug => "-O0 -g",
- release => "-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",
@@ -888,9 +916,9 @@ sub picker {
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",
@@ -902,16 +930,16 @@ sub picker {
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
@@ -919,7 +947,7 @@ sub picker {
inherit_from => [ "BASE_unix" ],
cc => "cc",
cflags => "-DL_ENDIAN -DTERMIO",
- thread_cflag => "(unknown)",
+ thread_scheme => "(unknown)",
},
"QNX6" => {
inherit_from => [ "BASE_unix" ],
@@ -956,23 +984,26 @@ sub picker {
"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",
@@ -983,10 +1014,11 @@ sub picker {
"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",
@@ -998,8 +1030,8 @@ sub picker {
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",
@@ -1010,9 +1042,9 @@ sub picker {
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",
@@ -1024,12 +1056,13 @@ sub picker {
"aix-gcc" => {
inherit_from => [ "BASE_unix", asm("ppc32_asm") ],
cc => "gcc",
- cflags => picker(default => "-DB_ENDIAN",
- debug => "-O0 -g",
- release => "-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",
@@ -1040,12 +1073,13 @@ sub picker {
"aix64-gcc" => {
inherit_from => [ "BASE_unix", asm("ppc64_asm") ],
cc => "gcc",
- cflags => picker(default => "-maix64 -DB_ENDIAN",
- debug => "-O0 -g",
- release => "-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",
@@ -1059,12 +1093,13 @@ sub picker {
"aix-cc" => {
inherit_from => [ "BASE_unix", asm("ppc32_asm") ],
cc => "cc",
- cflags => picker(default => "-q32 -DB_ENDIAN -qmaxmem=16384 -qro -qroconst",
- debug => "-O0 -g",
- release => "-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",
@@ -1075,12 +1110,13 @@ sub picker {
"aix64-cc" => {
inherit_from => [ "BASE_unix", asm("ppc64_asm") ],
cc => "cc",
- cflags => picker(default => "-q64 -DB_ENDIAN -qmaxmem=16384 -qro -qroconst",
- debug => "-O0 -g",
- release => "-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",
@@ -1094,9 +1130,9 @@ sub picker {
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
@@ -1107,8 +1143,8 @@ sub picker {
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
@@ -1179,13 +1215,14 @@ sub picker {
inherit_from => [ "BASE_unix", asm("x86_asm"),
sub { $disabled{shared} ? () : "x86_uplink" } ],
cc => "gcc",
- cflags => picker(default => "-DL_ENDIAN -DWIN32_LEAN_AND_MEAN -DUNICODE -D_UNICODE -m32 -Wall",
- debug => "-g -O0",
- release => "-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",
@@ -1206,13 +1243,14 @@ sub picker {
# Applink is never engaged and can as well be omitted.
inherit_from => [ "BASE_unix", asm("x86_64_asm") ],
cc => "gcc",
- cflags => picker(default => "-DL_ENDIAN -DWIN32_LEAN_AND_MEAN -DUNICODE -D_UNICODE -m64 -Wall",
- debug => "-g -O0",
- release => "-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",
@@ -1357,14 +1395,14 @@ sub picker {
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):::::::",
@@ -1374,13 +1412,14 @@ sub picker {
inherit_from => [ "BASE_unix" ],
template => 1,
cc => "cc",
- cflags => picker(default => "",
- debug => "-g -O0",
- release => "-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",
shared_target => "darwin-shared",
@@ -1459,10 +1498,11 @@ sub picker {
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",
@@ -1528,10 +1568,11 @@ sub picker {
"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",
},
@@ -1540,11 +1581,12 @@ sub picker {
"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",
@@ -1555,11 +1597,12 @@ sub picker {
"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",
@@ -1580,6 +1623,7 @@ sub picker {
debug => "/DEBUG/TRACEBACK",
release => "/NODEBUG/NOTRACEBACK"),
shared_target => "vms-shared",
+ thread_scheme => "pthreads",
apps_aux_src => "vms_decc_init.c",
},