X-Git-Url: https://git.openssl.org/?p=openssl.git;a=blobdiff_plain;f=Configurations%2F10-main.conf;h=f085a90d11fdcf7e1033c43182793d9e24aa5388;hp=ea1c9ab9d9e7ed6e95034f794d5de9e132855489;hb=fcd2ac80cfcef391c5227a2f773ea9ad9248493b;hpb=d445302418b41b76c15e103954b1311d98077480 diff --git a/Configurations/10-main.conf b/Configurations/10-main.conf index ea1c9ab9d9..f085a90d11 100644 --- a/Configurations/10-main.conf +++ b/Configurations/10-main.conf @@ -53,14 +53,14 @@ my $vc_wince_info = {}; sub vc_wince_info { unless (%$vc_wince_info) { # sanity check - $die->('%OSVERSION% is not defined') if (!defined($ENV{'OSVERSION'})); - $die->('%PLATFORM% is not defined') if (!defined($ENV{'PLATFORM'})); - $die->('%TARGETCPU% is not defined') if (!defined($ENV{'TARGETCPU'})); + $die->('%OSVERSION% is not defined') if (!defined(env('OSVERSION'))); + $die->('%PLATFORM% is not defined') if (!defined(env('PLATFORM'))); + $die->('%TARGETCPU% is not defined') if (!defined(env('TARGETCPU'))); # # Idea behind this is to mimic flags set by eVC++ IDE... # - my $wcevers = $ENV{'OSVERSION'}; # WCENNN + my $wcevers = env('OSVERSION'); # WCENNN my $wcevernum; my $wceverdotnum; if ($wcevers =~ /^WCE([1-9])([0-9]{2})$/) { @@ -74,12 +74,12 @@ sub vc_wince_info { my $wcecdefs = "-D_WIN32_WCE=$wcevernum -DUNDER_CE=$wcevernum"; # -D_WIN32_WCE=NNN my $wcelflag = "/subsystem:windowsce,$wceverdotnum"; # ...,N.NN - my $wceplatf = $ENV{'PLATFORM'}; + my $wceplatf = env('PLATFORM'); $wceplatf =~ tr/a-z0-9 /A-Z0-9_/; $wcecdefs .= " -DWCE_PLATFORM_$wceplatf"; - my $wcetgt = $ENV{'TARGETCPU'}; # just shorter name... + my $wcetgt = env('TARGETCPU'); # just shorter name... SWITCH: for($wcetgt) { /^X86/ && do { $wcecdefs.=" -Dx86 -D_X86_ -D_i386_ -Di_386_"; $wcelflag.=" /machine:X86"; last; }; @@ -144,7 +144,7 @@ sub vms_info { return $vms_info; } -%targets = ( +my %targets = ( #### Basic configs that should work on any 32-bit box "gcc" => { @@ -169,7 +169,7 @@ sub vms_info { release => "-O3"), thread_scheme => "(unknown)", sys_id => "VOS", - lflags => "-Wl,-map", + lflags => add("-Wl,-map"), bn_ops => "BN_LLONG", shared_extension => ".so", }, @@ -196,6 +196,7 @@ sub vms_info { 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", @@ -208,17 +209,18 @@ sub vms_info { # gcc shared build with Sun C. Given that gcc generates faster # code [thanks to inline assembler], I would actually recommend # to consider using gcc shared build even with vendor compiler:-) - # + # -- inherit_from => [ "solaris-common", asm("x86_64_asm") ], cc => "gcc", cflags => add_before(picker(default => "-m64 -Wall -DL_ENDIAN", 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", }, @@ -243,12 +245,12 @@ sub vms_info { 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", }, @@ -260,6 +262,7 @@ sub vms_info { debug => "-O0 -g", release => "-O3"), threads("-pthread")), + ex_libs => add(threads("-pthread")), bn_ops => "BN_LLONG RC4_CHAR", shared_cflag => "-fPIC", shared_ldflag => "-shared", @@ -278,7 +281,6 @@ sub vms_info { 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", }, @@ -311,9 +313,7 @@ sub vms_info { "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", }, @@ -332,7 +332,6 @@ sub vms_info { perlasm_scheme => "n32", dso_scheme => "dlfcn", shared_target => "irix-shared", - shared_ldflag => "-mabi=n32", shared_extension => ".so.\$(SHLIB_VERSION_NUMBER)", multilib => "32", }, @@ -349,7 +348,6 @@ sub vms_info { perlasm_scheme => "n32", dso_scheme => "dlfcn", shared_target => "irix-shared", - shared_ldflag => "-n32", shared_extension => ".so.\$(SHLIB_VERSION_NUMBER)", multilib => "32", }, @@ -367,7 +365,6 @@ sub vms_info { perlasm_scheme => "64", dso_scheme => "dlfcn", shared_target => "irix-shared", - shared_ldflag => "-mabi=64", shared_extension => ".so.\$(SHLIB_VERSION_NUMBER)", multilib => "64", }, @@ -384,7 +381,6 @@ sub vms_info { perlasm_scheme => "64", dso_scheme => "dlfcn", shared_target => "irix-shared", - shared_ldflag => "-64", shared_extension => ".so.\$(SHLIB_VERSION_NUMBER)", multilib => "64", }, @@ -416,7 +412,6 @@ sub vms_info { # targets; b) performance-critical 32-bit assembly modules implement # even PA-RISC 2.0-specific code paths, which are chosen at run-time, # thus adequate performance is provided even with PA-RISC 1.1 build. -# "hpux-parisc-gcc" => { inherit_from => [ "BASE_unix" ], cc => "gcc", @@ -424,7 +419,7 @@ sub vms_info { 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", @@ -456,9 +451,6 @@ sub vms_info { }, # More attempts at unified 10.X and 11.X targets for HP C compiler. - # - # Chris Ruemmler - # Kevin Steves "hpux-parisc-cc" => { inherit_from => [ "BASE_unix" ], cc => "cc", @@ -493,7 +485,7 @@ sub vms_info { 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", }, @@ -512,12 +504,10 @@ sub vms_info { 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", }, - # Frank Geurts has patiently assisted - # with debugging of the following config. "hpux64-ia64-cc" => { inherit_from => [ "BASE_unix", asm("ia64_asm") ], cc => "cc", @@ -531,7 +521,7 @@ sub vms_info { 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", }, @@ -543,7 +533,7 @@ sub vms_info { 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", @@ -560,13 +550,13 @@ sub vms_info { 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", }, @@ -577,7 +567,8 @@ sub vms_info { 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", }, @@ -591,7 +582,7 @@ sub vms_info { 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", @@ -603,7 +594,7 @@ sub vms_info { 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", @@ -625,7 +616,7 @@ sub vms_info { 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", @@ -647,14 +638,12 @@ sub vms_info { 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" => { @@ -701,7 +690,6 @@ sub vms_info { cflags => add("-mabi=ilp32"), bn_ops => "SIXTY_FOUR_BIT RC4_CHAR", perlasm_scheme => "linux64", - shared_ldflag => add("-mabi=ilp32"), }, "linux-mips32" => { @@ -710,7 +698,6 @@ sub vms_info { 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. @@ -719,14 +706,12 @@ sub vms_info { 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", }, @@ -757,34 +742,31 @@ sub vms_info { release => "-fomit-frame-pointer")), bn_ops => "BN_LLONG", perlasm_scheme => "elf", - shared_ldflag => add("-m32"), }, "linux-x86-clang" => { inherit_from => [ "linux-x86" ], cc => "clang", cxx => "clang++", - cflags => add("-Wextra -Qunused-arguments"), + cflags => add("-Wextra"), }, "linux-x86_64" => { inherit_from => [ "linux-generic64", asm("x86_64_asm") ], cflags => add("-m64 -DL_ENDIAN"), bn_ops => "SIXTY_FOUR_BIT_LONG", perlasm_scheme => "elf", - shared_ldflag => add("-m64"), multilib => "64", }, "linux-x86_64-clang" => { inherit_from => [ "linux-x86_64" ], cc => "clang", cxx => "clang++", - cflags => add("-Wextra -Qunused-arguments"), + cflags => add("-Wextra"), }, "linux-x32" => { inherit_from => [ "linux-generic32", asm("x86_64_asm") ], cflags => add("-mx32 -DL_ENDIAN"), bn_ops => "SIXTY_FOUR_BIT", perlasm_scheme => "elf32", - shared_ldflag => add("-mx32"), multilib => "x32", }, @@ -797,7 +779,6 @@ sub vms_info { inherit_from => [ "linux-generic64", asm("s390x_asm") ], cflags => add("-m64 -DB_ENDIAN"), perlasm_scheme => "64", - shared_ldflag => add("-m64"), multilib => "64", }, "linux32-s390x" => { @@ -821,13 +802,10 @@ sub vms_info { 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", }, #### SPARC Linux setups - # Ray Miller has - # patiently assisted with debugging of following two configs. "linux-sparcv8" => { inherit_from => [ "linux-generic32", asm("sparcv8_asm") ], cflags => add("-mcpu=v8 -DB_ENDIAN -DBN_DIV2W"), @@ -837,14 +815,12 @@ sub vms_info { # 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", }, @@ -890,7 +866,7 @@ sub vms_info { # # 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" => { @@ -984,6 +960,7 @@ sub vms_info { 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", @@ -1101,8 +1078,7 @@ sub vms_info { # and './Configure unixware-7 -Kpentium_pro' or whatever appropriate. # Note that not all targets include assembler support. Mostly because of # lack of motivation to support out-of-date platforms with out-of-date -# compiler drivers and assemblers. Tim Rice has -# patiently assisted to debug most of it. +# compiler drivers and assemblers. # # UnixWare 2.0x fails destest with -O. "unixware-2.0" => { @@ -1149,7 +1125,7 @@ sub vms_info { shared_cflag => "-fPIC", shared_extension => ".so.\$(SHLIB_VERSION_NUMBER)", }, -# SCO 5 - Ben Laurie says the -O breaks the SCO cc. +# SCO 5 - Ben Laurie says the -O breaks the SCO cc. "sco5-cc" => { inherit_from => [ "BASE_unix", asm("x86_elf_asm") ], cc => "cc", @@ -1189,6 +1165,7 @@ sub vms_info { debug => "-O0 -g", release => "-O"), threads("-pthread")), + ex_libs => add(threads("-pthread")), sys_id => "AIX", bn_ops => "BN_LLONG RC4_CHAR", thread_scheme => "pthreads", @@ -1206,13 +1183,14 @@ sub vms_info { 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", }, @@ -1230,7 +1208,7 @@ sub vms_info { 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", }, @@ -1248,7 +1226,7 @@ sub vms_info { 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", }, @@ -1263,18 +1241,6 @@ sub vms_info { 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 @@ -1290,7 +1256,7 @@ sub vms_info { inherit_from => [ "BASE_Windows" ], template => 1, cc => "cl", - cflags => "-W3 -wd4090 -Gs0 -GF -Gy -nologo -DOPENSSL_SYS_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE", + cflags => "-W3 -wd4090 -Gs0 -GF -Gy -nologo -DOPENSSL_SYS_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_WINSOCK_DEPRECATED_NO_WARNINGS", defines => add(sub { my @defs = (); unless ($disabled{"zlib-dynamic"}) { my $zlib = @@ -1389,6 +1355,7 @@ sub vms_info { # configure with 'perl Configure VC-WIN32 -DUNICODE -D_UNICODE' inherit_from => [ "VC-noCE-common", asm("x86_asm"), sub { $disabled{shared} ? () : "uplink_common" } ], + cflags => add("-WX"), as => sub { vc_win32_info()->{as} }, asflags => sub { vc_win32_info()->{asflags} }, asoutflag => sub { vc_win32_info()->{asoutflag} }, @@ -1415,28 +1382,28 @@ sub vms_info { picker(default => combine('/W3 /WX /GF /Gy /nologo -DUNICODE -D_UNICODE -DOPENSSL_SYS_WINCE -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DDSO_WIN32 -DNO_CHMOD -DOPENSSL_SMALL_FOOTPRINT', sub { vc_wince_info()->{cflags}; }, - sub { defined($ENV{'WCECOMPAT'}) + sub { defined(env('WCECOMPAT')) ? '-I$(WCECOMPAT)/include' : (); }, - sub { defined($ENV{'PORTSDK_LIBPATH'}) + sub { defined(env('PORTSDK_LIBPATH')) ? '-I$(PORTSDK_LIBPATH)/../../include' : (); }, sub { `cl 2>&1` =~ /Version ([0-9]+)\./ && $1>=14 ? ($disabled{shared} ? " /MT" : " /MD") : " /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 { my @ex_libs = (); push @ex_libs, 'ws2.lib' unless $disabled{sock}; push @ex_libs, 'crypt32.lib'; - if (defined($ENV{WCECOMPAT})) { + if (defined(env('WCECOMPAT'))) { my $x = '$(WCECOMPAT)/lib'; - if (-f "$x/$ENV{TARGETCPU}/wcecompatex.lib") { + if (-f "$x/env('TARGETCPU')/wcecompatex.lib") { $x .= '/$(TARGETCPU)/wcecompatex.lib'; } else { $x .= '/wcecompatex.lib'; @@ -1444,9 +1411,9 @@ sub vms_info { push @ex_libs, $x; } push @ex_libs, '$(PORTSDK_LIBPATH)/portlib.lib' - if (defined($ENV{'PORTSDK_LIBPATH'})); + if (defined(env('PORTSDK_LIBPATH'))); push @ex_libs, ' /nodefaultlib coredll.lib corelibc.lib' - if ($ENV{'TARGETCPU'} eq "X86"); + if (env('TARGETCPU') eq "X86"); return @ex_libs; }), build_scheme => add("VC-WCE", { separator => undef }), @@ -1537,7 +1504,6 @@ sub vms_info { dso_scheme => "dlfcn", shared_target => "cygwin-shared", shared_cflag => "-D_WINDLL", - shared_ldflag => "-shared", shared_extension => ".dll", }, "Cygwin-x86_64" => { @@ -1553,7 +1519,6 @@ sub vms_info { dso_scheme => "dlfcn", shared_target => "cygwin-shared", shared_cflag => "-D_WINDLL", - shared_ldflag => "-shared", shared_extension => ".dll", }, # Backward compatibility for those using this target @@ -1592,7 +1557,6 @@ sub vms_info { 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 @@ -1602,14 +1566,12 @@ sub vms_info { 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") ], @@ -1617,14 +1579,12 @@ sub vms_info { 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 @@ -1671,7 +1631,7 @@ sub vms_info { 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", @@ -1686,49 +1646,51 @@ sub vms_info { 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" => { @@ -1737,7 +1699,8 @@ sub vms_info { 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", @@ -1746,35 +1709,29 @@ sub vms_info { #### uClinux "uClinux-dist" => { inherit_from => [ "BASE_unix" ], - cc => "$ENV{'CC'}", - cflags => combine("\$(CFLAGS)", - threads("-D_REENTRANT")), - plib_lflags => "\$(LDFLAGS)", + cc => sub { env('CC') }, + cflags => combine(threads("-D_REENTRANT")), ex_libs => add("\$(LDLIBS)"), bn_ops => "BN_LLONG", thread_scheme => "pthreads", - dso_scheme => "$ENV{'LIBSSL_dlfcn'}", + dso_scheme => sub { env('LIBSSL_dlfcn') }, shared_target => "linux-shared", shared_cflag => "-fPIC", - shared_ldflag => "-shared", shared_extension => ".so.\$(SHLIB_VERSION_NUMBER)", - ranlib => "$ENV{'RANLIB'}", + ranlib => sub { env('RANLIB') }, }, "uClinux-dist64" => { inherit_from => [ "BASE_unix" ], - cc => "$ENV{'CC'}", - cflags => combine("\$(CFLAGS)", - threads("-D_REENTRANT")), - plib_lflags => "\$(LDFLAGS)", + cc => sub { env('CC') }, + cflags => combine(threads("-D_REENTRANT")), ex_libs => add("\$(LDLIBS)"), bn_ops => "SIXTY_FOUR_BIT_LONG", thread_scheme => "pthreads", - dso_scheme => "$ENV{'LIBSSL_dlfcn'}", + dso_scheme => sub { env('LIBSSL_dlfcn') }, shared_target => "linux-shared", shared_cflag => "-fPIC", - shared_ldflag => "-shared", shared_extension => ".so.\$(SHLIB_VERSION_NUMBER)", - ranlib => "$ENV{'RANLIB'}", + ranlib => sub { env('RANLIB') }, }, ##### VMS