mirror of
https://github.com/openssl/openssl.git
synced 2024-11-27 05:21:51 +08:00
9c62a279fe
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>
137 lines
6.0 KiB
Perl
137 lines
6.0 KiB
Perl
## -*- mode: perl; -*-
|
|
## Build configuration targets for openssl-team members
|
|
|
|
sub threads {
|
|
my @flags = @_;
|
|
return sub { add($disabled{threads} ? () : @flags)->(); }
|
|
}
|
|
|
|
sub combine {
|
|
my @stuff = @_;
|
|
return sub { add(@stuff)->(); }
|
|
}
|
|
|
|
%targets = (
|
|
"purify" => {
|
|
cc => "purify gcc",
|
|
cflags => "-g -Wall",
|
|
thread_scheme => "(unknown)",
|
|
ex_libs => add(" ","-lsocket -lnsl"),
|
|
},
|
|
"debug" => {
|
|
cc => "gcc",
|
|
cflags => "-DBN_DEBUG -DREF_DEBUG -DCONF_DEBUG -DBN_CTX_DEBUG -DOPENSSL_NO_ASM -ggdb -g2 -Wformat -Wshadow -Wmissing-prototypes -Wmissing-declarations -Werror",
|
|
thread_scheme => "(unknown)",
|
|
ex_libs => add(" ","-lefence"),
|
|
},
|
|
"debug-erbridge" => {
|
|
inherit_from => [ "x86_64_asm" ],
|
|
cc => "gcc",
|
|
cflags => combine("$gcc_devteam_warn -DBN_DEBUG -DCONF_DEBUG -m64 -DL_ENDIAN -DTERMIO -g",
|
|
threads("-D_REENTRANT")),
|
|
ex_libs => add(" ","-ldl"),
|
|
bn_ops => "SIXTY_FOUR_BIT_LONG",
|
|
thread_scheme => "pthreads",
|
|
perlasm_scheme => "elf",
|
|
dso_scheme => "dlfcn",
|
|
shared_target => "linux-shared",
|
|
shared_cflag => "-fPIC",
|
|
shared_ldflag => "-m64",
|
|
shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
|
multilib => "64",
|
|
},
|
|
"debug-linux-pentium" => {
|
|
inherit_from => [ "x86_elf_asm" ],
|
|
cc => "gcc",
|
|
cflags => combine("-DBN_DEBUG -DREF_DEBUG -DCONF_DEBUG -DBN_CTX_DEBUG -DL_ENDIAN -g -mcpu=pentium -Wall",
|
|
threads("-D_REENTRANT")),
|
|
ex_libs => add(" ","-ldl"),
|
|
bn_ops => "BN_LLONG",
|
|
thread_scheme => "pthreads",
|
|
dso_scheme => "dlfcn",
|
|
},
|
|
"debug-linux-ppro" => {
|
|
inherit_from => [ "x86_elf_asm" ],
|
|
cc => "gcc",
|
|
cflags => combine("-DBN_DEBUG -DREF_DEBUG -DCONF_DEBUG -DBN_CTX_DEBUG -DL_ENDIAN -g -mcpu=pentiumpro -Wall",
|
|
threads("-D_REENTRANT")),
|
|
ex_libs => add(" ","-ldl"),
|
|
bn_ops => "BN_LLONG",
|
|
thread_scheme => "pthreads",
|
|
dso_scheme => "dlfcn",
|
|
},
|
|
"debug-linux-elf-noefence" => {
|
|
inherit_from => [ "x86_elf_asm" ],
|
|
cc => "gcc",
|
|
cflags => combine("-DBN_DEBUG -DREF_DEBUG -DCONF_DEBUG -DBN_CTX_DEBUG -DL_ENDIAN -g -Wall",
|
|
threads("-D_REENTRANT")),
|
|
ex_libs => add(" ","-ldl"),
|
|
bn_ops => "BN_LLONG",
|
|
thread_scheme => "pthreads",
|
|
dso_scheme => "dlfcn",
|
|
shared_target => "linux-shared",
|
|
shared_cflag => "-fPIC",
|
|
shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
|
},
|
|
"debug-linux-ia32-aes" => {
|
|
cc => "gcc",
|
|
cflags => combine("-DL_ENDIAN -O3 -fomit-frame-pointer -Wall",
|
|
threads("-D_REENTRANT")),
|
|
ex_libs => add(" ","-ldl"),
|
|
bn_ops => "BN_LLONG",
|
|
cpuid_asm_src => "x86cpuid.s",
|
|
bn_asm_src => "bn-586.s co-586.s x86-mont.s",
|
|
des_asm_src => "des-586.s crypt586.s",
|
|
aes_asm_src => "aes_x86core.s aes_cbc.s aesni-x86.s",
|
|
bf_asm_src => "bf-586.s",
|
|
md5_asm_src => "md5-586.s",
|
|
sha1_asm_src => "sha1-586.s sha256-586.s sha512-586.s",
|
|
cast_asm_src => "cast-586.s",
|
|
rc4_asm_src => "rc4-586.s",
|
|
rmd160_asm_src => "rmd-586.s",
|
|
rc5_asm_src => "rc5-586.s",
|
|
wp_asm_src => "wp_block.s wp-mmx.s",
|
|
modes_asm_src => "ghash-x86.s",
|
|
padlock_asm_src => "e_padlock-x86.s",
|
|
thread_scheme => "pthreads",
|
|
perlasm_scheme => "elf",
|
|
dso_scheme => "dlfcn",
|
|
shared_target => "linux-shared",
|
|
shared_cflag => "-fPIC",
|
|
shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
|
},
|
|
"dist" => {
|
|
cc => "cc",
|
|
cflags => "-O",
|
|
thread_scheme => "(unknown)",
|
|
},
|
|
"debug-test-64-clang" => {
|
|
inherit_from => [ "x86_64_asm" ],
|
|
cc => "clang",
|
|
cflags => combine("$gcc_devteam_warn -Wno-error=overlength-strings -Wno-error=extended-offsetof -Wno-error=language-extension-token -Wno-error=unused-const-variable -Wstrict-overflow -Qunused-arguments -DBN_DEBUG -DCONF_DEBUG -DDEBUG_SAFESTACK -DDEBUG_UNUSED -g3 -O3 -pipe",
|
|
threads("${BSDthreads}")),
|
|
bn_ops => "SIXTY_FOUR_BIT_LONG",
|
|
thread_scheme => "pthreads",
|
|
perlasm_scheme => "elf",
|
|
dso_scheme => "dlfcn",
|
|
shared_target => "bsd-gcc-shared",
|
|
shared_cflag => "-fPIC",
|
|
shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
|
|
},
|
|
"darwin64-debug-test-64-clang" => {
|
|
inherit_from => [ "x86_64_asm" ],
|
|
cc => "clang",
|
|
cflags => combine("-arch x86_64 -DL_ENDIAN $gcc_devteam_warn -Wno-error=overlength-strings -Wno-error=extended-offsetof -Wno-error=language-extension-token -Wno-error=unused-const-variable -Wstrict-overflow -Qunused-arguments -DBN_DEBUG -DCONF_DEBUG -DDEBUG_SAFESTACK -DDEBUG_UNUSED -g3 -O3 -pipe",
|
|
threads("${BSDthreads}")),
|
|
sys_id => "MACOSX",
|
|
bn_ops => "SIXTY_FOUR_BIT_LONG",
|
|
thread_scheme => "pthreads",
|
|
perlasm_scheme => "macosx",
|
|
dso_scheme => "dlfcn",
|
|
shared_target => "darwin-shared",
|
|
shared_cflag => "-fPIC -fno-common",
|
|
shared_ldflag => "-arch x86_64 -dynamiclib",
|
|
shared_extension => ".\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
|
|
},
|
|
);
|