Configure: final cleanup of asm related things

Remove the *_asm templates in Configurations/00-base-templates.conf,
all attempts to inherit them, and the asm() perl function.

[extended tests]

Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/9166)
This commit is contained in:
Richard Levitte 2019-06-16 23:01:10 +02:00
parent 3a561b06d9
commit 30478c9783
9 changed files with 80 additions and 151 deletions

View file

@ -146,57 +146,4 @@ my %targets=(
perl_platform => 'VMS', perl_platform => 'VMS',
}, },
x86_asm => {
template => 1,
},
x86_elf_asm => {
template => 1,
inherit_from => [ "x86_asm" ],
},
x86_64_asm => {
template => 1,
},
ia64_asm => {
template => 1,
},
sparcv9_asm => {
template => 1,
},
sparcv8_asm => {
template => 1,
},
alpha_asm => {
template => 1,
},
mips32_asm => {
template => 1,
},
mips64_asm => {
inherit_from => [ "mips32_asm" ],
template => 1,
},
s390x_asm => {
template => 1,
},
armv4_asm => {
template => 1,
},
aarch64_asm => {
template => 1,
},
parisc11_asm => {
template => 1,
},
parisc20_64_asm => {
template => 1,
inherit_from => [ "parisc11_asm" ],
},
ppc32_asm => {
template => 1,
},
ppc64_asm => {
inherit_from => [ "ppc32_asm" ],
template => 1,
},
); );

View file

@ -221,7 +221,7 @@ my %targets = (
# NB. GNU C has to be configured to use GNU assembler, and not # NB. GNU C has to be configured to use GNU assembler, and not
# /usr/ccs/bin/as. Failure to comply will result in compile # /usr/ccs/bin/as. Failure to comply will result in compile
# failures [at least] in 32-bit build. # failures [at least] in 32-bit build.
inherit_from => [ "solaris-common", asm("x86_elf_asm") ], inherit_from => [ "solaris-common" ],
CC => "gcc", CC => "gcc",
CFLAGS => add_before(picker(default => "-Wall", CFLAGS => add_before(picker(default => "-Wall",
debug => "-O0 -g", debug => "-O0 -g",
@ -244,7 +244,7 @@ my %targets = (
# code [thanks to inline assembler], I would actually recommend # code [thanks to inline assembler], I would actually recommend
# to consider using gcc shared build even with vendor compiler:-) # to consider using gcc shared build even with vendor compiler:-)
# -- <appro@openssl.org> # -- <appro@openssl.org>
inherit_from => [ "solaris-common", asm("x86_64_asm") ], inherit_from => [ "solaris-common" ],
CC => "gcc", CC => "gcc",
CFLAGS => add_before(picker(default => "-Wall", CFLAGS => add_before(picker(default => "-Wall",
debug => "-O0 -g", debug => "-O0 -g",
@ -274,7 +274,7 @@ my %targets = (
# Consider switching to solaris64-x86_64-gcc even here... # Consider switching to solaris64-x86_64-gcc even here...
# #
"solaris64-x86_64-cc" => { "solaris64-x86_64-cc" => {
inherit_from => [ "solaris-common", asm("x86_64_asm") ], inherit_from => [ "solaris-common" ],
CC => "cc", CC => "cc",
CFLAGS => add_before(picker(debug => "-g", CFLAGS => add_before(picker(debug => "-g",
release => "-xO5 -xdepend -xbuiltin")), release => "-xO5 -xdepend -xbuiltin")),
@ -307,7 +307,7 @@ my %targets = (
shared_ldflag => add_before("-shared"), shared_ldflag => add_before("-shared"),
}, },
"solaris-sparcv8-gcc" => { "solaris-sparcv8-gcc" => {
inherit_from => [ "solaris-sparcv7-gcc", asm("sparcv8_asm") ], inherit_from => [ "solaris-sparcv7-gcc" ],
cflags => add_before("-mcpu=v8"), cflags => add_before("-mcpu=v8"),
asm_arch => 'sparcv8', asm_arch => 'sparcv8',
perlasm_scheme => 'void', perlasm_scheme => 'void',
@ -315,7 +315,7 @@ my %targets = (
"solaris-sparcv9-gcc" => { "solaris-sparcv9-gcc" => {
# -m32 should be safe to add as long as driver recognizes # -m32 should be safe to add as long as driver recognizes
# -mcpu=ultrasparc # -mcpu=ultrasparc
inherit_from => [ "solaris-sparcv7-gcc", asm("sparcv9_asm") ], inherit_from => [ "solaris-sparcv7-gcc" ],
cflags => add_before("-m32 -mcpu=ultrasparc"), cflags => add_before("-m32 -mcpu=ultrasparc"),
asm_arch => 'sparcv9', asm_arch => 'sparcv9',
perlasm_scheme => 'void', perlasm_scheme => 'void',
@ -347,19 +347,19 @@ my %targets = (
}, },
#### ####
"solaris-sparcv8-cc" => { "solaris-sparcv8-cc" => {
inherit_from => [ "solaris-sparcv7-cc", asm("sparcv8_asm") ], inherit_from => [ "solaris-sparcv7-cc" ],
cflags => add_before("-xarch=v8"), cflags => add_before("-xarch=v8"),
asm_arch => 'sparcv8', asm_arch => 'sparcv8',
perlasm_scheme => 'void', perlasm_scheme => 'void',
}, },
"solaris-sparcv9-cc" => { "solaris-sparcv9-cc" => {
inherit_from => [ "solaris-sparcv7-cc", asm("sparcv9_asm") ], inherit_from => [ "solaris-sparcv7-cc" ],
cflags => add_before("-xarch=v8plus"), cflags => add_before("-xarch=v8plus"),
asm_arch => 'sparcv9', asm_arch => 'sparcv9',
perlasm_scheme => 'void', perlasm_scheme => 'void',
}, },
"solaris64-sparcv9-cc" => { "solaris64-sparcv9-cc" => {
inherit_from => [ "solaris-sparcv7-cc", asm("sparcv9_asm") ], inherit_from => [ "solaris-sparcv7-cc" ],
cflags => add_before("-xarch=v9"), cflags => add_before("-xarch=v9"),
bn_ops => "BN_LLONG RC4_CHAR", bn_ops => "BN_LLONG RC4_CHAR",
asm_arch => 'sparcv9', asm_arch => 'sparcv9',
@ -382,7 +382,7 @@ my %targets = (
shared_sonameflag=> "-Wl,-soname,", shared_sonameflag=> "-Wl,-soname,",
}, },
"irix-mips3-gcc" => { "irix-mips3-gcc" => {
inherit_from => [ "irix-common", asm("mips64_asm") ], inherit_from => [ "irix-common" ],
CC => "gcc", CC => "gcc",
CFLAGS => picker(debug => "-g -O0", CFLAGS => picker(debug => "-g -O0",
release => "-O3"), release => "-O3"),
@ -394,7 +394,7 @@ my %targets = (
multilib => "32", multilib => "32",
}, },
"irix-mips3-cc" => { "irix-mips3-cc" => {
inherit_from => [ "irix-common", asm("mips64_asm") ], inherit_from => [ "irix-common" ],
CC => "cc", CC => "cc",
CFLAGS => picker(debug => "-g -O0", CFLAGS => picker(debug => "-g -O0",
release => "-O2"), release => "-O2"),
@ -406,7 +406,7 @@ my %targets = (
}, },
# N64 ABI builds. # N64 ABI builds.
"irix64-mips4-gcc" => { "irix64-mips4-gcc" => {
inherit_from => [ "irix-common", asm("mips64_asm") ], inherit_from => [ "irix-common" ],
CC => "gcc", CC => "gcc",
CFLAGS => picker(debug => "-g -O0", CFLAGS => picker(debug => "-g -O0",
release => "-O3"), release => "-O3"),
@ -418,7 +418,7 @@ my %targets = (
multilib => "64", multilib => "64",
}, },
"irix64-mips4-cc" => { "irix64-mips4-cc" => {
inherit_from => [ "irix-common", asm("mips64_asm") ], inherit_from => [ "irix-common" ],
CC => "cc", CC => "cc",
CFLAGS => picker(debug => "-g -O0", CFLAGS => picker(debug => "-g -O0",
release => "-O2"), release => "-O2"),
@ -484,13 +484,13 @@ my %targets = (
shared_extension => ".sl.\$(SHLIB_VERSION_NUMBER)", shared_extension => ".sl.\$(SHLIB_VERSION_NUMBER)",
}, },
"hpux-parisc1_1-gcc" => { "hpux-parisc1_1-gcc" => {
inherit_from => [ "hpux-parisc-gcc", asm("parisc11_asm") ], inherit_from => [ "hpux-parisc-gcc" ],
asm_arch => 'parisc11', asm_arch => 'parisc11',
perlasm_scheme => "32", perlasm_scheme => "32",
multilib => "/pa1.1", multilib => "/pa1.1",
}, },
"hpux64-parisc2-gcc" => { "hpux64-parisc2-gcc" => {
inherit_from => [ "hpux-common", asm("parisc20_64_asm") ], inherit_from => [ "hpux-common" ],
CC => "gcc", CC => "gcc",
CFLAGS => combine(picker(debug => "-O0 -g", CFLAGS => combine(picker(debug => "-O0 -g",
release => "-O3")), release => "-O3")),
@ -522,14 +522,14 @@ my %targets = (
shared_extension => ".sl.\$(SHLIB_VERSION_NUMBER)", shared_extension => ".sl.\$(SHLIB_VERSION_NUMBER)",
}, },
"hpux-parisc1_1-cc" => { "hpux-parisc1_1-cc" => {
inherit_from => [ "hpux-parisc-cc", asm("parisc11_asm") ], inherit_from => [ "hpux-parisc-cc" ],
cflags => add_before("+DA1.1"), cflags => add_before("+DA1.1"),
asm_arch => 'parisc11', asm_arch => 'parisc11',
perlasm_scheme => "32", perlasm_scheme => "32",
multilib => "/pa1.1", multilib => "/pa1.1",
}, },
"hpux64-parisc2-cc" => { "hpux64-parisc2-cc" => {
inherit_from => [ "hpux-common", asm("parisc20_64_asm") ], inherit_from => [ "hpux-common" ],
CC => "cc", CC => "cc",
CFLAGS => picker(debug => "+O0 +d -g", CFLAGS => picker(debug => "+O0 +d -g",
release => "+O3") , release => "+O3") ,
@ -548,7 +548,7 @@ my %targets = (
# HP/UX IA-64 targets # HP/UX IA-64 targets
"hpux-ia64-cc" => { "hpux-ia64-cc" => {
inherit_from => [ "hpux-common", asm("ia64_asm") ], inherit_from => [ "hpux-common" ],
CC => "cc", CC => "cc",
CFLAGS => picker(debug => "+O0 +d -g", CFLAGS => picker(debug => "+O0 +d -g",
release => "+O2"), release => "+O2"),
@ -563,7 +563,7 @@ my %targets = (
multilib => "/hpux32", multilib => "/hpux32",
}, },
"hpux64-ia64-cc" => { "hpux64-ia64-cc" => {
inherit_from => [ "hpux-common", asm("ia64_asm") ], inherit_from => [ "hpux-common" ],
CC => "cc", CC => "cc",
CFLAGS => picker(debug => "+O0 +d -g", CFLAGS => picker(debug => "+O0 +d -g",
release => "+O3"), release => "+O3"),
@ -579,7 +579,7 @@ my %targets = (
}, },
# GCC builds... # GCC builds...
"hpux-ia64-gcc" => { "hpux-ia64-gcc" => {
inherit_from => [ "hpux-common", asm("ia64_asm") ], inherit_from => [ "hpux-common" ],
CC => "gcc", CC => "gcc",
CFLAGS => picker(debug => "-O0 -g", CFLAGS => picker(debug => "-O0 -g",
release => "-O3"), release => "-O3"),
@ -593,7 +593,7 @@ my %targets = (
multilib => "/hpux32", multilib => "/hpux32",
}, },
"hpux64-ia64-gcc" => { "hpux64-ia64-gcc" => {
inherit_from => [ "hpux-common", asm("ia64_asm") ], inherit_from => [ "hpux-common" ],
CC => "gcc", CC => "gcc",
CFLAGS => picker(debug => "-O0 -g", CFLAGS => picker(debug => "-O0 -g",
release => "-O3"), release => "-O3"),
@ -627,7 +627,7 @@ my %targets = (
#### there were even osf1-* configs targeting prior versions provided, #### there were even osf1-* configs targeting prior versions provided,
#### but not anymore... #### but not anymore...
"tru64-alpha-gcc" => { "tru64-alpha-gcc" => {
inherit_from => [ "BASE_unix", asm("alpha_asm") ], inherit_from => [ "BASE_unix" ],
CC => "gcc", CC => "gcc",
CFLAGS => "-O3", CFLAGS => "-O3",
cflags => add("-std=c9x", threads("-pthread")), cflags => add("-std=c9x", threads("-pthread")),
@ -642,7 +642,7 @@ my %targets = (
shared_extension => ".so", shared_extension => ".so",
}, },
"tru64-alpha-cc" => { "tru64-alpha-cc" => {
inherit_from => [ "BASE_unix", asm("alpha_asm") ], inherit_from => [ "BASE_unix" ],
CC => "cc", CC => "cc",
CFLAGS => "-tune host -fast", CFLAGS => "-tune host -fast",
cflags => add("-std1 -readonly_strings", cflags => add("-std1 -readonly_strings",
@ -692,12 +692,12 @@ my %targets = (
}, },
"linux-ppc" => { "linux-ppc" => {
inherit_from => [ "linux-generic32", asm("ppc32_asm") ], inherit_from => [ "linux-generic32" ],
asm_arch => 'ppc32', asm_arch => 'ppc32',
perlasm_scheme => "linux32", perlasm_scheme => "linux32",
}, },
"linux-ppc64" => { "linux-ppc64" => {
inherit_from => [ "linux-generic64", asm("ppc64_asm") ], inherit_from => [ "linux-generic64" ],
cflags => add("-m64"), cflags => add("-m64"),
cxxflags => add("-m64"), cxxflags => add("-m64"),
lib_cppflags => add("-DB_ENDIAN"), lib_cppflags => add("-DB_ENDIAN"),
@ -706,7 +706,7 @@ my %targets = (
multilib => "64", multilib => "64",
}, },
"linux-ppc64le" => { "linux-ppc64le" => {
inherit_from => [ "linux-generic64", asm("ppc64_asm") ], inherit_from => [ "linux-generic64" ],
cflags => add("-m64"), cflags => add("-m64"),
cxxflags => add("-m64"), cxxflags => add("-m64"),
lib_cppflags => add("-DL_ENDIAN"), lib_cppflags => add("-DL_ENDIAN"),
@ -746,17 +746,17 @@ my %targets = (
# #
# ./Configure linux-armv4 -march=armv6 -D__ARM_MAX_ARCH__=8 # ./Configure linux-armv4 -march=armv6 -D__ARM_MAX_ARCH__=8
# #
inherit_from => [ "linux-generic32", asm("armv4_asm") ], inherit_from => [ "linux-generic32" ],
asm_arch => 'armv4', asm_arch => 'armv4',
perlasm_scheme => "linux32", perlasm_scheme => "linux32",
}, },
"linux-aarch64" => { "linux-aarch64" => {
inherit_from => [ "linux-generic64", asm("aarch64_asm") ], inherit_from => [ "linux-generic64" ],
asm_arch => 'aarch64', asm_arch => 'aarch64',
perlasm_scheme => "linux64", perlasm_scheme => "linux64",
}, },
"linux-arm64ilp32" => { # https://wiki.linaro.org/Platform/arm64-ilp32 "linux-arm64ilp32" => { # https://wiki.linaro.org/Platform/arm64-ilp32
inherit_from => [ "linux-generic32", asm("aarch64_asm") ], inherit_from => [ "linux-generic32" ],
cflags => add("-mabi=ilp32"), cflags => add("-mabi=ilp32"),
cxxflags => add("-mabi=ilp32"), cxxflags => add("-mabi=ilp32"),
bn_ops => "SIXTY_FOUR_BIT RC4_CHAR", bn_ops => "SIXTY_FOUR_BIT RC4_CHAR",
@ -767,7 +767,7 @@ my %targets = (
"linux-mips32" => { "linux-mips32" => {
# Configure script adds minimally required -march for assembly # Configure script adds minimally required -march for assembly
# support, if no -march was specified at command line. # support, if no -march was specified at command line.
inherit_from => [ "linux-generic32", asm("mips32_asm") ], inherit_from => [ "linux-generic32" ],
cflags => add("-mabi=32"), cflags => add("-mabi=32"),
cxxflags => add("-mabi=32"), cxxflags => add("-mabi=32"),
asm_arch => 'mips32', asm_arch => 'mips32',
@ -776,7 +776,7 @@ my %targets = (
# mips32 and mips64 below refer to contemporary MIPS Architecture # mips32 and mips64 below refer to contemporary MIPS Architecture
# specifications, MIPS32 and MIPS64, rather than to kernel bitness. # specifications, MIPS32 and MIPS64, rather than to kernel bitness.
"linux-mips64" => { "linux-mips64" => {
inherit_from => [ "linux-generic32", asm("mips64_asm") ], inherit_from => [ "linux-generic32" ],
cflags => add("-mabi=n32"), cflags => add("-mabi=n32"),
cxxflags => add("-mabi=n32"), cxxflags => add("-mabi=n32"),
bn_ops => "SIXTY_FOUR_BIT RC4_CHAR", bn_ops => "SIXTY_FOUR_BIT RC4_CHAR",
@ -785,7 +785,7 @@ my %targets = (
multilib => "32", multilib => "32",
}, },
"linux64-mips64" => { "linux64-mips64" => {
inherit_from => [ "linux-generic64", asm("mips64_asm") ], inherit_from => [ "linux-generic64" ],
cflags => add("-mabi=64"), cflags => add("-mabi=64"),
cxxflags => add("-mabi=64"), cxxflags => add("-mabi=64"),
asm_arch => 'mips64', asm_arch => 'mips64',
@ -797,7 +797,7 @@ my %targets = (
#### These two targets are a bit aged and are to be used on older Linux #### These two targets are a bit aged and are to be used on older Linux
#### machines where gcc doesn't understand -m32 and -m64 #### machines where gcc doesn't understand -m32 and -m64
"linux-elf" => { "linux-elf" => {
inherit_from => [ "linux-generic32", asm("x86_elf_asm") ], inherit_from => [ "linux-generic32" ],
CFLAGS => add(picker(release => "-fomit-frame-pointer")), CFLAGS => add(picker(release => "-fomit-frame-pointer")),
lib_cppflags => add("-DL_ENDIAN"), lib_cppflags => add("-DL_ENDIAN"),
bn_ops => "BN_LLONG", bn_ops => "BN_LLONG",
@ -805,7 +805,7 @@ my %targets = (
perlasm_scheme => "elf", perlasm_scheme => "elf",
}, },
"linux-aout" => { "linux-aout" => {
inherit_from => [ "BASE_unix", asm("x86_asm") ], inherit_from => [ "BASE_unix" ],
CC => "gcc", CC => "gcc",
CFLAGS => add(picker(default => "-Wall", CFLAGS => add(picker(default => "-Wall",
debug => "-O0 -g", debug => "-O0 -g",
@ -819,7 +819,7 @@ my %targets = (
#### X86 / X86_64 targets #### X86 / X86_64 targets
"linux-x86" => { "linux-x86" => {
inherit_from => [ "linux-generic32", asm("x86_asm") ], inherit_from => [ "linux-generic32" ],
CFLAGS => add(picker(release => "-fomit-frame-pointer")), CFLAGS => add(picker(release => "-fomit-frame-pointer")),
cflags => add("-m32"), cflags => add("-m32"),
cxxflags => add("-m32"), cxxflags => add("-m32"),
@ -834,7 +834,7 @@ my %targets = (
CXX => "clang++", CXX => "clang++",
}, },
"linux-x86_64" => { "linux-x86_64" => {
inherit_from => [ "linux-generic64", asm("x86_64_asm") ], inherit_from => [ "linux-generic64" ],
cflags => add("-m64"), cflags => add("-m64"),
cxxflags => add("-m64"), cxxflags => add("-m64"),
lib_cppflags => add("-DL_ENDIAN"), lib_cppflags => add("-DL_ENDIAN"),
@ -849,7 +849,7 @@ my %targets = (
CXX => "clang++", CXX => "clang++",
}, },
"linux-x32" => { "linux-x32" => {
inherit_from => [ "linux-generic32", asm("x86_64_asm") ], inherit_from => [ "linux-generic32" ],
cflags => add("-mx32"), cflags => add("-mx32"),
cxxflags => add("-mx32"), cxxflags => add("-mx32"),
lib_cppflags => add("-DL_ENDIAN"), lib_cppflags => add("-DL_ENDIAN"),
@ -860,14 +860,14 @@ my %targets = (
}, },
"linux-ia64" => { "linux-ia64" => {
inherit_from => [ "linux-generic64", asm("ia64_asm") ], inherit_from => [ "linux-generic64" ],
bn_ops => "SIXTY_FOUR_BIT_LONG", bn_ops => "SIXTY_FOUR_BIT_LONG",
asm_arch => 'ia64', asm_arch => 'ia64',
perlasm_scheme => 'void', perlasm_scheme => 'void',
}, },
"linux64-s390x" => { "linux64-s390x" => {
inherit_from => [ "linux-generic64", asm("s390x_asm") ], inherit_from => [ "linux-generic64" ],
cflags => add("-m64"), cflags => add("-m64"),
cxxflags => add("-m64"), cxxflags => add("-m64"),
lib_cppflags => add("-DB_ENDIAN"), lib_cppflags => add("-DB_ENDIAN"),
@ -892,7 +892,7 @@ my %targets = (
# yet, because of couple of bugs in glibc # yet, because of couple of bugs in glibc
# sysdeps/s390/dl-procinfo.c affecting ldconfig and ld.so.1... # 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"), cflags => add("-m31 -Wa,-mzarch"),
cxxflags => add("-m31 -Wa,-mzarch"), cxxflags => add("-m31 -Wa,-mzarch"),
lib_cppflags => add("-DB_ENDIAN"), lib_cppflags => add("-DB_ENDIAN"),
@ -903,7 +903,7 @@ my %targets = (
#### SPARC Linux setups #### SPARC Linux setups
"linux-sparcv8" => { "linux-sparcv8" => {
inherit_from => [ "linux-generic32", asm("sparcv8_asm") ], inherit_from => [ "linux-generic32" ],
cflags => add("-mcpu=v8"), cflags => add("-mcpu=v8"),
cxxflags => add("-mcpu=v8"), cxxflags => add("-mcpu=v8"),
lib_cppflags => add("-DB_ENDIAN -DBN_DIV2W"), lib_cppflags => add("-DB_ENDIAN -DBN_DIV2W"),
@ -913,7 +913,7 @@ my %targets = (
"linux-sparcv9" => { "linux-sparcv9" => {
# it's a real mess with -mcpu=ultrasparc option under Linux, # it's a real mess with -mcpu=ultrasparc option under Linux,
# but -Wa,-Av8plus should do the trick no matter what. # 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"), cflags => add("-m32 -mcpu=ultrasparc -Wa,-Av8plus"),
cxxflags => add("-m32 -mcpu=ultrasparc -Wa,-Av8plus"), cxxflags => add("-m32 -mcpu=ultrasparc -Wa,-Av8plus"),
lib_cppflags => add("-DB_ENDIAN -DBN_DIV2W"), lib_cppflags => add("-DB_ENDIAN -DBN_DIV2W"),
@ -922,7 +922,7 @@ my %targets = (
}, },
"linux64-sparcv9" => { "linux64-sparcv9" => {
# GCC 3.1 is a requirement # GCC 3.1 is a requirement
inherit_from => [ "linux-generic64", asm("sparcv9_asm") ], inherit_from => [ "linux-generic64" ],
cflags => add("-m64 -mcpu=ultrasparc"), cflags => add("-m64 -mcpu=ultrasparc"),
cxxflags => add("-m64 -mcpu=ultrasparc"), cxxflags => add("-m64 -mcpu=ultrasparc"),
lib_cppflags => add("-DB_ENDIAN"), lib_cppflags => add("-DB_ENDIAN"),
@ -933,7 +933,7 @@ my %targets = (
}, },
"linux-alpha-gcc" => { "linux-alpha-gcc" => {
inherit_from => [ "linux-generic64", asm("alpha_asm") ], inherit_from => [ "linux-generic64" ],
lib_cppflags => add("-DL_ENDIAN"), lib_cppflags => add("-DL_ENDIAN"),
bn_ops => "SIXTY_FOUR_BIT_LONG", bn_ops => "SIXTY_FOUR_BIT_LONG",
asm_arch => 'alpha', asm_arch => 'alpha',
@ -989,7 +989,7 @@ my %targets = (
}, },
"BSD-x86" => { "BSD-x86" => {
inherit_from => [ "BSD-generic32", asm("x86_asm") ], inherit_from => [ "BSD-generic32" ],
CFLAGS => add(picker(release => "-fomit-frame-pointer")), CFLAGS => add(picker(release => "-fomit-frame-pointer")),
lib_cppflags => add("-DL_ENDIAN"), lib_cppflags => add("-DL_ENDIAN"),
bn_ops => "BN_LLONG", bn_ops => "BN_LLONG",
@ -1003,7 +1003,7 @@ my %targets = (
}, },
"BSD-sparcv8" => { "BSD-sparcv8" => {
inherit_from => [ "BSD-generic32", asm("sparcv8_asm") ], inherit_from => [ "BSD-generic32" ],
cflags => add("-mcpu=v8"), cflags => add("-mcpu=v8"),
lib_cppflags => add("-DB_ENDIAN"), lib_cppflags => add("-DB_ENDIAN"),
asm_arch => 'sparcv8', asm_arch => 'sparcv8',
@ -1013,7 +1013,7 @@ my %targets = (
# -DMD32_REG_T=int doesn't actually belong in sparc64 target, it # -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, # simply *happens* to work around a compiler bug in gcc 3.3.3,
# triggered by RIPEMD160 code. # triggered by RIPEMD160 code.
inherit_from => [ "BSD-generic64", asm("sparcv9_asm") ], inherit_from => [ "BSD-generic64" ],
lib_cppflags => add("-DB_ENDIAN -DMD32_REG_T=int"), lib_cppflags => add("-DB_ENDIAN -DMD32_REG_T=int"),
bn_ops => "BN_LLONG", bn_ops => "BN_LLONG",
asm_arch => 'sparcv9', asm_arch => 'sparcv9',
@ -1021,7 +1021,7 @@ my %targets = (
}, },
"BSD-ia64" => { "BSD-ia64" => {
inherit_from => [ "BSD-generic64", asm("ia64_asm") ], inherit_from => [ "BSD-generic64" ],
lib_cppflags => add("-DL_ENDIAN"), lib_cppflags => add("-DL_ENDIAN"),
bn_ops => "SIXTY_FOUR_BIT_LONG", bn_ops => "SIXTY_FOUR_BIT_LONG",
asm_arch => 'ia64', asm_arch => 'ia64',
@ -1029,7 +1029,7 @@ my %targets = (
}, },
"BSD-x86_64" => { "BSD-x86_64" => {
inherit_from => [ "BSD-generic64", asm("x86_64_asm") ], inherit_from => [ "BSD-generic64" ],
lib_cppflags => add("-DL_ENDIAN"), lib_cppflags => add("-DL_ENDIAN"),
bn_ops => "SIXTY_FOUR_BIT_LONG", bn_ops => "SIXTY_FOUR_BIT_LONG",
asm_arch => 'x86_64', asm_arch => 'x86_64',
@ -1037,7 +1037,7 @@ my %targets = (
}, },
"bsdi-elf-gcc" => { "bsdi-elf-gcc" => {
inherit_from => [ "BASE_unix", asm("x86_elf_asm") ], inherit_from => [ "BASE_unix" ],
CC => "gcc", CC => "gcc",
CFLAGS => "-fomit-frame-pointer -O3 -Wall", CFLAGS => "-fomit-frame-pointer -O3 -Wall",
lib_cppflags => "-DPERL5 -DL_ENDIAN", lib_cppflags => "-DPERL5 -DL_ENDIAN",
@ -1097,7 +1097,7 @@ my %targets = (
thread_scheme => "uithreads", thread_scheme => "uithreads",
}, },
"unixware-7" => { "unixware-7" => {
inherit_from => [ "BASE_unix", asm("x86_elf_asm") ], inherit_from => [ "BASE_unix" ],
CC => "cc", CC => "cc",
CFLAGS => "-O", CFLAGS => "-O",
cflags => combine("-Kalloca", threads("-Kthread")), cflags => combine("-Kalloca", threads("-Kthread")),
@ -1112,7 +1112,7 @@ my %targets = (
shared_cflag => "-Kpic", shared_cflag => "-Kpic",
}, },
"unixware-7-gcc" => { "unixware-7-gcc" => {
inherit_from => [ "BASE_unix", asm("x86_elf_asm") ], inherit_from => [ "BASE_unix" ],
CC => "gcc", CC => "gcc",
CFLAGS => "-O3 -fomit-frame-pointer -Wall", CFLAGS => "-O3 -fomit-frame-pointer -Wall",
cppflags => add(threads("-D_REENTRANT")), cppflags => add(threads("-D_REENTRANT")),
@ -1128,7 +1128,7 @@ my %targets = (
}, },
# SCO 5 - Ben Laurie says the -O breaks the SCO cc. # SCO 5 - Ben Laurie says the -O breaks the SCO cc.
"sco5-cc" => { "sco5-cc" => {
inherit_from => [ "BASE_unix", asm("x86_elf_asm") ], inherit_from => [ "BASE_unix" ],
cc => "cc", cc => "cc",
cflags => "-belf", cflags => "-belf",
ex_libs => add("-lsocket -lnsl"), ex_libs => add("-lsocket -lnsl"),
@ -1140,7 +1140,7 @@ my %targets = (
shared_cflag => "-Kpic", shared_cflag => "-Kpic",
}, },
"sco5-gcc" => { "sco5-gcc" => {
inherit_from => [ "BASE_unix", asm("x86_elf_asm") ], inherit_from => [ "BASE_unix" ],
cc => "gcc", cc => "gcc",
cflags => "-O3 -fomit-frame-pointer", cflags => "-O3 -fomit-frame-pointer",
ex_libs => add("-lsocket -lnsl"), ex_libs => add("-lsocket -lnsl"),
@ -1174,7 +1174,7 @@ my %targets = (
perl_platform => 'AIX', perl_platform => 'AIX',
}, },
"aix-gcc" => { "aix-gcc" => {
inherit_from => [ "aix-common", asm("ppc32_asm") ], inherit_from => [ "aix-common" ],
CC => "gcc", CC => "gcc",
CFLAGS => picker(debug => "-O0 -g", CFLAGS => picker(debug => "-O0 -g",
release => "-O"), release => "-O"),
@ -1188,7 +1188,7 @@ my %targets = (
RANLIB => add("-X32"), RANLIB => add("-X32"),
}, },
"aix64-gcc" => { "aix64-gcc" => {
inherit_from => [ "aix-common", asm("ppc64_asm") ], inherit_from => [ "aix-common" ],
CC => "gcc", CC => "gcc",
CFLAGS => picker(debug => "-O0 -g", CFLAGS => picker(debug => "-O0 -g",
release => "-O"), release => "-O"),
@ -1203,7 +1203,7 @@ my %targets = (
RANLIB => add("-X64"), RANLIB => add("-X64"),
}, },
"aix-cc" => { "aix-cc" => {
inherit_from => [ "aix-common", asm("ppc32_asm") ], inherit_from => [ "aix-common" ],
CC => "cc", CC => "cc",
CFLAGS => picker(debug => "-O0 -g", CFLAGS => picker(debug => "-O0 -g",
release => "-O"), release => "-O"),
@ -1219,7 +1219,7 @@ my %targets = (
RANLIB => add("-X32"), RANLIB => add("-X32"),
}, },
"aix64-cc" => { "aix64-cc" => {
inherit_from => [ "aix-common", asm("ppc64_asm") ], inherit_from => [ "aix-common" ],
CC => "cc", CC => "cc",
CFLAGS => picker(debug => "-O0 -g", CFLAGS => picker(debug => "-O0 -g",
release => "-O"), release => "-O"),
@ -1346,7 +1346,7 @@ my %targets = (
bn_ops => add("SIXTY_FOUR_BIT"), bn_ops => add("SIXTY_FOUR_BIT"),
}, },
"VC-WIN64I" => { "VC-WIN64I" => {
inherit_from => [ "VC-WIN64-common", asm("ia64_asm") ], inherit_from => [ "VC-WIN64-common" ],
AS => "ias", AS => "ias",
ASFLAGS => "-d debug", ASFLAGS => "-d debug",
asoutflag => "-o ", asoutflag => "-o ",
@ -1357,7 +1357,7 @@ my %targets = (
multilib => "-ia64", multilib => "-ia64",
}, },
"VC-WIN64A" => { "VC-WIN64A" => {
inherit_from => [ "VC-WIN64-common", asm("x86_64_asm") ], inherit_from => [ "VC-WIN64-common" ],
AS => sub { vc_win64a_info()->{AS} }, AS => sub { vc_win64a_info()->{AS} },
ASFLAGS => sub { vc_win64a_info()->{ASFLAGS} }, ASFLAGS => sub { vc_win64a_info()->{ASFLAGS} },
asoutflag => sub { vc_win64a_info()->{asoutflag} }, asoutflag => sub { vc_win64a_info()->{asoutflag} },
@ -1369,7 +1369,7 @@ my %targets = (
multilib => "-x64", multilib => "-x64",
}, },
"VC-WIN32" => { "VC-WIN32" => {
inherit_from => [ "VC-noCE-common", asm("x86_asm") ], inherit_from => [ "VC-noCE-common" ],
CFLAGS => add("/WX"), CFLAGS => add("/WX"),
AS => sub { vc_win32_info()->{AS} }, AS => sub { vc_win32_info()->{AS} },
ASFLAGS => sub { vc_win32_info()->{ASFLAGS} }, ASFLAGS => sub { vc_win32_info()->{ASFLAGS} },
@ -1453,7 +1453,7 @@ my %targets = (
perl_platform => 'mingw', perl_platform => 'mingw',
}, },
"mingw" => { "mingw" => {
inherit_from => [ "mingw-common", asm("x86_asm") ], inherit_from => [ "mingw-common" ],
CFLAGS => add(picker(release => "-fomit-frame-pointer")), CFLAGS => add(picker(release => "-fomit-frame-pointer")),
cflags => "-m32", cflags => "-m32",
sys_id => "MINGW32", sys_id => "MINGW32",
@ -1473,7 +1473,7 @@ my %targets = (
# consider its binaries for using with non-mingw64 run-time # consider its binaries for using with non-mingw64 run-time
# environment. And as mingw64 is always consistent with itself, # environment. And as mingw64 is always consistent with itself,
# Applink is never engaged and can as well be omitted. # Applink is never engaged and can as well be omitted.
inherit_from => [ "mingw-common", asm("x86_64_asm") ], inherit_from => [ "mingw-common" ],
cflags => "-m64", cflags => "-m64",
sys_id => "MINGW64", sys_id => "MINGW64",
bn_ops => add("SIXTY_FOUR_BIT"), bn_ops => add("SIXTY_FOUR_BIT"),
@ -1523,14 +1523,14 @@ my %targets = (
perl_platform => 'Cygwin', perl_platform => 'Cygwin',
}, },
"Cygwin-x86" => { "Cygwin-x86" => {
inherit_from => [ "Cygwin-common", asm("x86_asm") ], inherit_from => [ "Cygwin-common" ],
CFLAGS => add(picker(release => "-O3 -fomit-frame-pointer")), CFLAGS => add(picker(release => "-O3 -fomit-frame-pointer")),
bn_ops => "BN_LLONG", bn_ops => "BN_LLONG",
asm_arch => 'x86', asm_arch => 'x86',
perlasm_scheme => "coff", perlasm_scheme => "coff",
}, },
"Cygwin-x86_64" => { "Cygwin-x86_64" => {
inherit_from => [ "Cygwin-common", asm("x86_64_asm") ], inherit_from => [ "Cygwin-common" ],
CC => "gcc", CC => "gcc",
bn_ops => "SIXTY_FOUR_BIT_LONG", bn_ops => "SIXTY_FOUR_BIT_LONG",
asm_arch => 'x86_64', asm_arch => 'x86_64',
@ -1577,7 +1577,7 @@ my %targets = (
# with future defaults for below two targets, because MacOS X # with future defaults for below two targets, because MacOS X
# for PPC has no future, it was discontinued by vendor in 2009. # for PPC has no future, it was discontinued by vendor in 2009.
"darwin-ppc-cc" => { "darwin-ppc-cc" => {
inherit_from => [ "darwin-common", asm("ppc32_asm") ], inherit_from => [ "darwin-common" ],
cflags => add("-arch ppc -std=gnu9x -Wa,-force_cpusubtype_ALL"), cflags => add("-arch ppc -std=gnu9x -Wa,-force_cpusubtype_ALL"),
lib_cppflags => add("-DB_ENDIAN"), lib_cppflags => add("-DB_ENDIAN"),
shared_cflag => add("-fno-common"), shared_cflag => add("-fno-common"),
@ -1585,7 +1585,7 @@ my %targets = (
perlasm_scheme => "osx32", perlasm_scheme => "osx32",
}, },
"darwin64-ppc-cc" => { "darwin64-ppc-cc" => {
inherit_from => [ "darwin-common", asm("ppc64_asm") ], inherit_from => [ "darwin-common" ],
cflags => add("-arch ppc64 -std=gnu9x"), cflags => add("-arch ppc64 -std=gnu9x"),
lib_cppflags => add("-DB_ENDIAN"), lib_cppflags => add("-DB_ENDIAN"),
bn_ops => "SIXTY_FOUR_BIT_LONG RC4_CHAR", bn_ops => "SIXTY_FOUR_BIT_LONG RC4_CHAR",
@ -1593,7 +1593,7 @@ my %targets = (
perlasm_scheme => "osx64", perlasm_scheme => "osx64",
}, },
"darwin-i386-cc" => { "darwin-i386-cc" => {
inherit_from => [ "darwin-common", asm("x86_asm") ], inherit_from => [ "darwin-common" ],
CFLAGS => add(picker(release => "-fomit-frame-pointer")), CFLAGS => add(picker(release => "-fomit-frame-pointer")),
cflags => add("-arch i386"), cflags => add("-arch i386"),
lib_cppflags => add("-DL_ENDIAN"), lib_cppflags => add("-DL_ENDIAN"),
@ -1602,7 +1602,7 @@ my %targets = (
perlasm_scheme => "macosx", perlasm_scheme => "macosx",
}, },
"darwin64-x86_64-cc" => { "darwin64-x86_64-cc" => {
inherit_from => [ "darwin-common", asm("x86_64_asm") ], inherit_from => [ "darwin-common" ],
CFLAGS => add("-Wall"), CFLAGS => add("-Wall"),
cflags => add("-arch x86_64"), cflags => add("-arch x86_64"),
lib_cppflags => add("-DL_ENDIAN"), lib_cppflags => add("-DL_ENDIAN"),
@ -1614,7 +1614,6 @@ my %targets = (
##### GNU Hurd ##### GNU Hurd
"hurd-x86" => { "hurd-x86" => {
inherit_from => [ "BASE_unix" ], inherit_from => [ "BASE_unix" ],
inherit_from => [ asm("x86_elf_asm") ],
CC => "gcc", CC => "gcc",
CFLAGS => "-O3 -fomit-frame-pointer -Wall", CFLAGS => "-O3 -fomit-frame-pointer -Wall",
cflags => threads("-pthread"), cflags => threads("-pthread"),
@ -1712,7 +1711,7 @@ my %targets = (
ranlib => "ranlibpentium", ranlib => "ranlibpentium",
}, },
"vxworks-mips" => { "vxworks-mips" => {
inherit_from => [ "BASE_unix", asm("mips32_asm") ], inherit_from => [ "BASE_unix" ],
CC => "ccmips", CC => "ccmips",
CFLAGS => "-O -G 0", 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", cflags => "-mrtp -mips2 -B\$(WIND_BASE)/host/\$(WIND_HOST_TYPE)/lib/gcc-lib/ -msoft-float -mno-branch-likely -fno-builtin -fno-defer-pop",
@ -1841,9 +1840,7 @@ my %targets = (
pointer_size => "64", pointer_size => "64",
}, },
"vms-ia64" => { "vms-ia64" => {
inherit_from => [ "vms-generic", inherit_from => [ "vms-generic" ],
sub { vms_info()->{AS}
? asm("ia64_asm")->() : () } ],
bn_ops => "SIXTY_FOUR_BIT RC4_INT", bn_ops => "SIXTY_FOUR_BIT RC4_INT",
asm_arch => sub { vms_info()->{AS} ? 'ia64' : undef }, asm_arch => sub { vms_info()->{AS} ? 'ia64' : undef },
perlasm_scheme => 'ias', perlasm_scheme => 'ias',

View file

@ -199,20 +199,20 @@ my %targets = (
# -march and/or -mfloat-abi flags. NDK defaults to armv5te. # -march and/or -mfloat-abi flags. NDK defaults to armv5te.
# Newer NDK versions reportedly require additional -latomic. # Newer NDK versions reportedly require additional -latomic.
# #
inherit_from => [ "android", asm("armv4_asm") ], inherit_from => [ "android" ],
bn_ops => add("RC4_CHAR"), bn_ops => add("RC4_CHAR"),
asm_arch => 'armv4', asm_arch => 'armv4',
perlasm_scheme => "void", perlasm_scheme => "void",
}, },
"android-arm64" => { "android-arm64" => {
inherit_from => [ "android", asm("aarch64_asm") ], inherit_from => [ "android" ],
bn_ops => add("RC4_CHAR"), bn_ops => add("RC4_CHAR"),
asm_arch => 'aarch64', asm_arch => 'aarch64',
perlasm_scheme => "linux64", perlasm_scheme => "linux64",
}, },
"android-mips" => { "android-mips" => {
inherit_from => [ "android", asm("mips32_asm") ], inherit_from => [ "android" ],
bn_ops => add("RC4_CHAR"), bn_ops => add("RC4_CHAR"),
asm_arch => 'mips32', asm_arch => 'mips32',
perlasm_scheme => "o32", perlasm_scheme => "o32",
@ -227,21 +227,21 @@ my %targets = (
# with previous MIPS ISA versions, in sense that unlike # with previous MIPS ISA versions, in sense that unlike
# prior versions original MIPS binary code will fail. # prior versions original MIPS binary code will fail.
# #
inherit_from => [ "android", asm("mips64_asm") ], inherit_from => [ "android" ],
bn_ops => add("RC4_CHAR"), bn_ops => add("RC4_CHAR"),
asm_arch => 'mips64', asm_arch => 'mips64',
perlasm_scheme => "64", perlasm_scheme => "64",
}, },
"android-x86" => { "android-x86" => {
inherit_from => [ "android", asm("x86_asm") ], inherit_from => [ "android" ],
CFLAGS => add(picker(release => "-fomit-frame-pointer")), CFLAGS => add(picker(release => "-fomit-frame-pointer")),
bn_ops => add("RC4_INT"), bn_ops => add("RC4_INT"),
asm_arch => 'x86', asm_arch => 'x86',
perlasm_scheme => "android", perlasm_scheme => "android",
}, },
"android-x86_64" => { "android-x86_64" => {
inherit_from => [ "android", asm("x86_64_asm") ], inherit_from => [ "android" ],
bn_ops => add("RC4_INT"), bn_ops => add("RC4_INT"),
asm_arch => 'x86_64', asm_arch => 'x86_64',
perlasm_scheme => "elf", perlasm_scheme => "elf",

View file

@ -13,7 +13,7 @@ my %targets = (
disable => [ "engine", "async" ], disable => [ "engine", "async" ],
}, },
"ios-xcrun" => { "ios-xcrun" => {
inherit_from => [ "ios-common", asm("armv4_asm") ], inherit_from => [ "ios-common" ],
# It should be possible to go below iOS 6 and even add -arch armv6, # It should be possible to go below iOS 6 and even add -arch armv6,
# thus targeting iPhone pre-3GS, but it's assumed to be irrelevant # thus targeting iPhone pre-3GS, but it's assumed to be irrelevant
# at this point. # at this point.
@ -23,7 +23,7 @@ my %targets = (
perlasm_scheme => "ios32", perlasm_scheme => "ios32",
}, },
"ios64-xcrun" => { "ios64-xcrun" => {
inherit_from => [ "ios-common", asm("aarch64_asm") ], inherit_from => [ "ios-common" ],
CC => "xcrun -sdk iphoneos cc", CC => "xcrun -sdk iphoneos cc",
cflags => add("-arch arm64 -mios-version-min=7.0.0 -fno-common"), cflags => add("-arch arm64 -mios-version-min=7.0.0 -fno-common"),
bn_ops => "SIXTY_FOUR_BIT_LONG RC4_CHAR", bn_ops => "SIXTY_FOUR_BIT_LONG RC4_CHAR",

View file

@ -4,7 +4,6 @@
my %targets = ( my %targets = (
"DJGPP" => { "DJGPP" => {
inherit_from => [ asm("x86_asm") ],
CC => "gcc", CC => "gcc",
CFLAGS => "-fomit-frame-pointer -O2 -Wall", CFLAGS => "-fomit-frame-pointer -O2 -Wall",
cflags => "-I/dev/env/WATT_ROOT/inc -DTERMIOS -DL_ENDIAN", cflags => "-I/dev/env/WATT_ROOT/inc -DTERMIOS -DL_ENDIAN",

View file

@ -18,7 +18,7 @@ my %targets = (
perl_platform => 'Unix', perl_platform => 'Unix',
}, },
"haiku-x86" => { "haiku-x86" => {
inherit_from => [ "haiku-common", asm("x86_elf_asm") ], inherit_from => [ "haiku-common" ],
CFLAGS => add(picker(release => "-fomit-frame-pointer")), CFLAGS => add(picker(release => "-fomit-frame-pointer")),
bn_ops => "BN_LLONG", bn_ops => "BN_LLONG",
asm_arch => 'x86', asm_arch => 'x86',

View file

@ -9,7 +9,7 @@
my %targets = ( my %targets = (
"VC-WIN64A-masm" => { "VC-WIN64A-masm" => {
inherit_from => [ "VC-WIN64-common", asm("x86_64_asm") ], inherit_from => [ "VC-WIN64-common" ],
AS => "ml64", AS => "ml64",
ASFLAGS => "/nologo /Zi", ASFLAGS => "/nologo /Zi",
asoutflag => "/Fo", asoutflag => "/Fo",

View file

@ -2894,18 +2894,6 @@ _____
# Thus, whenever there's mention of a returned value, it's about that # Thus, whenever there's mention of a returned value, it's about that
# intended value. # intended value.
# Helper function to implement conditional inheritance depending on the
# value of $disabled{asm}. Used in inherit_from values as follows:
#
# inherit_from => [ "template", asm("asm_tmpl") ]
#
sub asm {
my @x = @_;
sub {
$disabled{asm} ? () : @x;
}
}
# Helper function to implement conditional value variants, with a default # Helper function to implement conditional value variants, with a default
# plus additional values based on the value of $config{build_type}. # plus additional values based on the value of $config{build_type}.
# Arguments are given in hash table form: # Arguments are given in hash table form:

View file

@ -89,8 +89,6 @@
- UWP targets only support building the static and dynamic libraries. - UWP targets only support building the static and dynamic libraries.
- The "no-uplink" must be given in the "Configure" script.
- You should define the platform type to "uwp" and the target arch via - You should define the platform type to "uwp" and the target arch via
"vcvarsall.bat" before you compile. For example, if you want to build "vcvarsall.bat" before you compile. For example, if you want to build
"arm64" builds, you should type "vcvarsall.bat x86_arm64 uwp". "arm64" builds, you should type "vcvarsall.bat x86_arm64 uwp".