X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=blobdiff_plain;f=Configurations%2F10-main.conf;h=c30954f27da48769c6a5eed593dad8f95f8706bf;hp=e8241875afdc26bd1de511ad1b7b771b5b86b9ae;hb=c9741726c1d3476beed071005770a71464f273b9;hpb=d9dfeb940c9e0c99d5c41464ca1bc6aa40da4184 diff --git a/Configurations/10-main.conf b/Configurations/10-main.conf index e8241875af..c30954f27d 100644 --- a/Configurations/10-main.conf +++ b/Configurations/10-main.conf @@ -211,17 +211,28 @@ my %targets = ( ex_libs => add("-lsocket -lnsl -ldl"), dso_scheme => "dlfcn", thread_scheme => "pthreads", + }, +#### Solaris common with Sun C setups + "solaris-common-cc" => { + inherit_from => [ "solaris-common" ], + template => 1, shared_target => "solaris", shared_ldflag => "-Wl,-Bsymbolic", shared_defflag => "-Wl,-M,", shared_sonameflag=> "-Wl,-h,", }, +#### Solaris common with GNU C setups + "solaris-common-gcc" => { + inherit_from => [ "solaris-common" ], + template => 1, + shared_target => "solaris-gcc", # The rest is on shared_info.pl + }, #### Solaris x86 with GNU C setups "solaris-x86-gcc" => { # NB. GNU C has to be configured to use GNU assembler, and not # /usr/ccs/bin/as. Failure to comply will result in compile # failures [at least] in 32-bit build. - inherit_from => [ "solaris-common", asm("x86_elf_asm") ], + inherit_from => [ "solaris-common-gcc" ], CC => "gcc", CFLAGS => add_before(picker(default => "-Wall", debug => "-O0 -g", @@ -244,7 +255,7 @@ my %targets = ( # 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") ], + inherit_from => [ "solaris-common-gcc" ], CC => "gcc", CFLAGS => add_before(picker(default => "-Wall", debug => "-O0 -g", @@ -265,7 +276,7 @@ my %targets = ( # primarily because vendor assembler can't assemble our modules # with -KPIC flag. As result it, assembly support, was not even # available as option. But its lack means lack of side-channel - # resistant code, which is incompatible with security by todays + # resistant code, which is incompatible with security by today's # standards. Fortunately gcc is readily available prepackaged # option, which we can firmly point at... # @@ -274,7 +285,7 @@ my %targets = ( # Consider switching to solaris64-x86_64-gcc even here... # "solaris64-x86_64-cc" => { - inherit_from => [ "solaris-common", asm("x86_64_asm") ], + inherit_from => [ "solaris-common-cc" ], CC => "cc", CFLAGS => add_before(picker(debug => "-g", release => "-xO5 -xdepend -xbuiltin")), @@ -294,7 +305,7 @@ my %targets = ( #### SPARC Solaris with GNU C setups "solaris-sparcv7-gcc" => { - inherit_from => [ "solaris-common" ], + inherit_from => [ "solaris-common-gcc" ], CC => "gcc", CFLAGS => add_before(picker(default => "-Wall", debug => "-O0 -g", @@ -307,7 +318,7 @@ my %targets = ( shared_ldflag => add_before("-shared"), }, "solaris-sparcv8-gcc" => { - inherit_from => [ "solaris-sparcv7-gcc", asm("sparcv8_asm") ], + inherit_from => [ "solaris-sparcv7-gcc" ], cflags => add_before("-mcpu=v8"), asm_arch => 'sparcv8', perlasm_scheme => 'void', @@ -315,7 +326,7 @@ my %targets = ( "solaris-sparcv9-gcc" => { # -m32 should be safe to add as long as driver recognizes # -mcpu=ultrasparc - inherit_from => [ "solaris-sparcv7-gcc", asm("sparcv9_asm") ], + inherit_from => [ "solaris-sparcv7-gcc" ], cflags => add_before("-m32 -mcpu=ultrasparc"), asm_arch => 'sparcv9', perlasm_scheme => 'void', @@ -332,7 +343,7 @@ my %targets = ( # SC4.2 is ok, better than gcc even on bn as long as you tell it -xarch=v8 # SC5.0 note: Compiler common patch 107357-01 or later is required! "solaris-sparcv7-cc" => { - inherit_from => [ "solaris-common" ], + inherit_from => [ "solaris-common-cc" ], CC => "cc", CFLAGS => add_before(picker(debug => "-g", release => "-xO5 -xdepend")), @@ -347,19 +358,19 @@ my %targets = ( }, #### "solaris-sparcv8-cc" => { - inherit_from => [ "solaris-sparcv7-cc", asm("sparcv8_asm") ], + inherit_from => [ "solaris-sparcv7-cc" ], cflags => add_before("-xarch=v8"), asm_arch => 'sparcv8', perlasm_scheme => 'void', }, "solaris-sparcv9-cc" => { - inherit_from => [ "solaris-sparcv7-cc", asm("sparcv9_asm") ], + inherit_from => [ "solaris-sparcv7-cc" ], cflags => add_before("-xarch=v8plus"), asm_arch => 'sparcv9', perlasm_scheme => 'void', }, "solaris64-sparcv9-cc" => { - inherit_from => [ "solaris-sparcv7-cc", asm("sparcv9_asm") ], + inherit_from => [ "solaris-sparcv7-cc" ], cflags => add_before("-xarch=v9"), bn_ops => "BN_LLONG RC4_CHAR", asm_arch => 'sparcv9', @@ -382,7 +393,7 @@ my %targets = ( shared_sonameflag=> "-Wl,-soname,", }, "irix-mips3-gcc" => { - inherit_from => [ "irix-common", asm("mips64_asm") ], + inherit_from => [ "irix-common" ], CC => "gcc", CFLAGS => picker(debug => "-g -O0", release => "-O3"), @@ -394,7 +405,7 @@ my %targets = ( multilib => "32", }, "irix-mips3-cc" => { - inherit_from => [ "irix-common", asm("mips64_asm") ], + inherit_from => [ "irix-common" ], CC => "cc", CFLAGS => picker(debug => "-g -O0", release => "-O2"), @@ -406,7 +417,7 @@ my %targets = ( }, # N64 ABI builds. "irix64-mips4-gcc" => { - inherit_from => [ "irix-common", asm("mips64_asm") ], + inherit_from => [ "irix-common" ], CC => "gcc", CFLAGS => picker(debug => "-g -O0", release => "-O3"), @@ -418,7 +429,7 @@ my %targets = ( multilib => "64", }, "irix64-mips4-cc" => { - inherit_from => [ "irix-common", asm("mips64_asm") ], + inherit_from => [ "irix-common" ], CC => "cc", CFLAGS => picker(debug => "-g -O0", release => "-O2"), @@ -450,7 +461,7 @@ my %targets = ( # 32-bit message digests. (For the moment of this writing) HP C # doesn't seem to "digest" too many local variables (they make "him" # chew forever:-). For more details look-up MD32_XARRAY comment in -# crypto/sha/sha_lcl.h. +# crypto/sha/sha_local.h. # - originally there were 32-bit hpux-parisc2-* targets. They were # scrapped, because a) they were not interchangeable with other 32-bit # targets; b) performance-critical 32-bit assembly modules implement @@ -484,13 +495,13 @@ my %targets = ( shared_extension => ".sl.\$(SHLIB_VERSION_NUMBER)", }, "hpux-parisc1_1-gcc" => { - inherit_from => [ "hpux-parisc-gcc", asm("parisc11_asm") ], + inherit_from => [ "hpux-parisc-gcc" ], asm_arch => 'parisc11', perlasm_scheme => "32", multilib => "/pa1.1", }, "hpux64-parisc2-gcc" => { - inherit_from => [ "hpux-common", asm("parisc20_64_asm") ], + inherit_from => [ "hpux-common" ], CC => "gcc", CFLAGS => combine(picker(debug => "-O0 -g", release => "-O3")), @@ -522,14 +533,14 @@ my %targets = ( shared_extension => ".sl.\$(SHLIB_VERSION_NUMBER)", }, "hpux-parisc1_1-cc" => { - inherit_from => [ "hpux-parisc-cc", asm("parisc11_asm") ], + inherit_from => [ "hpux-parisc-cc" ], cflags => add_before("+DA1.1"), asm_arch => 'parisc11', perlasm_scheme => "32", multilib => "/pa1.1", }, "hpux64-parisc2-cc" => { - inherit_from => [ "hpux-common", asm("parisc20_64_asm") ], + inherit_from => [ "hpux-common" ], CC => "cc", CFLAGS => picker(debug => "+O0 +d -g", release => "+O3") , @@ -548,7 +559,7 @@ my %targets = ( # HP/UX IA-64 targets "hpux-ia64-cc" => { - inherit_from => [ "hpux-common", asm("ia64_asm") ], + inherit_from => [ "hpux-common" ], CC => "cc", CFLAGS => picker(debug => "+O0 +d -g", release => "+O2"), @@ -563,7 +574,7 @@ my %targets = ( multilib => "/hpux32", }, "hpux64-ia64-cc" => { - inherit_from => [ "hpux-common", asm("ia64_asm") ], + inherit_from => [ "hpux-common" ], CC => "cc", CFLAGS => picker(debug => "+O0 +d -g", release => "+O3"), @@ -579,7 +590,7 @@ my %targets = ( }, # GCC builds... "hpux-ia64-gcc" => { - inherit_from => [ "hpux-common", asm("ia64_asm") ], + inherit_from => [ "hpux-common" ], CC => "gcc", CFLAGS => picker(debug => "-O0 -g", release => "-O3"), @@ -593,7 +604,7 @@ my %targets = ( multilib => "/hpux32", }, "hpux64-ia64-gcc" => { - inherit_from => [ "hpux-common", asm("ia64_asm") ], + inherit_from => [ "hpux-common" ], CC => "gcc", CFLAGS => picker(debug => "-O0 -g", release => "-O3"), @@ -627,7 +638,7 @@ my %targets = ( #### there were even osf1-* configs targeting prior versions provided, #### but not anymore... "tru64-alpha-gcc" => { - inherit_from => [ "BASE_unix", asm("alpha_asm") ], + inherit_from => [ "BASE_unix" ], CC => "gcc", CFLAGS => "-O3", cflags => add("-std=c9x", threads("-pthread")), @@ -642,7 +653,7 @@ my %targets = ( shared_extension => ".so", }, "tru64-alpha-cc" => { - inherit_from => [ "BASE_unix", asm("alpha_asm") ], + inherit_from => [ "BASE_unix" ], CC => "cc", CFLAGS => "-tune host -fast", cflags => add("-std1 -readonly_strings", @@ -692,12 +703,12 @@ my %targets = ( }, "linux-ppc" => { - inherit_from => [ "linux-generic32", asm("ppc32_asm") ], + inherit_from => [ "linux-generic32" ], asm_arch => 'ppc32', perlasm_scheme => "linux32", }, "linux-ppc64" => { - inherit_from => [ "linux-generic64", asm("ppc64_asm") ], + inherit_from => [ "linux-generic64" ], cflags => add("-m64"), cxxflags => add("-m64"), lib_cppflags => add("-DB_ENDIAN"), @@ -706,7 +717,7 @@ my %targets = ( multilib => "64", }, "linux-ppc64le" => { - inherit_from => [ "linux-generic64", asm("ppc64_asm") ], + inherit_from => [ "linux-generic64" ], cflags => add("-m64"), cxxflags => add("-m64"), lib_cppflags => add("-DL_ENDIAN"), @@ -746,17 +757,17 @@ my %targets = ( # # ./Configure linux-armv4 -march=armv6 -D__ARM_MAX_ARCH__=8 # - inherit_from => [ "linux-generic32", asm("armv4_asm") ], + inherit_from => [ "linux-generic32" ], asm_arch => 'armv4', perlasm_scheme => "linux32", }, "linux-aarch64" => { - inherit_from => [ "linux-generic64", asm("aarch64_asm") ], + inherit_from => [ "linux-generic64" ], asm_arch => 'aarch64', perlasm_scheme => "linux64", }, "linux-arm64ilp32" => { # https://wiki.linaro.org/Platform/arm64-ilp32 - inherit_from => [ "linux-generic32", asm("aarch64_asm") ], + inherit_from => [ "linux-generic32" ], cflags => add("-mabi=ilp32"), cxxflags => add("-mabi=ilp32"), bn_ops => "SIXTY_FOUR_BIT RC4_CHAR", @@ -767,7 +778,7 @@ my %targets = ( "linux-mips32" => { # Configure script adds minimally required -march for assembly # support, if no -march was specified at command line. - inherit_from => [ "linux-generic32", asm("mips32_asm") ], + inherit_from => [ "linux-generic32" ], cflags => add("-mabi=32"), cxxflags => add("-mabi=32"), asm_arch => 'mips32', @@ -776,16 +787,16 @@ my %targets = ( # mips32 and mips64 below refer to contemporary MIPS Architecture # specifications, MIPS32 and MIPS64, rather than to kernel bitness. "linux-mips64" => { - inherit_from => [ "linux-generic32", asm("mips64_asm") ], + inherit_from => [ "linux-generic32" ], cflags => add("-mabi=n32"), cxxflags => add("-mabi=n32"), - bn_ops => "SIXTY_FOUR_BIT RC4_CHAR", + bn_ops => "RC4_CHAR", asm_arch => 'mips64', perlasm_scheme => "n32", multilib => "32", }, "linux64-mips64" => { - inherit_from => [ "linux-generic64", asm("mips64_asm") ], + inherit_from => [ "linux-generic64" ], cflags => add("-mabi=64"), cxxflags => add("-mabi=64"), asm_arch => 'mips64', @@ -797,7 +808,7 @@ my %targets = ( #### These two targets are a bit aged and are to be used on older Linux #### machines where gcc doesn't understand -m32 and -m64 "linux-elf" => { - inherit_from => [ "linux-generic32", asm("x86_elf_asm") ], + inherit_from => [ "linux-generic32" ], CFLAGS => add(picker(release => "-fomit-frame-pointer")), lib_cppflags => add("-DL_ENDIAN"), bn_ops => "BN_LLONG", @@ -805,7 +816,7 @@ my %targets = ( perlasm_scheme => "elf", }, "linux-aout" => { - inherit_from => [ "BASE_unix", asm("x86_asm") ], + inherit_from => [ "BASE_unix" ], CC => "gcc", CFLAGS => add(picker(default => "-Wall", debug => "-O0 -g", @@ -819,7 +830,7 @@ my %targets = ( #### X86 / X86_64 targets "linux-x86" => { - inherit_from => [ "linux-generic32", asm("x86_asm") ], + inherit_from => [ "linux-generic32" ], CFLAGS => add(picker(release => "-fomit-frame-pointer")), cflags => add("-m32"), cxxflags => add("-m32"), @@ -834,7 +845,7 @@ my %targets = ( CXX => "clang++", }, "linux-x86_64" => { - inherit_from => [ "linux-generic64", asm("x86_64_asm") ], + inherit_from => [ "linux-generic64" ], cflags => add("-m64"), cxxflags => add("-m64"), lib_cppflags => add("-DL_ENDIAN"), @@ -849,7 +860,7 @@ my %targets = ( CXX => "clang++", }, "linux-x32" => { - inherit_from => [ "linux-generic32", asm("x86_64_asm") ], + inherit_from => [ "linux-generic32" ], cflags => add("-mx32"), cxxflags => add("-mx32"), lib_cppflags => add("-DL_ENDIAN"), @@ -860,14 +871,14 @@ my %targets = ( }, "linux-ia64" => { - inherit_from => [ "linux-generic64", asm("ia64_asm") ], + inherit_from => [ "linux-generic64" ], bn_ops => "SIXTY_FOUR_BIT_LONG", asm_arch => 'ia64', perlasm_scheme => 'void', }, "linux64-s390x" => { - inherit_from => [ "linux-generic64", asm("s390x_asm") ], + inherit_from => [ "linux-generic64" ], cflags => add("-m64"), cxxflags => add("-m64"), lib_cppflags => add("-DB_ENDIAN"), @@ -892,7 +903,7 @@ my %targets = ( # yet, because of couple of bugs in glibc # sysdeps/s390/dl-procinfo.c affecting ldconfig and ld.so.1... # - inherit_from => [ "linux-generic32", asm("s390x_asm") ], + inherit_from => [ "linux-generic32" ], cflags => add("-m31 -Wa,-mzarch"), cxxflags => add("-m31 -Wa,-mzarch"), lib_cppflags => add("-DB_ENDIAN"), @@ -903,7 +914,7 @@ my %targets = ( #### SPARC Linux setups "linux-sparcv8" => { - inherit_from => [ "linux-generic32", asm("sparcv8_asm") ], + inherit_from => [ "linux-generic32" ], cflags => add("-mcpu=v8"), cxxflags => add("-mcpu=v8"), lib_cppflags => add("-DB_ENDIAN -DBN_DIV2W"), @@ -913,7 +924,7 @@ my %targets = ( "linux-sparcv9" => { # it's a real mess with -mcpu=ultrasparc option under Linux, # but -Wa,-Av8plus should do the trick no matter what. - inherit_from => [ "linux-generic32", asm("sparcv9_asm") ], + inherit_from => [ "linux-generic32" ], cflags => add("-m32 -mcpu=ultrasparc -Wa,-Av8plus"), cxxflags => add("-m32 -mcpu=ultrasparc -Wa,-Av8plus"), lib_cppflags => add("-DB_ENDIAN -DBN_DIV2W"), @@ -922,7 +933,7 @@ my %targets = ( }, "linux64-sparcv9" => { # GCC 3.1 is a requirement - inherit_from => [ "linux-generic64", asm("sparcv9_asm") ], + inherit_from => [ "linux-generic64" ], cflags => add("-m64 -mcpu=ultrasparc"), cxxflags => add("-m64 -mcpu=ultrasparc"), lib_cppflags => add("-DB_ENDIAN"), @@ -933,7 +944,7 @@ my %targets = ( }, "linux-alpha-gcc" => { - inherit_from => [ "linux-generic64", asm("alpha_asm") ], + inherit_from => [ "linux-generic64" ], lib_cppflags => add("-DL_ENDIAN"), bn_ops => "SIXTY_FOUR_BIT_LONG", asm_arch => 'alpha', @@ -949,13 +960,6 @@ my %targets = ( cppflags => combine("-DOPENSSL_SMALL_FOOTPRINT", threads("-D_REENTRANT")), bn_ops => "BN_LLONG", - cpuid_asm_src => "c64xpluscpuid.s", - aes_asm_src => "aes-c64xplus.s aes_cbc.c aes-ctr.fake", - sha1_asm_src => "sha1-c64xplus.s sha256-c64xplus.s sha512-c64xplus.s", - rc4_asm_src => "rc4-c64xplus.s", - modes_asm_src => "ghash-c64xplus.s", - chacha_asm_src => "chacha-c64xplus.s", - poly1305_asm_src => "poly1305-c64xplus.s", thread_scheme => "pthreads", asm_arch => 'c64xplus', perlasm_scheme => "void", @@ -996,11 +1000,10 @@ my %targets = ( }, "BSD-x86" => { - inherit_from => [ "BSD-generic32", asm("x86_asm") ], + inherit_from => [ "BSD-generic32" ], CFLAGS => add(picker(release => "-fomit-frame-pointer")), lib_cppflags => add("-DL_ENDIAN"), bn_ops => "BN_LLONG", - shared_target => "bsd-shared", asm_arch => 'x86', perlasm_scheme => "a.out", }, @@ -1010,7 +1013,7 @@ my %targets = ( }, "BSD-sparcv8" => { - inherit_from => [ "BSD-generic32", asm("sparcv8_asm") ], + inherit_from => [ "BSD-generic32" ], cflags => add("-mcpu=v8"), lib_cppflags => add("-DB_ENDIAN"), asm_arch => 'sparcv8', @@ -1020,7 +1023,7 @@ my %targets = ( # -DMD32_REG_T=int doesn't actually belong in sparc64 target, it # simply *happens* to work around a compiler bug in gcc 3.3.3, # triggered by RIPEMD160 code. - inherit_from => [ "BSD-generic64", asm("sparcv9_asm") ], + inherit_from => [ "BSD-generic64" ], lib_cppflags => add("-DB_ENDIAN -DMD32_REG_T=int"), bn_ops => "BN_LLONG", asm_arch => 'sparcv9', @@ -1028,7 +1031,7 @@ my %targets = ( }, "BSD-ia64" => { - inherit_from => [ "BSD-generic64", asm("ia64_asm") ], + inherit_from => [ "BSD-generic64" ], lib_cppflags => add("-DL_ENDIAN"), bn_ops => "SIXTY_FOUR_BIT_LONG", asm_arch => 'ia64', @@ -1036,7 +1039,7 @@ my %targets = ( }, "BSD-x86_64" => { - inherit_from => [ "BSD-generic64", asm("x86_64_asm") ], + inherit_from => [ "BSD-generic64" ], lib_cppflags => add("-DL_ENDIAN"), bn_ops => "SIXTY_FOUR_BIT_LONG", asm_arch => 'x86_64', @@ -1044,7 +1047,7 @@ my %targets = ( }, "bsdi-elf-gcc" => { - inherit_from => [ "BASE_unix", asm("x86_elf_asm") ], + inherit_from => [ "BASE_unix" ], CC => "gcc", CFLAGS => "-fomit-frame-pointer -O3 -Wall", lib_cppflags => "-DPERL5 -DL_ENDIAN", @@ -1058,23 +1061,6 @@ my %targets = ( shared_cflag => "-fPIC", }, - "nextstep" => { - inherit_from => [ "BASE_unix" ], - CC => "cc", - CFLAGS => "-O -Wall", - unistd => "", - bn_ops => "BN_LLONG", - thread_scheme => "(unknown)", - }, - "nextstep3.3" => { - inherit_from => [ "BASE_unix" ], - CC => "cc", - CFLAGS => "-O3 -Wall", - unistd => "", - bn_ops => "BN_LLONG", - thread_scheme => "(unknown)", - }, - #### SCO/Caldera targets. # # Originally we had like unixware-*, unixware-*-pentium, unixware-*-p6, etc. @@ -1104,7 +1090,7 @@ my %targets = ( thread_scheme => "uithreads", }, "unixware-7" => { - inherit_from => [ "BASE_unix", asm("x86_elf_asm") ], + inherit_from => [ "BASE_unix" ], CC => "cc", CFLAGS => "-O", cflags => combine("-Kalloca", threads("-Kthread")), @@ -1119,7 +1105,7 @@ my %targets = ( shared_cflag => "-Kpic", }, "unixware-7-gcc" => { - inherit_from => [ "BASE_unix", asm("x86_elf_asm") ], + inherit_from => [ "BASE_unix" ], CC => "gcc", CFLAGS => "-O3 -fomit-frame-pointer -Wall", cppflags => add(threads("-D_REENTRANT")), @@ -1135,7 +1121,7 @@ my %targets = ( }, # SCO 5 - Ben Laurie says the -O breaks the SCO cc. "sco5-cc" => { - inherit_from => [ "BASE_unix", asm("x86_elf_asm") ], + inherit_from => [ "BASE_unix" ], cc => "cc", cflags => "-belf", ex_libs => add("-lsocket -lnsl"), @@ -1147,7 +1133,7 @@ my %targets = ( shared_cflag => "-Kpic", }, "sco5-gcc" => { - inherit_from => [ "BASE_unix", asm("x86_elf_asm") ], + inherit_from => [ "BASE_unix" ], cc => "gcc", cflags => "-O3 -fomit-frame-pointer", ex_libs => add("-lsocket -lnsl"), @@ -1178,15 +1164,16 @@ my %targets = ( module_ldflags => "-Wl,-G,-bsymbolic,-bnoentry", shared_ldflag => "-Wl,-G,-bsymbolic,-bnoentry", shared_defflag => "-Wl,-bE:", + shared_fipsflag => "-Wl,-binitfini:init:cleanup", perl_platform => 'AIX', }, "aix-gcc" => { - inherit_from => [ "aix-common", asm("ppc32_asm") ], + inherit_from => [ "aix-common" ], CC => "gcc", CFLAGS => picker(debug => "-O0 -g", release => "-O"), cflags => add(threads("-pthread")), - ex_libs => threads("-pthread"), + ex_libs => add(threads("-pthread")), bn_ops => "BN_LLONG RC4_CHAR", asm_arch => 'ppc32', perlasm_scheme => "aix32", @@ -1195,12 +1182,12 @@ my %targets = ( RANLIB => add("-X32"), }, "aix64-gcc" => { - inherit_from => [ "aix-common", asm("ppc64_asm") ], + inherit_from => [ "aix-common" ], CC => "gcc", CFLAGS => picker(debug => "-O0 -g", release => "-O"), cflags => combine("-maix64", threads("-pthread")), - ex_libs => threads("-pthread"), + ex_libs => add(threads("-pthread")), bn_ops => "SIXTY_FOUR_BIT_LONG RC4_CHAR", asm_arch => 'ppc64', perlasm_scheme => "aix64", @@ -1210,14 +1197,14 @@ my %targets = ( RANLIB => add("-X64"), }, "aix-cc" => { - inherit_from => [ "aix-common", asm("ppc32_asm") ], + inherit_from => [ "aix-common" ], CC => "cc", CFLAGS => picker(debug => "-O0 -g", release => "-O"), cflags => combine("-q32 -qmaxmem=16384 -qro -qroconst", threads("-qthreaded")), cppflags => threads("-D_THREAD_SAFE"), - ex_libs => threads("-lpthreads"), + ex_libs => add(threads("-lpthreads")), bn_ops => "BN_LLONG RC4_CHAR", asm_arch => 'ppc32', perlasm_scheme => "aix32", @@ -1226,14 +1213,14 @@ my %targets = ( RANLIB => add("-X32"), }, "aix64-cc" => { - inherit_from => [ "aix-common", asm("ppc64_asm") ], + inherit_from => [ "aix-common" ], CC => "cc", CFLAGS => picker(debug => "-O0 -g", release => "-O"), cflags => combine("-q64 -qmaxmem=16384 -qro -qroconst", threads("-qthreaded")), cppflags => threads("-D_THREAD_SAFE"), - ex_libs => threads("-lpthreads"), + ex_libs => add(threads("-lpthreads")), bn_ops => "SIXTY_FOUR_BIT_LONG RC4_CHAR", asm_arch => 'ppc64', perlasm_scheme => "aix64", @@ -1298,7 +1285,6 @@ my %targets = ( shared_target => "win-shared", # meaningless except it gives Configure a hint thread_scheme => "winthreads", dso_scheme => "win32", - bn_ops => "EXPORT_VAR_AS_FN", perl_platform => 'Windows::MSVC', # additional parameter to build_scheme denotes install-path "flavour" build_scheme => add("VC-common", { separator => undef }), @@ -1353,7 +1339,7 @@ my %targets = ( bn_ops => add("SIXTY_FOUR_BIT"), }, "VC-WIN64I" => { - inherit_from => [ "VC-WIN64-common", asm("ia64_asm") ], + inherit_from => [ "VC-WIN64-common" ], AS => "ias", ASFLAGS => "-d debug", asoutflag => "-o ", @@ -1364,7 +1350,7 @@ my %targets = ( multilib => "-ia64", }, "VC-WIN64A" => { - inherit_from => [ "VC-WIN64-common", asm("x86_64_asm") ], + inherit_from => [ "VC-WIN64-common" ], AS => sub { vc_win64a_info()->{AS} }, ASFLAGS => sub { vc_win64a_info()->{ASFLAGS} }, asoutflag => sub { vc_win64a_info()->{asoutflag} }, @@ -1376,8 +1362,7 @@ my %targets = ( multilib => "-x64", }, "VC-WIN32" => { - inherit_from => [ "VC-noCE-common", asm("x86_asm") ], - CFLAGS => add("/WX"), + inherit_from => [ "VC-noCE-common" ], AS => sub { vc_win32_info()->{AS} }, ASFLAGS => sub { vc_win32_info()->{ASFLAGS} }, asoutflag => sub { vc_win32_info()->{asoutflag} }, @@ -1450,7 +1435,6 @@ my %targets = ( threads("-D_MT")), lib_cppflags => "-DL_ENDIAN", ex_libs => add("-lws2_32 -lgdi32 -lcrypt32"), - bn_ops => "EXPORT_VAR_AS_FN", thread_scheme => "winthreads", dso_scheme => "win32", shared_target => "mingw-shared", @@ -1460,7 +1444,7 @@ my %targets = ( perl_platform => 'mingw', }, "mingw" => { - inherit_from => [ "mingw-common", asm("x86_asm") ], + inherit_from => [ "mingw-common" ], CFLAGS => add(picker(release => "-fomit-frame-pointer")), cflags => "-m32", sys_id => "MINGW32", @@ -1480,7 +1464,7 @@ my %targets = ( # consider its binaries for using with non-mingw64 run-time # environment. And as mingw64 is always consistent with itself, # Applink is never engaged and can as well be omitted. - inherit_from => [ "mingw-common", asm("x86_64_asm") ], + inherit_from => [ "mingw-common" ], cflags => "-m64", sys_id => "MINGW64", bn_ops => add("SIXTY_FOUR_BIT"), @@ -1499,6 +1483,16 @@ my %targets = ( lib_cppflags => "-DL_ENDIAN", sys_id => "UEFI", }, + "UEFI-x86" => { + inherit_from => [ "UEFI" ], + asm_arch => 'x86', + perlasm_scheme => "win32n", + }, + "UEFI-x86_64" => { + inherit_from => [ "UEFI" ], + asm_arch => 'x86_64', + perlasm_scheme => "nasm", + }, #### UWIN "UWIN" => { @@ -1530,14 +1524,14 @@ my %targets = ( perl_platform => 'Cygwin', }, "Cygwin-x86" => { - inherit_from => [ "Cygwin-common", asm("x86_asm") ], + inherit_from => [ "Cygwin-common" ], CFLAGS => add(picker(release => "-O3 -fomit-frame-pointer")), bn_ops => "BN_LLONG", asm_arch => 'x86', perlasm_scheme => "coff", }, "Cygwin-x86_64" => { - inherit_from => [ "Cygwin-common", asm("x86_64_asm") ], + inherit_from => [ "Cygwin-common" ], CC => "gcc", bn_ops => "SIXTY_FOUR_BIT_LONG", asm_arch => 'x86_64', @@ -1583,24 +1577,27 @@ my %targets = ( # Option "freeze" such as -std=gnu9x can't negatively interfere # with future defaults for below two targets, because MacOS X # for PPC has no future, it was discontinued by vendor in 2009. - "darwin-ppc-cc" => { - inherit_from => [ "darwin-common", asm("ppc32_asm") ], + "darwin-ppc-cc" => { inherit_from => [ "darwin-ppc" ] }, # Historic alias + "darwin-ppc" => { + inherit_from => [ "darwin-common" ], cflags => add("-arch ppc -std=gnu9x -Wa,-force_cpusubtype_ALL"), lib_cppflags => add("-DB_ENDIAN"), shared_cflag => add("-fno-common"), asm_arch => 'ppc32', perlasm_scheme => "osx32", }, - "darwin64-ppc-cc" => { - inherit_from => [ "darwin-common", asm("ppc64_asm") ], + "darwin64-ppc-cc" => { inherit_from => [ "darwin64-ppc" ] }, # Historic alias + "darwin64-ppc" => { + inherit_from => [ "darwin-common" ], cflags => add("-arch ppc64 -std=gnu9x"), lib_cppflags => add("-DB_ENDIAN"), bn_ops => "SIXTY_FOUR_BIT_LONG RC4_CHAR", asm_arch => 'ppc64', perlasm_scheme => "osx64", }, - "darwin-i386-cc" => { - inherit_from => [ "darwin-common", asm("x86_asm") ], + "darwin-i386-cc" => { inherit_from => [ "darwin-i386" ] }, # Historic alias + "darwin-i386" => { + inherit_from => [ "darwin-common" ], CFLAGS => add(picker(release => "-fomit-frame-pointer")), cflags => add("-arch i386"), lib_cppflags => add("-DL_ENDIAN"), @@ -1608,8 +1605,9 @@ my %targets = ( asm_arch => 'x86', perlasm_scheme => "macosx", }, - "darwin64-x86_64-cc" => { - inherit_from => [ "darwin-common", asm("x86_64_asm") ], + "darwin64-x86_64-cc" => { inherit_from => [ "darwin64-x86_64" ] }, # Historic alias + "darwin64-x86_64" => { + inherit_from => [ "darwin-common" ], CFLAGS => add("-Wall"), cflags => add("-arch x86_64"), lib_cppflags => add("-DL_ENDIAN"), @@ -1621,7 +1619,6 @@ my %targets = ( ##### GNU Hurd "hurd-x86" => { inherit_from => [ "BASE_unix" ], - inherit_from => [ asm("x86_elf_asm") ], CC => "gcc", CFLAGS => "-O3 -fomit-frame-pointer -Wall", cflags => threads("-pthread"), @@ -1719,7 +1716,7 @@ my %targets = ( ranlib => "ranlibpentium", }, "vxworks-mips" => { - inherit_from => [ "BASE_unix", asm("mips32_asm") ], + inherit_from => [ "BASE_unix" ], CC => "ccmips", CFLAGS => "-O -G 0", cflags => "-mrtp -mips2 -B\$(WIND_BASE)/host/\$(WIND_HOST_TYPE)/lib/gcc-lib/ -msoft-float -mno-branch-likely -fno-builtin -fno-defer-pop", @@ -1793,7 +1790,7 @@ my %targets = ( debug => "/DEBUG/TRACEBACK", release => "/NODEBUG/NOTRACEBACK"), # Because of dso_cflags below, we can't set the generic |cflags| here, - # as it can't be overriden, so we set separate C flags for libraries + # as it can't be overridden, so we set separate C flags for libraries # and binaries instead. bin_cflags => add("/NAMES=(AS_IS,SHORTENED)/EXTERN_MODEL=STRICT_REFDEF"), lib_cflags => add("/NAMES=(AS_IS,SHORTENED)/EXTERN_MODEL=STRICT_REFDEF"), @@ -1848,15 +1845,12 @@ my %targets = ( pointer_size => "64", }, "vms-ia64" => { - inherit_from => [ "vms-generic", - sub { vms_info()->{AS} - ? asm("ia64_asm")->() : () } ], + inherit_from => [ "vms-generic" ], bn_ops => "SIXTY_FOUR_BIT RC4_INT", asm_arch => sub { vms_info()->{AS} ? 'ia64' : undef }, perlasm_scheme => 'ias', pointer_size => "", - modes_asm_src => "", # Because ghash-ia64.s doesn't work on VMS }, "vms-ia64-p32" => { inherit_from => [ "vms-ia64" ],