diff options
author | Richard Levitte <levitte@openssl.org> | 2016-02-27 16:51:34 +0100 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2016-03-02 19:15:42 +0100 |
commit | 9c62a279fecc4ccb95ea55e1ba36470f3eab8775 (patch) | |
tree | 975d816aa5b7c458be426506004b5198a7426164 /Configurations/10-main.conf | |
parent | 8864f0de7b491b4c7f724f58200d843700c82e98 (diff) | |
download | openssl-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.conf | 336 |
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", }, |