diff options
author | Andy Polyakov <appro@openssl.org> | 2015-03-16 22:33:36 +0100 |
---|---|---|
committer | Andy Polyakov <appro@openssl.org> | 2015-03-18 16:27:00 +0100 |
commit | 7ead0c89185c46378e3ed85c0012d083f4b3039b (patch) | |
tree | 0fe9fcc63fa888f3ab7a084241a305e973bb1f14 /Configurations | |
parent | 9e43c6b5c28731d13afcb4658dc2fa4dd188cc0b (diff) |
Configure: fold related configurations more aggressively and clean-up.
Reviewed-by: Richard Levitte <levitte@openssl.org>
Diffstat (limited to 'Configurations')
-rw-r--r-- | Configurations/10-main.conf | 1260 |
1 files changed, 401 insertions, 859 deletions
diff --git a/Configurations/10-main.conf b/Configurations/10-main.conf index eb467896bd..9d38554477 100644 --- a/Configurations/10-main.conf +++ b/Configurations/10-main.conf @@ -6,10 +6,12 @@ %targets = ( -# Basic configs that should work on any (32 and less bit) box +#### Basic configs that should work on any 32-bit box "gcc" => { cc => "gcc", - cflags => "-O3", + cflags => "", + debug_cflags => "-O0 -g", + release_cflags => "-O3", thread_cflag => "(unknown)", bn_ops => "BN_LLONG", }, @@ -19,9 +21,8 @@ thread_cflag => "(unknown)", }, -####VOS Configurations +#### VOS Configurations "vos-gcc" => { - inherit_from => [ "no_asm_filler" ], cc => "gcc", cflags => "-Wall -DOPENSSL_SYS_VOS -D_POSIX_C_SOURCE=200112L -D_BSD -D_VOS_EXTENDED_NAMES -DB_ENDIAN", debug_cflags => "-O0 -g -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG", @@ -34,15 +35,17 @@ }, #### Solaris x86 with GNU C setups -# -DOPENSSL_NO_INLINE_ASM switches off inline assembler. We have to do it -# here because whenever GNU C instantiates an assembler template it -# surrounds it with #APP #NO_APP comment pair which (at least Solaris -# 7_x86) /usr/ccs/bin/as fails to assemble with "Illegal mnemonic" -# error message. "solaris-x86-gcc" => { - inherit_from => [ "x86_elf_asm" ], - cc => "gcc", - cflags => "-O3 -fomit-frame-pointer -march=pentium -Wall -DL_ENDIAN -DOPENSSL_NO_INLINE_ASM", + # -DOPENSSL_NO_INLINE_ASM switches off inline assembler. We have + # to do it here because whenever GNU C instantiates an assembler + # template it surrounds it with #APP #NO_APP comment pair which + # (at least Solaris 7_x86) /usr/ccs/bin/as fails to assemble + # with "Illegal mnemonic" error message. + inherit_from => [ asm("x86_elf_asm") ], + cc => "gcc", + cflags => "-march=pentium -Wall -DL_ENDIAN -DOPENSSL_NO_INLINE_ASM", + debug_cflags => "-O0 -g", + release_cflags => "-O3 -fomit-frame-pointer", thread_cflag => "-D_REENTRANT", lflags => "-lsocket -lnsl -ldl", bn_ops => "BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}", @@ -52,18 +55,20 @@ shared_ldflag => "-shared", shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", }, -# -shared -static-libgcc might appear controversial, but modules taken -# from static libgcc do not have relocations and linking them into our -# shared objects doesn't have any negative side-effects. On the contrary, -# doing so makes it possible to use 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:-) -# <appro@fy.chalmers.se> "solaris64-x86_64-gcc" => { - inherit_from => [ "x86_64_asm" ], - cc => "gcc", - cflags => "-m64 -O3 -Wall -DL_ENDIAN", + # -shared -static-libgcc might appear controversial, but modules + # taken from static libgcc do not have relocations and linking + # them into our shared objects doesn't have any negative side + # effects. On the contrary, doing so makes it possible to use + # 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:-) + # <appro@fy.chalmers.se> + inherit_from => [ asm("x86_64_asm") ], + cc => "gcc", + cflags => "-m64 -Wall -DL_ENDIAN", + debug_cflags => "-O0 -g", + release_cflags => "-O3", thread_cflag => "-D_REENTRANT", lflags => "-lsocket -lnsl -ldl", bn_ops => "SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL", @@ -78,9 +83,10 @@ #### Solaris x86 with Sun C setups "solaris-x86-cc" => { - inherit_from => [ "no_asm_filler" ], cc => "cc", - cflags => "-fast -xarch=generic -O -Xa", + cflags => "-xarch=generic -xstrconst -Xa -DL_ENDIAN", + debug_cflags => "-g", + release_cflags => "-xO5 -xregs=frameptr -xdepend -xbuiltin", thread_cflag => "-D_REENTRANT", lflags => "-lsocket -lnsl -ldl", bn_ops => "BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_UNROLL BF_PTR", @@ -91,9 +97,11 @@ shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", }, "solaris64-x86_64-cc" => { - inherit_from => [ "x86_64_asm" ], + inherit_from => [ asm("x86_64_asm") ], cc => "cc", - cflags => "-fast -xarch=amd64 -xstrconst -Xa -DL_ENDIAN", + cflags => "-xarch=generic64 -xstrconst -Xa -DL_ENDIAN", + debug_cflags => "-g", + release_cflags => "-xO5 -xdepend -xbuiltin", thread_cflag => "-D_REENTRANT", lflags => "-lsocket -lnsl -ldl", bn_ops => "SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL", @@ -101,16 +109,17 @@ dso_scheme => "dlfcn", shared_target => "solaris-shared", shared_cflag => "-KPIC", - shared_ldflag => "-xarch=amd64 -G -dy -z text", + shared_ldflag => "-xarch=generic64 -G -dy -z text", shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", multilib => "/64", }, #### SPARC Solaris with GNU C setups "solaris-sparcv7-gcc" => { - inherit_from => [ "no_asm_filler" ], cc => "gcc", - cflags => "-O3 -fomit-frame-pointer -Wall -DB_ENDIAN -DBN_DIV2W", + cflags => "-Wall -DB_ENDIAN -DBN_DIV2W", + debug_cflags => "-O0 -g", + release_cflags => "-O3", thread_cflag => "-D_REENTRANT", lflags => "-lsocket -lnsl -ldl", bn_ops => "BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR", @@ -120,52 +129,25 @@ shared_ldflag => "-shared", shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", }, -#### "solaris-sparcv8-gcc" => { - inherit_from => [ "sparcv8_asm" ], - cc => "gcc", - cflags => "-mv8 -Wall -DB_ENDIAN", - debug_cflags => "-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG_ALL -O -g", - release_cflags => "-O3 -fomit-frame-pointer -DBN_DIV2W", - thread_cflag => "-D_REENTRANT", - lflags => "-lsocket -lnsl -ldl", - bn_ops => "BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR", - dso_scheme => "dlfcn", - shared_target => "solaris-shared", - shared_cflag => "-fPIC", - shared_ldflag => "-shared", - shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", + inherit_from => [ "solaris-sparcv7-gcc", asm("sparcv8_asm") ], + cflags => sub { join(" ","-mv8",@_); }, }, -# -m32 should be safe to add as long as driver recognizes -mcpu=ultrasparc "solaris-sparcv9-gcc" => { - inherit_from => [ "sparcv9_asm" ], + # -m32 should be safe to add as long as driver recognizes + # -mcpu=ultrasparc + inherit_from => [ "solaris-sparcv7-gcc", asm("sparcv9_asm") ], cc => "gcc", - cflags => "-m32 -mcpu=ultrasparc -Wall -DB_ENDIAN -DBN_DIV2W", + cflags => sub { join(" ","-m32 -mcpu=ultrasparc",@_); }, debug_cflags => "-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG_ALL -DPEDANTIC -O -g -pedantic -ansi -Wshadow -Wno-long-long -D__EXTENSIONS__", - release_cflags => "-O3 -fomit-frame-pointer", - thread_cflag => "-D_REENTRANT", - sys_id => "ULTRASPARC", - lflags => "-lsocket -lnsl -ldl", - bn_ops => "BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR", - dso_scheme => "dlfcn", - shared_target => "solaris-shared", - shared_cflag => "-fPIC", - shared_ldflag => "-shared", - shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", + release_cflags => "-O3", }, "solaris64-sparcv9-gcc" => { - inherit_from => [ "sparcv9_asm" ], + inherit_from => [ "solaris-sparcv9-gcc" ], cc => "gcc", - cflags => "-m64 -mcpu=ultrasparc -O3 -Wall -DB_ENDIAN", - thread_cflag => "-D_REENTRANT", - sys_id => "ULTRASPARC", - lflags => "-lsocket -lnsl -ldl", + cflags => "-m64 -mcpu=ultrasparc -Wall -DB_ENDIAN", bn_ops => "BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL BF_PTR", - dso_scheme => "dlfcn", - shared_target => "solaris-shared", - shared_cflag => "-fPIC", shared_ldflag => "-m64 -shared", - shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", multilib => "/64", }, @@ -174,9 +156,10 @@ # 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 => [ "no_asm_filler" ], cc => "cc", - cflags => "-xO5 -xstrconst -xdepend -Xa -DB_ENDIAN -DBN_DIV2W", + cflags => "-xstrconst -Xa -DB_ENDIAN -DBN_DIV2W", + debug_cflags => "-g -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG_ALL", + release_cflags => "-xO5 -xdepend", thread_cflag => "-D_REENTRANT", lflags => "-lsocket -lnsl -ldl", bn_ops => "BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_RISC1 DES_UNROLL BF_PTR", @@ -188,58 +171,29 @@ }, #### "solaris-sparcv8-cc" => { - inherit_from => [ "sparcv8_asm" ], - cc => "cc", - cflags => "-xarch=v8 -xstrconst -Xa -DB_ENDIAN -DBN_DIV2W", - debug_cflags => "-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG_ALL -g -O", - release_cflags => "-xO5 -xdepend", - thread_cflag => "-D_REENTRANT", - lflags => "-lsocket -lnsl -ldl", - bn_ops => "BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_RISC1 DES_UNROLL BF_PTR", - dso_scheme => "dlfcn", - shared_target => "solaris-shared", - shared_cflag => "-KPIC", - shared_ldflag => "-G -dy -z text", - shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", + inherit_from => [ "solaris-sparcv7-cc", asm("sparcv8_asm") ], + cflags => sub { join(" ","-xarch=v8",@_); }, }, "solaris-sparcv9-cc" => { - inherit_from => [ "sparcv9_asm" ], - cc => "cc", - cflags => "-xtarget=ultra -xarch=v8plus -xstrconst -Xa -DB_ENDIAN -DBN_DIV2W", - debug_cflags => "-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG_ALL -g -O", - release_cflags => "-xO5 -xdepend", - thread_cflag => "-D_REENTRANT", - sys_id => "ULTRASPARC", - lflags => "-lsocket -lnsl -ldl", - bn_ops => "BN_LLONG RC4_CHAR RC4_CHUNK_LL DES_PTR DES_RISC1 DES_UNROLL BF_PTR", - dso_scheme => "dlfcn", - shared_target => "solaris-shared", - shared_cflag => "-KPIC", - shared_ldflag => "-G -dy -z text", - shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", + inherit_from => [ "solaris-sparcv7-cc", asm("sparcv9_asm") ], + cflags => sub { join(" ","-xarch=v8plus -xtarget=ultra",@_); }, }, "solaris64-sparcv9-cc" => { - inherit_from => [ "sparcv9_asm" ], - cc => "cc", - cflags => "-xtarget=ultra -xarch=v9 -xO5 -xstrconst -xdepend -Xa -DB_ENDIAN", - thread_cflag => "-D_REENTRANT", - sys_id => "ULTRASPARC", - lflags => "-lsocket -lnsl -ldl", + inherit_from => [ "solaris-sparcv7-cc", asm("sparcv9_asm") ], + cflags => sub { join(" ","-xarch=v9 -xtarget=ultra",@_); }, bn_ops => "BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL BF_PTR", - dso_scheme => "dlfcn", - shared_target => "solaris-shared", - shared_cflag => "-KPIC", shared_ldflag => "-xarch=v9 -G -dy -z text", - shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", multilib => "/64", }, #### IRIX 5.x configs # -mips2 flag is added by ./config when appropriate. "irix-gcc" => { - inherit_from => [ "mips32_asm" ], + inherit_from => [ asm("mips32_asm") ], cc => "gcc", - cflags => "-O3 -DB_ENDIAN", + cflags => "-DB_ENDIAN", + debug_cflags => "-g -O0", + release_cflags => "-O3", thread_cflag => "(unknown)", bn_ops => "BN_LLONG MD2_CHAR RC4_INDEX RC4_CHAR RC4_CHUNK DES_UNROLL DES_RISC2 DES_PTR BF_PTR", perlasm_scheme => "o32", @@ -248,9 +202,11 @@ shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", }, "irix-cc" => { - inherit_from => [ "mips32_asm" ], + inherit_from => [ asm("mips32_asm") ], cc => "cc", - cflags => "-O2 -use_readonly_const -DB_ENDIAN", + cflags => "-use_readonly_const -DB_ENDIAN", + debug_cflags => "-g -O0", + release_cflags => "-O2", thread_cflag => "(unknown)", bn_ops => "BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_RISC2 DES_UNROLL BF_PTR", perlasm_scheme => "o32", @@ -262,9 +218,11 @@ # Only N32 and N64 ABIs are supported. If you need O32 ABI build, invoke # './Configure irix-cc -o32' manually. "irix-mips3-gcc" => { - inherit_from => [ "mips64_asm" ], + inherit_from => [ asm("mips64_asm") ], cc => "gcc", - cflags => "-mabi=n32 -O3 -DB_ENDIAN -DBN_DIV3W", + cflags => "-mabi=n32 -DB_ENDIAN -DBN_DIV3W", + debug_cflags => "-g -O0", + release_cflags => "-O3", thread_cflag => "-D_SGI_MP_SOURCE", bn_ops => "MD2_CHAR RC4_INDEX RC4_CHAR RC4_CHUNK_LL DES_UNROLL DES_RISC2 DES_PTR BF_PTR SIXTY_FOUR_BIT", perlasm_scheme => "n32", @@ -275,9 +233,11 @@ multilib => "32", }, "irix-mips3-cc" => { - inherit_from => [ "mips64_asm" ], + inherit_from => [ asm("mips64_asm") ], cc => "cc", - cflags => "-n32 -mips3 -O2 -use_readonly_const -G0 -rdata_shared -DB_ENDIAN -DBN_DIV3W", + cflags => "-n32 -mips3 -use_readonly_const -G0 -rdata_shared -DB_ENDIAN -DBN_DIV3W", + debug_cflags => "-g -O0", + release_cflags => "-O2", thread_cflag => "-D_SGI_MP_SOURCE", bn_ops => "DES_PTR RC4_CHAR RC4_CHUNK_LL DES_RISC2 DES_UNROLL BF_PTR SIXTY_FOUR_BIT", perlasm_scheme => "n32", @@ -287,11 +247,13 @@ shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", multilib => "32", }, -# N64 ABI builds. + # N64 ABI builds. "irix64-mips4-gcc" => { - inherit_from => [ "mips64_asm" ], + inherit_from => [ asm("mips64_asm") ], cc => "gcc", - cflags => "-mabi=64 -mips4 -O3 -DB_ENDIAN -DBN_DIV3W", + cflags => "-mabi=64 -mips4 -DB_ENDIAN -DBN_DIV3W", + debug_cflags => "-g -O0", + release_cflags => "-O3", thread_cflag => "-D_SGI_MP_SOURCE", bn_ops => "RC4_CHAR RC4_CHUNK DES_RISC2 DES_UNROLL SIXTY_FOUR_BIT_LONG", perlasm_scheme => "64", @@ -302,9 +264,11 @@ multilib => "64", }, "irix64-mips4-cc" => { - inherit_from => [ "mips64_asm" ], + inherit_from => [ asm("mips64_asm") ], cc => "cc", - cflags => "-64 -mips4 -O2 -use_readonly_const -G0 -rdata_shared -DB_ENDIAN -DBN_DIV3W", + cflags => "-64 -mips4 -use_readonly_const -G0 -rdata_shared -DB_ENDIAN -DBN_DIV3W", + debug_cflags => "-g -O0", + release_cflags => "-O2", thread_cflag => "-D_SGI_MP_SOURCE", bn_ops => "RC4_CHAR RC4_CHUNK DES_RISC2 DES_UNROLL SIXTY_FOUR_BIT_LONG", perlasm_scheme => "64", @@ -331,36 +295,23 @@ # - Keep in mind that the HP compiler by default generates code # suitable for execution on the host you're currently compiling at. # If the toolkit is ment to be used on various PA-RISC processors -# consider './config +DAportable'. -# - +DD64 is chosen in favour of +DA2.0W because it's meant to be -# compatible with *future* releases. -# - If you run ./Configure hpux-parisc-[g]cc manually don't forget to -# pass -D_REENTRANT on HP-UX 10 and later. +# consider './Configure hpux-parisc-[g]cc +DAportable'. # - -DMD32_XARRAY triggers workaround for compiler bug we ran into in # 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. +# - originally there were 32-bit hpux-parisc2-* targets. They were +# scrapped, because a) they were not interchangable with other 32-bit +# targets; a) when critical 32-bit assembly modules detect if they +# are executed on PA-RISC 2.0 and thus adequate performance is +# provided. # <appro@fy.chalmers.se> -# -# Since there is mention of this in shlib/hpux10-cc.sh - "hpux-parisc-cc-o4" => { - inherit_from => [ "no_asm_filler" ], - cc => "cc", - cflags => "-Ae +O4 +ESlit -z -DB_ENDIAN -DBN_DIV2W -DMD32_XARRAY", - thread_cflag => "-D_REENTRANT", - lflags => "-ldld", - bn_ops => "BN_LLONG DES_PTR DES_UNROLL DES_RISC1", - dso_scheme => "dl", - shared_target => "hpux-shared", - shared_cflag => "+Z", - shared_ldflag => "-b", - shared_extension => ".sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", - }, "hpux-parisc-gcc" => { - inherit_from => [ "no_asm_filler" ], cc => "gcc", - cflags => "-O3 -DB_ENDIAN -DBN_DIV2W", + cflags => "-DB_ENDIAN -DBN_DIV2W", + debug_cflags => "-O0 -g", + release_cflags => "-O3", thread_cflag => "-D_REENTRANT", lflags => "-Wl,+s -ldld", bn_ops => "BN_LLONG DES_PTR DES_UNROLL DES_RISC1", @@ -371,39 +322,18 @@ shared_extension => ".sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", }, "hpux-parisc1_1-gcc" => { - inherit_from => [ "parisc11_asm" ], - cc => "gcc", - cflags => "-O3 -DB_ENDIAN -DBN_DIV2W", - thread_cflag => "-D_REENTRANT", - lflags => "-Wl,+s -ldld", - bn_ops => "BN_LLONG DES_PTR DES_UNROLL DES_RISC1", - dso_scheme => "dl", - shared_target => "hpux-shared", - shared_cflag => "-fPIC", - shared_ldflag => "-shared", - shared_extension => ".sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", + inherit_from => [ "hpux-parisc-gcc", asm("parisc11_asm") ], multilib => "/pa1.1", }, - "hpux-parisc2-gcc" => { - inherit_from => [ "parisc20_32_asm" ], - cc => "gcc", - cflags => "-march=2.0 -O3 -DB_ENDIAN -D_REENTRANT", - lflags => "-Wl,+s -ldld", - bn_ops => "SIXTY_FOUR_BIT RC4_CHAR RC4_CHUNK DES_PTR DES_UNROLL DES_RISC1", - dso_scheme => "dl", - shared_target => "hpux-shared", - shared_cflag => "-fPIC", - shared_ldflag => "-shared", - shared_extension => ".sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", - multilib => "/pa20_32", - }, "hpux64-parisc2-gcc" => { + inherit_from => [ asm("parisc20_64_asm") ], cc => "gcc", - cflags => "-O3 -DB_ENDIAN -D_REENTRANT", + cflags => "-DB_ENDIAN", + debug_cflags => "-O0 -g", + release_cflags => "-O3", + thread_cflag => "-D_REENTRANT", lflags => "-ldl", bn_ops => "SIXTY_FOUR_BIT_LONG MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT", - bn_obj => "pa-risc2W.o", - perlasm_scheme => "void", dso_scheme => "dlfcn", shared_target => "hpux-shared", shared_cflag => "-fpic", @@ -412,14 +342,15 @@ multilib => "/pa20_64", }, -# More attempts at unified 10.X and 11.X targets for HP C compiler. -# -# Chris Ruemmler <ruemmler@cup.hp.com> -# Kevin Steves <ks@hp.se> + # More attempts at unified 10.X and 11.X targets for HP C compiler. + # + # Chris Ruemmler <ruemmler@cup.hp.com> + # Kevin Steves <ks@hp.se> "hpux-parisc-cc" => { - inherit_from => [ "no_asm_filler" ], cc => "cc", - cflags => "+O3 +Optrs_strongly_typed -Ae +ESlit -DB_ENDIAN -DBN_DIV2W -DMD32_XARRAY", + cflags => "+Optrs_strongly_typed -Ae +ESlit -DB_ENDIAN -DBN_DIV2W -DMD32_XARRAY", + debug_cflags => "+O0 +d -g", + release_cflags => "+O3", thread_cflag => "-D_REENTRANT", lflags => "-Wl,+s -ldld", bn_ops => "MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT", @@ -430,36 +361,17 @@ shared_extension => ".sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", }, "hpux-parisc1_1-cc" => { - inherit_from => [ "parisc11_asm" ], - cc => "cc", - cflags => "+DA1.1 +O3 +Optrs_strongly_typed -Ae +ESlit -DB_ENDIAN -DMD32_XARRAY", - thread_cflag => "-D_REENTRANT", - lflags => "-Wl,+s -ldld", - bn_ops => "MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT", - dso_scheme => "dl", - shared_target => "hpux-shared", - shared_cflag => "+Z", - shared_ldflag => "-b", - shared_extension => ".sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", + inherit_from => [ "hpux-parisc-cc", asm("parisc11_asm") ], + cflags => sub { join(" ","+DA1.1",@_); }, multilib => "/pa1.1", }, - "hpux-parisc2-cc" => { - inherit_from => [ "parisc20_32_asm" ], - cc => "cc", - cflags => "+DA2.0 +DS2.0 +O3 +Optrs_strongly_typed -Ae +ESlit -DB_ENDIAN -DMD32_XARRAY -D_REENTRANT", - lflags => "-Wl,+s -ldld", - bn_ops => "SIXTY_FOUR_BIT MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT", - dso_scheme => "dl", - shared_target => "hpux-shared", - shared_cflag => "+Z", - shared_ldflag => "-b", - shared_extension => ".sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", - multilib => "/pa20_32", - }, "hpux64-parisc2-cc" => { - inherit_from => [ "parisc20_64_asm" ], + inherit_from => [ asm("parisc20_64_asm") ], cc => "cc", - cflags => "+DD64 +O3 +Optrs_strongly_typed -Ae +ESlit -DB_ENDIAN -DMD32_XARRAY -D_REENTRANT", + cflags => "+DD64 +Optrs_strongly_typed -Ae +ESlit -DB_ENDIAN -DMD32_XARRAY", + debug_cflags => "+O0 +d -g", + release_cflags => "+O3", + thread_cflag => "-D_REENTRANT", lflags => "-ldl", bn_ops => "SIXTY_FOUR_BIT_LONG MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT", dso_scheme => "dlfcn", @@ -470,11 +382,14 @@ multilib => "/pa20_64", }, -# HP/UX IA-64 targets + # HP/UX IA-64 targets "hpux-ia64-cc" => { - inherit_from => [ "ia64_asm" ], + inherit_from => [ asm("ia64_asm") ], cc => "cc", - cflags => "-Ae +DD32 +O2 +Olit=all -z -DB_ENDIAN -D_REENTRANT", + cflags => "-Ae +DD32 +Olit=all -z -DB_ENDIAN", + debug_cflags => "+O0 +d -g", + release_cflags => "+O2", + thread_cflag => "-D_REENTRANT", lflags => "-ldl", bn_ops => "SIXTY_FOUR_BIT MD2_CHAR RC4_INDEX DES_UNROLL DES_RISC1 DES_INT", dso_scheme => "dlfcn", @@ -484,12 +399,15 @@ shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", multilib => "/hpux32", }, -# Frank Geurts <frank.geurts@nl.abnamro.com> has patiently assisted with -# with debugging of the following config. + # Frank Geurts <frank.geurts@nl.abnamro.com> has patiently assisted + # with debugging of the following config. "hpux64-ia64-cc" => { - inherit_from => [ "ia64_asm" ], + inherit_from => [ asm("ia64_asm") ], cc => "cc", - cflags => "-Ae +DD64 +O3 +Olit=all -z -DB_ENDIAN -D_REENTRANT", + cflags => "-Ae +DD64 +Olit=all -z -DB_ENDIAN", + debug_cflags => "+O0 +d -g", + release_cflags => "+O3", + thread_cflag => "-D_REENTRANT", lflags => "-ldl", bn_ops => "SIXTY_FOUR_BIT_LONG MD2_CHAR RC4_INDEX DES_UNROLL DES_RISC1 DES_INT", dso_scheme => "dlfcn", @@ -499,11 +417,14 @@ shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", multilib => "/hpux64", }, -# GCC builds... + # GCC builds... "hpux-ia64-gcc" => { - inherit_from => [ "ia64_asm" ], + inherit_from => [ asm("ia64_asm") ], cc => "gcc", - cflags => "-O3 -DB_ENDIAN -D_REENTRANT", + cflags => "-DB_ENDIAN", + debug_cflags => "-O0 -g", + release_cflags => "-O3", + thread_cflag => "-D_REENTRANT", lflags => "-ldl", bn_ops => "SIXTY_FOUR_BIT MD2_CHAR RC4_INDEX DES_UNROLL DES_RISC1 DES_INT", dso_scheme => "dlfcn", @@ -514,9 +435,12 @@ multilib => "/hpux32", }, "hpux64-ia64-gcc" => { - inherit_from => [ "ia64_asm" ], + inherit_from => [ asm("ia64_asm") ], cc => "gcc", - cflags => "-mlp64 -O3 -DB_ENDIAN -D_REENTRANT", + cflags => "-mlp64 -DB_ENDIAN", + debug_cflags => "-O0 -g", + release_cflags => "-O3", + thread_cflag => "-D_REENTRANT", lflags => "-ldl", bn_ops => "SIXTY_FOUR_BIT_LONG MD2_CHAR RC4_INDEX DES_UNROLL DES_RISC1 DES_INT", dso_scheme => "dlfcn", @@ -527,34 +451,6 @@ multilib => "/hpux64", }, -# Legacy HPUX 9.X configs... - "hpux-cc" => { - inherit_from => [ "no_asm_filler" ], - cc => "cc", - cflags => "-DB_ENDIAN -DBN_DIV2W -DMD32_XARRAY -Ae +ESlit +O2 -z", - thread_cflag => "(unknown)", - lflags => "-Wl,+s -ldld", - bn_ops => "DES_PTR DES_UNROLL DES_RISC1", - dso_scheme => "dl", - shared_target => "hpux-shared", - shared_cflag => "+Z", - shared_ldflag => "-b", - shared_extension => ".sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", - }, - "hpux-gcc" => { - inherit_from => [ "no_asm_filler" ], - cc => "gcc", - cflags => "-DB_ENDIAN -DBN_DIV2W -O3", - thread_cflag => "(unknown)", - lflags => "-Wl,+s -ldld", - bn_ops => "DES_PTR DES_UNROLL DES_RISC1", - dso_scheme => "dl", - shared_target => "hpux-shared", - shared_cflag => "-fPIC", - shared_ldflag => "-shared", - shared_extension => ".sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", - }, - #### HP MPE/iX http://jazz.external.hp.com/src/openssl/ "MPE/iX-gcc" => { cc => "gcc", @@ -565,7 +461,7 @@ bn_ops => "BN_LLONG DES_PTR DES_UNROLL DES_RISC1", }, -# DEC Alpha OSF/1/Tru64 targets. +#### DEC Alpha OSF/1/Tru64 targets. # # "What's in a name? That which we call a rose # By any other word would smell as sweet." @@ -575,7 +471,7 @@ # For gcc, the following gave a %50 speedup on a 164 over the 'DES_INT' version # "osf1-alpha-gcc" => { - inherit_from => [ "alpha_asm" ], + inherit_from => [ asm("alpha_asm") ], cc => "gcc", cflags => "-O3", thread_cflag => "(unknown)", @@ -585,7 +481,7 @@ shared_extension => ".so", }, "osf1-alpha-cc" => { - inherit_from => [ "alpha_asm" ], + inherit_from => [ asm("alpha_asm") ], cc => "cc", cflags => "-std1 -tune host -O4 -readonly_strings", thread_cflag => "(unknown)", @@ -595,7 +491,7 @@ shared_extension => ".so", }, "tru64-alpha-cc" => { - inherit_from => [ "alpha_asm" ], + inherit_from => [ asm("alpha_asm") ], cc => "cc", cflags => "-std1 -tune host -fast -readonly_strings", thread_cflag => "-pthread", @@ -612,11 +508,10 @@ # *-generic* is endian-neutral target, but ./config is free to # throw in -D[BL]_ENDIAN, whichever appropriate... "linux-generic32" => { - inherit_from => [ "no_asm_filler" ], cc => "gcc", cflags => "-Wall", - debug_cflags => "-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG -g", - release_cflags => "-O3 -fomit-frame-pointer", + debug_cflags => "-O0 -g -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG", + release_cflags => "-O3", thread_cflag => "-D_REENTRANT", lflags => "-ldl", bn_ops => "BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR", @@ -625,425 +520,206 @@ shared_cflag => "-fPIC", shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", }, + "linux-generic64" => { + inherit_from => [ "linux-generic32" ], + bn_ops => "SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR", + }, + "linux-ppc" => { - inherit_from => [ "ppc32_asm" ], - cc => "gcc", - cflags => "-DB_ENDIAN -O3 -Wall", - thread_cflag => "-D_REENTRANT", - lflags => "-ldl", - bn_ops => "BN_LLONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL", + inherit_from => [ "linux-generic32", asm("ppc32_asm") ], perlasm_scheme => "linux32", - dso_scheme => "dlfcn", - shared_target => "linux-shared", - shared_cflag => "-fPIC", - shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", + }, + "linux-ppc64" => { + inherit_from => [ "linux-generic64", asm("ppc64_asm") ], + cflags => "-m64 -Wall -DB_ENDIAN", + perlasm_scheme => "linux64", + shared_ldflag => "-m64", + multilib => "64", + }, + "linux-ppc64le" => { + inherit_from => [ "linux-generic64", asm("ppc64_asm") ], + cflags => "-m64 -Wall -DL_ENDIAN", + perlasm_scheme => "linux64le", + shared_ldflag => "-m64", }, -####################################################################### -# Note that -march is not among compiler options in below linux-armv4 -# target line. Not specifying one is intentional to give you choice to: -# -# a) rely on your compiler default by not specifying one; -# b) specify your target platform explicitly for optimal performance, -# e.g. -march=armv6 or -march=armv7-a; -# c) build "universal" binary that targets *range* of platforms by -# specifying minimum and maximum supported architecture; -# -# As for c) option. It actually makes no sense to specify maximum to be -# less than ARMv7, because it's the least requirement for run-time -# switch between platform-specific code paths. And without run-time -# switch performance would be equivalent to one for minimum. Secondly, -# there are some natural limitations that you'd have to accept and -# respect. Most notably you can *not* build "universal" binary for -# big-endian platform. This is because ARMv7 processor always picks -# instructions in little-endian order. Another similar limitation is -# that -mthumb can't "cross" -march=armv6t2 boundary, because that's -# where it became Thumb-2. Well, this limitation is a bit artificial, -# because it's not really impossible, but it's deemed too tricky to -# support. And of course you have to be sure that your binutils are -# actually up to the task of handling maximum target platform. With all -# this in mind here is an example of how to configure "universal" build: -# -# ./Configure linux-armv4 -march=armv6 -D__ARM_MAX_ARCH__=8 -# "linux-armv4" => { - inherit_from => [ "armv4_asm" ], - cc => "gcc", - cflags => "-O3 -Wall", - thread_cflag => "-D_REENTRANT", - lflags => "-ldl", - bn_ops => "BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR", - dso_scheme => "dlfcn", - shared_target => "linux-shared", - shared_cflag => "-fPIC", - shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", + ################################################################ + # Note that -march is not among compiler options in linux-armv4 + # target description. Not specifying one is intentional to give + # you choice to: + # + # a) rely on your compiler default by not specifying one; + # b) specify your target platform explicitly for optimal + # performance, e.g. -march=armv6 or -march=armv7-a; + # c) build "universal" binary that targets *range* of platforms + # by specifying minimum and maximum supported architecture; + # + # As for c) option. It actually makes no sense to specify + # maximum to be less than ARMv7, because it's the least + # requirement for run-time switch between platform-specific + # code paths. And without run-time switch performance would be + # equivalent to one for minimum. Secondly, there are some + # natural limitations that you'd have to accept and respect. + # Most notably you can *not* build "universal" binary for + # big-endian platform. This is because ARMv7 processor always + # picks instructions in little-endian order. Another similar + # limitation is that -mthumb can't "cross" -march=armv6t2 + # boundary, because that's where it became Thumb-2. Well, this + # limitation is a bit artificial, because it's not really + # impossible, but it's deemed too tricky to support. And of + # course you have to be sure that your binutils are actually + # up to the task of handling maximum target platform. With all + # this in mind here is an example of how to configure + # "universal" build: + # + # ./Configure linux-armv4 -march=armv6 -D__ARM_MAX_ARCH__=8 + # + inherit_from => [ "linux-generic32", asm("armv4_asm") ], + perlasm_scheme => "linux32", }, "linux-aarch64" => { - inherit_from => [ "aarch64_asm" ], - cc => "gcc", - cflags => "-O3 -Wall", - thread_cflag => "-D_REENTRANT", - lflags => "-ldl", - bn_ops => "SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR", + inherit_from => [ "linux-generic64", asm("aarch64_asm") ], perlasm_scheme => "linux64", - dso_scheme => "dlfcn", - shared_target => "linux-shared", - shared_cflag => "-fPIC", - shared_extension => ".so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", }, -# Configure script adds minimally required -march for assembly support, -# if no -march was specified at command line. mips32 and mips64 below -# refer to contemporary MIPS Architecture specifications, MIPS32 and -# MIPS64, rather than to kernel bitness. + "linux-mips32" => { - inherit_from => [ "mips32_asm" ], - cc |