release => "-O3"),
thread_scheme => "(unknown)",
sys_id => "VOS",
- lflags => "-Wl,-map",
+ lflags => add("-Wl,-map"),
bn_ops => "BN_LLONG",
shared_extension => ".so",
},
debug => "-O0 -g",
release => "-O3 -fomit-frame-pointer"),
threads("-pthread")),
+ ex_libs => add(threads("-pthread")),
bn_ops => "BN_LLONG",
shared_cflag => "-fPIC",
shared_ldflag => "-shared -static-libgcc",
debug => "-O0 -g",
release => "-O3"),
threads("-pthread")),
+ ex_libs => add(threads("-pthread")),
bn_ops => "SIXTY_FOUR_BIT_LONG",
perlasm_scheme => "elf",
shared_cflag => "-fPIC",
- shared_ldflag => "-m64 -shared -static-libgcc",
+ shared_ldflag => "-shared -static-libgcc",
multilib => "/64",
},
release => "-xO5 -xdepend -xbuiltin"),
threads("-D_REENTRANT")),
thread_scheme => "pthreads",
- lflags => add("-xarch=generic64",threads("-mt")),
+ lflags => add(threads("-mt")),
ex_libs => add(threads("-lpthread")),
bn_ops => "SIXTY_FOUR_BIT_LONG",
perlasm_scheme => "elf",
shared_cflag => "-KPIC",
- shared_ldflag => "-xarch=generic64 -G -dy -z text",
+ shared_ldflag => "-G -dy -z text",
multilib => "/64",
},
debug => "-O0 -g",
release => "-O3"),
threads("-pthread")),
+ ex_libs => add(threads("-pthread")),
bn_ops => "BN_LLONG RC4_CHAR",
shared_cflag => "-fPIC",
shared_ldflag => "-shared",
inherit_from => [ "solaris-sparcv9-gcc" ],
cflags => sub { my $f=join(" ",@_); $f =~ s/\-m32/-m64/; $f; },
bn_ops => "BN_LLONG RC4_CHAR",
- shared_ldflag => "-m64 -shared",
multilib => "/64",
},
"solaris64-sparcv9-cc" => {
inherit_from => [ "solaris-sparcv7-cc", asm("sparcv9_asm") ],
cflags => add_before("-xarch=v9"),
- lflags => add_before("-xarch=v9"),
bn_ops => "BN_LLONG RC4_CHAR",
- shared_ldflag => "-xarch=v9 -G -dy -z text",
multilib => "/64",
},
perlasm_scheme => "n32",
dso_scheme => "dlfcn",
shared_target => "irix-shared",
- shared_ldflag => "-mabi=n32",
shared_extension => ".so.\$(SHLIB_VERSION_NUMBER)",
multilib => "32",
},
perlasm_scheme => "n32",
dso_scheme => "dlfcn",
shared_target => "irix-shared",
- shared_ldflag => "-n32",
shared_extension => ".so.\$(SHLIB_VERSION_NUMBER)",
multilib => "32",
},
perlasm_scheme => "64",
dso_scheme => "dlfcn",
shared_target => "irix-shared",
- shared_ldflag => "-mabi=64",
shared_extension => ".so.\$(SHLIB_VERSION_NUMBER)",
multilib => "64",
},
perlasm_scheme => "64",
dso_scheme => "dlfcn",
shared_target => "irix-shared",
- shared_ldflag => "-64",
shared_extension => ".so.\$(SHLIB_VERSION_NUMBER)",
multilib => "64",
},
debug => "-O0 -g",
release => "-O3"),
threads("-pthread")),
- ex_libs => add("-Wl,+s -ldld"),
+ ex_libs => add("-Wl,+s -ldld", threads("-pthread")),
bn_ops => "BN_LLONG",
thread_scheme => "pthreads",
dso_scheme => "dl",
dso_scheme => "dlfcn",
shared_target => "hpux-shared",
shared_cflag => "+Z",
- shared_ldflag => "+DD64 -b",
+ shared_ldflag => "-b",
shared_extension => ".sl.\$(SHLIB_VERSION_NUMBER)",
multilib => "/pa20_64",
},
dso_scheme => "dlfcn",
shared_target => "hpux-shared",
shared_cflag => "+Z",
- shared_ldflag => "+DD32 -b",
+ shared_ldflag => "-b",
shared_extension => ".so.\$(SHLIB_VERSION_NUMBER)",
multilib => "/hpux32",
},
dso_scheme => "dlfcn",
shared_target => "hpux-shared",
shared_cflag => "+Z",
- shared_ldflag => "+DD64 -b",
+ shared_ldflag => "-b",
shared_extension => ".so.\$(SHLIB_VERSION_NUMBER)",
multilib => "/hpux64",
},
debug => "-O0 -g",
release => "-O3"),
threads("-pthread")),
- ex_libs => add("-ldl"),
+ ex_libs => add("-ldl", threads("-pthread")),
bn_ops => "SIXTY_FOUR_BIT",
thread_scheme => "pthreads",
dso_scheme => "dlfcn",
debug => "-O0 -g",
release => "-O3"),
threads("-pthread")),
- ex_libs => add("-ldl"),
+ ex_libs => add("-ldl", threads("-pthread")),
bn_ops => "SIXTY_FOUR_BIT_LONG",
thread_scheme => "pthreads",
dso_scheme => "dlfcn",
shared_target => "hpux-shared",
shared_cflag => "-fpic",
- shared_ldflag => "-mlp64 -shared",
+ shared_ldflag => "-shared",
shared_extension => ".so.\$(SHLIB_VERSION_NUMBER)",
multilib => "/hpux64",
},
cc => "gcc",
cflags => "-D_ENDIAN -DBN_DIV2W -O3 -D_POSIX_SOURCE -D_SOCKET_SOURCE -I/SYSLOG/PUB",
sys_id => "MPE",
- ex_libs => add("-L/SYSLOG/PUB -lsyslog -lsocket -lcurses"),
+ lflags => add("-L/SYSLOG/PUB"),
+ ex_libs => add("-lsyslog -lsocket -lcurses"),
thread_scheme => "(unknown)",
bn_ops => "BN_LLONG",
},
cc => "gcc",
cflags => combine("-std=c9x -D_XOPEN_SOURCE=500 -D_OSF_SOURCE -O3",
threads("-pthread")),
- ex_libs => "-lrt", # for mlock(2)
+ ex_libs => add("-lrt", threads("-pthread")), # for mlock(2)
bn_ops => "SIXTY_FOUR_BIT_LONG",
thread_scheme => "pthreads",
dso_scheme => "dlfcn",
cc => "cc",
cflags => combine("-std1 -D_XOPEN_SOURCE=500 -D_OSF_SOURCE -tune host -fast -readonly_strings",
threads("-pthread")),
- ex_libs => "-lrt", # for mlock(2)
+ ex_libs => add("-lrt", threads("-pthread")), # for mlock(2)
bn_ops => "SIXTY_FOUR_BIT_LONG",
thread_scheme => "pthreads",
dso_scheme => "dlfcn",
debug => "-O0 -g",
release => "-O3"),
threads("-pthread")),
- ex_libs => add("-ldl"),
+ ex_libs => add("-ldl", threads("-pthread")),
bn_ops => "BN_LLONG RC4_CHAR",
thread_scheme => "pthreads",
dso_scheme => "dlfcn",
inherit_from => [ "linux-generic64", asm("ppc64_asm") ],
cflags => add("-m64 -DB_ENDIAN"),
perlasm_scheme => "linux64",
- shared_ldflag => add("-m64"),
multilib => "64",
},
"linux-ppc64le" => {
inherit_from => [ "linux-generic64", asm("ppc64_asm") ],
cflags => add("-m64 -DL_ENDIAN"),
perlasm_scheme => "linux64le",
- shared_ldflag => add("-m64"),
},
"linux-armv4" => {
cflags => add("-mabi=ilp32"),
bn_ops => "SIXTY_FOUR_BIT RC4_CHAR",
perlasm_scheme => "linux64",
- shared_ldflag => add("-mabi=ilp32"),
},
"linux-mips32" => {
inherit_from => [ "linux-generic32", asm("mips32_asm") ],
cflags => add("-mabi=32 -DBN_DIV3W"),
perlasm_scheme => "o32",
- shared_ldflag => add("-mabi=32"),
},
# mips32 and mips64 below refer to contemporary MIPS Architecture
# specifications, MIPS32 and MIPS64, rather than to kernel bitness.
cflags => add("-mabi=n32 -DBN_DIV3W"),
bn_ops => "SIXTY_FOUR_BIT RC4_CHAR",
perlasm_scheme => "n32",
- shared_ldflag => add("-mabi=n32"),
multilib => "32",
},
"linux64-mips64" => {
inherit_from => [ "linux-generic64", asm("mips64_asm") ],
cflags => add("-mabi=64 -DBN_DIV3W"),
perlasm_scheme => "64",
- shared_ldflag => add("-mabi=64"),
multilib => "64",
},
release => "-fomit-frame-pointer")),
bn_ops => "BN_LLONG",
perlasm_scheme => "elf",
- shared_ldflag => add("-m32"),
},
"linux-x86-clang" => {
inherit_from => [ "linux-x86" ],
cflags => add("-m64 -DL_ENDIAN"),
bn_ops => "SIXTY_FOUR_BIT_LONG",
perlasm_scheme => "elf",
- shared_ldflag => add("-m64"),
multilib => "64",
},
"linux-x86_64-clang" => {
cflags => add("-mx32 -DL_ENDIAN"),
bn_ops => "SIXTY_FOUR_BIT",
perlasm_scheme => "elf32",
- shared_ldflag => add("-mx32"),
multilib => "x32",
},
inherit_from => [ "linux-generic64", asm("s390x_asm") ],
cflags => add("-m64 -DB_ENDIAN"),
perlasm_scheme => "64",
- shared_ldflag => add("-m64"),
multilib => "64",
},
"linux32-s390x" => {
cflags => add("-m31 -Wa,-mzarch -DB_ENDIAN"),
bn_asm_src => sub { my $r=join(" ",@_); $r=~s|asm/s390x\.S|bn_asm.c|; $r; },
perlasm_scheme => "31",
- shared_ldflag => add("-m31"),
multilib => "/highgprs",
},
# but -Wa,-Av8plus should do the trick no matter what.
inherit_from => [ "linux-generic32", asm("sparcv9_asm") ],
cflags => add("-m32 -mcpu=ultrasparc -Wa,-Av8plus -DB_ENDIAN -DBN_DIV2W"),
- shared_ldflag => add("-m32"),
},
"linux64-sparcv9" => {
# GCC 3.1 is a requirement
inherit_from => [ "linux-generic64", asm("sparcv9_asm") ],
cflags => add("-m64 -mcpu=ultrasparc -DB_ENDIAN"),
bn_ops => "BN_LLONG RC4_CHAR",
- shared_ldflag => add("-m64"),
multilib => "64",
},
#
# ANDROID_NDK=/some/where/android-ndk-10d
# CROSS_SYSROOT=$ANDROID_NDK/platforms/android-14/arch-arm
- # CROSS_COMPILE=arm-linux-adroideabi-
+ # CROSS_COMPILE=arm-linux-androideabi-
# PATH=$ANDROID_NDK/toolchains/arm-linux-androideabi-4.8/prebuild/linux-x86_64/bin
#
"android" => {
debug => "-O0 -g",
release => "-O3"),
threads("-pthread -D_THREAD_SAFE -D_REENTRANT")),
+ ex_libs => add(threads("-pthread")),
enable => add("devcryptoeng"),
bn_ops => "BN_LLONG",
thread_scheme => "pthreads",
debug => "-O0 -g",
release => "-O"),
threads("-pthread")),
+ ex_libs => add(threads("-pthread")),
sys_id => "AIX",
bn_ops => "BN_LLONG RC4_CHAR",
thread_scheme => "pthreads",
debug => "-O0 -g",
release => "-O"),
threads("-pthread")),
+ ex_libs => add(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",
- shared_ldflag => "-maix64 -shared -static-libgcc -Wl,-G",
+ shared_ldflag => "-shared -static-libgcc -Wl,-G",
shared_extension => ".so.\$(SHLIB_VERSION_NUMBER)",
arflags => "-X64",
},
perlasm_scheme => "aix32",
dso_scheme => "dlfcn",
shared_target => "aix-shared",
- shared_ldflag => "-q32 -G",
+ shared_ldflag => "-G",
shared_extension => ".so.\$(SHLIB_VERSION_NUMBER)",
arflags => "-X 32",
},
perlasm_scheme => "aix64",
dso_scheme => "dlfcn",
shared_target => "aix-shared",
- shared_ldflag => "-q64 -G",
+ shared_ldflag => "-G",
shared_extension => ".so.\$(SHLIB_VERSION_NUMBER)",
arflags => "-X 64",
},
thread_scheme => "(unknown)",
},
-# OS/390 Unix an EBCDIC-based Unix system on IBM mainframe
-# You need to compile using the c89.sh wrapper in the tools directory, because the
-# IBM compiler does not like the -L switch after any object modules.
-#
- "OS390-Unix" => {
- inherit_from => [ "BASE_unix" ],
- cc => "c89.sh",
- cflags => "-O -DB_ENDIAN -DCHARSET_EBCDIC -DNO_SYS_PARAM_H -D_ALL_SOURCE",
- bn_ops => "THIRTY_TWO_BIT RC4_CHAR",
- thread_scheme => "(unknown)",
- },
-
#### Visual C targets
#
# Win64 targets, WIN64I denotes IA-64 and WIN64A - AMD64
: " /MC"; }),
debug => "/Od -DDEBUG -D_DEBUG",
release => "/O1i"),
- lflags => combine("/nologo /opt:ref",
- sub { vc_wince_info()->{lflags}; },
- sub { defined(env('PORTSDK_LIBPATH'))
- ? "/entry:mainCRTstartup" : (); }),
+ lflags => add(combine("/nologo /opt:ref",
+ sub { vc_wince_info()->{lflags}; },
+ sub { defined(env('PORTSDK_LIBPATH'))
+ ? "/entry:mainCRTstartup" : (); })),
sys_id => "WINCE",
bn_ops => "BN_LLONG EXPORT_VAR_AS_FN",
ex_libs => add(sub {
dso_scheme => "dlfcn",
shared_target => "cygwin-shared",
shared_cflag => "-D_WINDLL",
- shared_ldflag => "-shared",
shared_extension => ".dll",
},
"Cygwin-x86_64" => {
dso_scheme => "dlfcn",
shared_target => "cygwin-shared",
shared_cflag => "-D_WINDLL",
- shared_ldflag => "-shared",
shared_extension => ".dll",
},
# Backward compatibility for those using this target
ranlib => "ranlib -c",
shared_target => "darwin-shared",
shared_cflag => "-fPIC",
- shared_ldflag => "-dynamiclib",
shared_extension => ".\$(SHLIB_VERSION_NUMBER).dylib",
},
# Option "freeze" such as -std=gnu9x can't negatively interfere
inherit_from => [ "darwin-common", asm("ppc32_asm") ],
cflags => add("-arch ppc -std=gnu9x -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 => add("-arch ppc64 -std=gnu9x -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") ],
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 => add("-arch x86_64 -DL_ENDIAN -Wall"),
bn_ops => "SIXTY_FOUR_BIT_LONG",
perlasm_scheme => "macosx",
- shared_ldflag => "-arch x86_64 -dynamiclib",
},
#### iPhoneOS/iOS
cc => "gcc",
cflags => combine("-DL_ENDIAN -O3 -fomit-frame-pointer -Wall",
threads("-pthread")),
- ex_libs => add("-ldl"),
+ ex_libs => add("-ldl", threads("-pthread")),
bn_ops => "BN_LLONG",
thread_scheme => "pthreads",
dso_scheme => "dlfcn",
cc => "ccppc",
cflags => "-D_REENTRANT -mrtp -mhard-float -mstrict-align -fno-implicit-fp -DPPC32_fp60x -O2 -fstrength-reduce -fno-builtin -fno-strict-aliasing -Wall -DCPU=PPC32 -DTOOL_FAMILY=gnu -DTOOL=gnu -I\$(WIND_BASE)/target/usr/h -I\$(WIND_BASE)/target/usr/h/wrn/coreip",
sys_id => "VXWORKS",
- ex_libs => add("-Wl,--defsym,__wrs_rtp_base=0xe0000000 -L \$(WIND_BASE)/target/usr/lib/ppc/PPC32/common"),
+ lflags => add("-L \$(WIND_BASE)/target/usr/lib/ppc/PPC32/common"),
+ ex_libs => add("-Wl,--defsym,__wrs_rtp_base=0xe0000000"),
},
"vxworks-ppcgen" => {
inherit_from => [ "BASE_unix" ],
cc => "ccppc",
cflags => "-D_REENTRANT -mrtp -msoft-float -mstrict-align -O1 -fno-builtin -fno-strict-aliasing -Wall -DCPU=PPC32 -DTOOL_FAMILY=gnu -DTOOL=gnu -I\$(WIND_BASE)/target/usr/h -I\$(WIND_BASE)/target/usr/h/wrn/coreip",
sys_id => "VXWORKS",
- ex_libs => add("-Wl,--defsym,__wrs_rtp_base=0xe0000000 -L \$(WIND_BASE)/target/usr/lib/ppc/PPC32/sfcommon"),
+ lflags => add("-L \$(WIND_BASE)/target/usr/lib/ppc/PPC32/sfcommon"),
+ ex_libs => add("-Wl,--defsym,__wrs_rtp_base=0xe0000000"),
},
"vxworks-ppc405" => {
inherit_from => [ "BASE_unix" ],
cc => "ccppc",
cflags => "-g -msoft-float -mlongcall -DCPU=PPC405 -I\$(WIND_BASE)/target/h",
sys_id => "VXWORKS",
- lflags => "-r",
+ lflags => add("-r"),
},
"vxworks-ppc750" => {
inherit_from => [ "BASE_unix" ],
cc => "ccppc",
cflags => "-ansi -nostdinc -DPPC750 -D_REENTRANT -fvolatile -fno-builtin -fno-for-scope -fsigned-char -Wall -msoft-float -mlongcall -DCPU=PPC604 -I\$(WIND_BASE)/target/h \$(DEBUG_FLAG)",
sys_id => "VXWORKS",
- lflags => "-r",
+ lflags => add("-r"),
},
"vxworks-ppc750-debug" => {
inherit_from => [ "BASE_unix" ],
cc => "ccppc",
cflags => "-ansi -nostdinc -DPPC750 -D_REENTRANT -fvolatile -fno-builtin -fno-for-scope -fsigned-char -Wall -msoft-float -mlongcall -DCPU=PPC604 -I\$(WIND_BASE)/target/h -DPEDANTIC -DDEBUG -g",
sys_id => "VXWORKS",
- lflags => "-r",
+ lflags => add("-r"),
},
"vxworks-ppc860" => {
inherit_from => [ "BASE_unix" ],
cc => "ccppc",
cflags => "-nostdinc -msoft-float -DCPU=PPC860 -DNO_STRINGS_H -I\$(WIND_BASE)/target/h",
sys_id => "VXWORKS",
- lflags => "-r",
+ lflags => add("-r"),
},
"vxworks-simlinux" => {
inherit_from => [ "BASE_unix" ],
cc => "ccpentium",
cflags => "-B\$(WIND_BASE)/host/\$(WIND_HOST_TYPE)/lib/gcc-lib/ -D_VSB_CONFIG_FILE=\"\$(WIND_BASE)/target/lib/h/config/vsbConfig.h\" -DL_ENDIAN -DCPU=SIMLINUX -DTOOL_FAMILY=gnu -DTOOL=gnu -fno-builtin -fno-defer-pop -DNO_STRINGS_H -I\$(WIND_BASE)/target/h -I\$(WIND_BASE)/target/h/wrn/coreip -DOPENSSL_NO_HW_PADLOCK",
sys_id => "VXWORKS",
- lflags => "-r",
+ lflags => add("-r"),
ranlib => "ranlibpentium",
},
"vxworks-mips" => {
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"),
+ lflags => add("-L \$(WIND_BASE)/target/usr/lib/mips/MIPSI32/sfcommon"),
+ ex_libs => add("-Wl,--defsym,__wrs_rtp_base=0xe0000000"),
thread_scheme => "pthreads",
perlasm_scheme => "o32",
ranlib => "ranlibmips",
"uClinux-dist" => {
inherit_from => [ "BASE_unix" ],
cc => sub { env('CC') },
- cflags => combine("\$(CFLAGS)",
- threads("-D_REENTRANT")),
- plib_lflags => "\$(LDFLAGS)",
+ cflags => combine(threads("-D_REENTRANT")),
ex_libs => add("\$(LDLIBS)"),
bn_ops => "BN_LLONG",
thread_scheme => "pthreads",
dso_scheme => sub { env('LIBSSL_dlfcn') },
shared_target => "linux-shared",
shared_cflag => "-fPIC",
- shared_ldflag => "-shared",
shared_extension => ".so.\$(SHLIB_VERSION_NUMBER)",
ranlib => sub { env('RANLIB') },
},
"uClinux-dist64" => {
inherit_from => [ "BASE_unix" ],
cc => sub { env('CC') },
- cflags => combine("\$(CFLAGS)",
- threads("-D_REENTRANT")),
- plib_lflags => "\$(LDFLAGS)",
+ cflags => combine(threads("-D_REENTRANT")),
ex_libs => add("\$(LDLIBS)"),
bn_ops => "SIXTY_FOUR_BIT_LONG",
thread_scheme => "pthreads",
dso_scheme => sub { env('LIBSSL_dlfcn') },
shared_target => "linux-shared",
shared_cflag => "-fPIC",
- shared_ldflag => "-shared",
shared_extension => ".so.\$(SHLIB_VERSION_NUMBER)",
ranlib => sub { env('RANLIB') },
},