Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(288)

Side by Side Diff: openssl/Configure

Issue 9254031: Upgrade chrome's OpenSSL to same version Android ships with. (Closed) Base URL: http://src.chromium.org/svn/trunk/deps/third_party/openssl/
Patch Set: '' Created 8 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « openssl/CHANGES.SSLeay ('k') | openssl/FAQ » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 : 1 :
2 eval 'exec perl -S $0 ${1+"$@"}' 2 eval 'exec perl -S $0 ${1+"$@"}'
3 if $running_under_some_shell; 3 if $running_under_some_shell;
4 ## 4 ##
5 ## Configure -- OpenSSL source tree configuration script 5 ## Configure -- OpenSSL source tree configuration script
6 ## 6 ##
7 7
8 require 5.000; 8 require 5.000;
9 eval 'use strict;'; 9 use strict;
10
11 print STDERR "Warning: perl module strict not found.\n" if ($@);
12 10
13 # see INSTALL for instructions. 11 # see INSTALL for instructions.
14 12
15 my $usage="Usage: Configure [no-<cipher> ...] [enable-<cipher> ...] [experimenta l-<cipher> ...] [-Dxxx] [-lxxx] [-Lxxx] [-fxxx] [-Kxxx] [no-hw-xxx|no-hw] [[no-] threads] [[no-]shared] [[no-]zlib|zlib-dynamic] [enable-montasm] [no-asm] [no-ds o] [no-krb5] [386] [--prefix=DIR] [--openssldir=OPENSSLDIR] [--with-xxx[=vvv]] [ --test-sanity] os/compiler[:flags]\n"; 13 my $usage="Usage: Configure [no-<cipher> ...] [enable-<cipher> ...] [experimenta l-<cipher> ...] [-Dxxx] [-lxxx] [-Lxxx] [-fxxx] [-Kxxx] [no-hw-xxx|no-hw] [[no-] threads] [[no-]shared] [[no-]zlib|zlib-dynamic] [no-asm] [no-dso] [no-krb5] [386 ] [--prefix=DIR] [--openssldir=OPENSSLDIR] [--with-xxx[=vvv]] [--test-sanity] os /compiler[:flags]\n";
16 14
17 # Options: 15 # Options:
18 # 16 #
19 # --openssldir install OpenSSL in OPENSSLDIR (Default: DIR/ssl if the 17 # --openssldir install OpenSSL in OPENSSLDIR (Default: DIR/ssl if the
20 # --prefix option is given; /usr/local/ssl otherwise) 18 # --prefix option is given; /usr/local/ssl otherwise)
21 # --prefix prefix for the OpenSSL include, lib and bin directories 19 # --prefix prefix for the OpenSSL include, lib and bin directories
22 # (Default: the OPENSSLDIR directory) 20 # (Default: the OPENSSLDIR directory)
23 # 21 #
24 # --install_prefix Additional prefix for package builders (empty by 22 # --install_prefix Additional prefix for package builders (empty by
25 # default). This needn't be set in advance, you can 23 # default). This needn't be set in advance, you can
26 # just as well use "make INSTALL_PREFIX=/whatever install". 24 # just as well use "make INSTALL_PREFIX=/whatever install".
27 # 25 #
28 # --with-krb5-dir Declare where Kerberos 5 lives. The libraries are expected 26 # --with-krb5-dir Declare where Kerberos 5 lives. The libraries are expected
29 # to live in the subdirectory lib/ and the header files in 27 # to live in the subdirectory lib/ and the header files in
30 # include/. A value is required. 28 # include/. A value is required.
31 # --with-krb5-lib Declare where the Kerberos 5 libraries live. A value is 29 # --with-krb5-lib Declare where the Kerberos 5 libraries live. A value is
32 # required. 30 # required.
33 # (Default: KRB5_DIR/lib) 31 # (Default: KRB5_DIR/lib)
34 # --with-krb5-include Declare where the Kerberos 5 header files live. A 32 # --with-krb5-include Declare where the Kerberos 5 header files live. A
35 # value is required. 33 # value is required.
36 # (Default: KRB5_DIR/include) 34 # (Default: KRB5_DIR/include)
37 # --with-krb5-flavor Declare what flavor of Kerberos 5 is used. Currently 35 # --with-krb5-flavor Declare what flavor of Kerberos 5 is used. Currently
38 # supported values are "MIT" and "Heimdal". A value is required. 36 # supported values are "MIT" and "Heimdal". A value is required.
39 # 37 #
40 # --test-sanity Make a number of sanity checks on the data in this file. 38 # --test-sanity Make a number of sanity checks on the data in this file.
41 # This is a debugging tool for OpenSSL developers. 39 # This is a debugging tool for OpenSSL developers.
42 # 40 #
41 # --cross-compile-prefix Add specified prefix to binutils components.
42 #
43 # no-hw-xxx do not compile support for specific crypto hardware. 43 # no-hw-xxx do not compile support for specific crypto hardware.
44 # Generic OpenSSL-style methods relating to this support 44 # Generic OpenSSL-style methods relating to this support
45 # are always compiled but return NULL if the hardware 45 # are always compiled but return NULL if the hardware
46 # support isn't compiled. 46 # support isn't compiled.
47 # no-hw do not compile support for any crypto hardware. 47 # no-hw do not compile support for any crypto hardware.
48 # [no-]threads [don't] try to create a library that is suitable for 48 # [no-]threads [don't] try to create a library that is suitable for
49 # multithreaded applications (default is "threads" if we 49 # multithreaded applications (default is "threads" if we
50 # know how to do it) 50 # know how to do it)
51 # [no-]shared [don't] try to create shared libraries when supported. 51 # [no-]shared [don't] try to create shared libraries when supported.
52 # no-asm do not use assembler 52 # no-asm do not use assembler
53 # no-dso do not compile in any native shared-library methods. This 53 # no-dso do not compile in any native shared-library methods. This
54 # will ensure that all methods just return NULL. 54 # will ensure that all methods just return NULL.
55 # no-krb5 do not compile in any KRB5 library or code. 55 # no-krb5 do not compile in any KRB5 library or code.
56 # [no-]zlib [don't] compile support for zlib compression. 56 # [no-]zlib [don't] compile support for zlib compression.
57 # zlib-dynamic Like "zlib", but the zlib library is expected to be a shared 57 # zlib-dynamic Like "zlib", but the zlib library is expected to be a shared
58 # library and will be loaded in run-time by the OpenSSL library. 58 # library and will be loaded in run-time by the OpenSSL library.
59 # enable-montasm 0.9.8 branch only: enable Montgomery x86 assembler backport
60 # from 0.9.9
61 # 386 generate 80386 code 59 # 386 generate 80386 code
62 # no-sse2 disables IA-32 SSE2 code, above option implies no-sse2 60 # no-sse2 disables IA-32 SSE2 code, above option implies no-sse2
63 # no-<cipher> build without specified algorithm (rsa, idea, rc5, ...) 61 # no-<cipher> build without specified algorithm (rsa, idea, rc5, ...)
64 # -<xxx> +<xxx> compiler options are passed through 62 # -<xxx> +<xxx> compiler options are passed through
65 # 63 #
66 # DEBUG_SAFESTACK use type-safe stacks to enforce type-safety on stack items 64 # DEBUG_SAFESTACK use type-safe stacks to enforce type-safety on stack items
67 # provided to stack calls. Generates unique stack functions for 65 # provided to stack calls. Generates unique stack functions for
68 # each possible stack type. 66 # each possible stack type.
69 # DES_PTR use pointer lookup vs arrays in the DES in crypto/des/des_locl.h 67 # DES_PTR use pointer lookup vs arrays in the DES in crypto/des/des_locl.h
70 # DES_RISC1 use different DES_ENCRYPT macro that helps reduce register 68 # DES_RISC1 use different DES_ENCRYPT macro that helps reduce register
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
118 116
119 my $tcc="cc"; 117 my $tcc="cc";
120 my $tflags="-fast -Xa"; 118 my $tflags="-fast -Xa";
121 my $tbn_mul=""; 119 my $tbn_mul="";
122 my $tlib="-lnsl -lsocket"; 120 my $tlib="-lnsl -lsocket";
123 #$bits1="SIXTEEN_BIT "; 121 #$bits1="SIXTEEN_BIT ";
124 #$bits2="THIRTY_TWO_BIT "; 122 #$bits2="THIRTY_TWO_BIT ";
125 my $bits1="THIRTY_TWO_BIT "; 123 my $bits1="THIRTY_TWO_BIT ";
126 my $bits2="SIXTY_FOUR_BIT "; 124 my $bits2="SIXTY_FOUR_BIT ";
127 125
128 my $x86_elf_asm="x86cpuid-elf.o:bn86-elf.o co86-elf.o MAYBE-MO86-elf.o:dx86-elf. o yx86-elf.o:ax86-elf.o:bx86-elf.o:mx86-elf.o:sx86-elf.o s512sse2-elf.o:cx86-elf .o:rx86-elf.o rc4_skey.o:rm86-elf.o:r586-elf.o"; 126 my $x86_asm="x86cpuid.o:bn-586.o co-586.o x86-mont.o:des-586.o crypt586.o:aes-58 6.o:bf-586.o:md5-586.o:sha1-586.o sha256-586.o sha512-586.o:cast-586.o:rc4-586.o :rmd-586.o:rc5-586.o:wp_block.o wp-mmx.o:cmll-x86.o";
129 my $x86_coff_asm="x86cpuid-cof.o:bn86-cof.o co86-cof.o MAYBE-MO86-cof.o:dx86-cof .o yx86-cof.o:ax86-cof.o:bx86-cof.o:mx86-cof.o:sx86-cof.o s512sse2-cof.o:cx86-co f.o:rx86-cof.o rc4_skey.o:rm86-cof.o:r586-cof.o";
130 my $x86_out_asm="x86cpuid-out.o:bn86-out.o co86-out.o MAYBE-MO86-out.o:dx86-out. o yx86-out.o:ax86-out.o:bx86-out.o:mx86-out.o:sx86-out.o s512sse2-out.o:cx86-out .o:rx86-out.o rc4_skey.o:rm86-out.o:r586-out.o";
131 127
132 my $x86_64_asm="x86_64cpuid.o:x86_64-gcc.o x86_64-mont.o::aes-x86_64.o::md5-x86_ 64.o:sha1-x86_64.o sha256-x86_64.o sha512-x86_64.o::rc4-x86_64.o::"; 128 my $x86_elf_asm="$x86_asm:elf";
133 my $ia64_asm=":bn-ia64.o::aes_core.o aes_cbc.o aes-ia64.o:::sha1-ia64.o sha256-i a64.o sha512-ia64.o::rc4-ia64.o rc4_skey.o::";
134 129
135 my $no_asm="::::::::::"; 130 my $x86_64_asm="x86_64cpuid.o:x86_64-gcc.o x86_64-mont.o::aes-x86_64.o::md5-x86_ 64.o:sha1-x86_64.o sha256-x86_64.o sha512-x86_64.o::rc4-x86_64.o:::wp-x86_64.o:c mll-x86_64.o cmll_misc.o";
131 my $ia64_asm="ia64cpuid.o:bn-ia64.o::aes_core.o aes_cbc.o aes-ia64.o::md5-ia64.o :sha1-ia64.o sha256-ia64.o sha512-ia64.o::rc4-ia64.o rc4_skey.o:::::void";
132 my $sparcv9_asm="sparcv9cap.o sparccpuid.o:bn-sparcv9.o sparcv9-mont.o sparcv9a- mont.o:des_enc-sparc.o fcrypt_b.o:aes_core.o aes_cbc.o aes-sparcv9.o:::sha1-spar cv9.o sha256-sparcv9.o sha512-sparcv9.o:::::::void";
133 my $sparcv8_asm=":sparcv8.o:des_enc-sparc.o fcrypt_b.o:::::::::::void";
134 my $alpha_asm="alphacpuid.o:bn_asm.o alpha-mont.o::::::::::::void";
135 my $mips3_asm=":bn-mips3.o::::::::::::void";
136 my $s390x_asm="s390xcap.o s390xcpuid.o:bn-s390x.o s390x-mont.o::aes-s390x.o:::sh a1-s390x.o sha256-s390x.o sha512-s390x.o::rc4-s390x.o:::::void";
137 my $armv4_asm=":bn_asm.o armv4-mont.o::aes_cbc.o aes-armv4.o:::sha1-armv4-large. o sha256-armv4.o sha512-armv4.o:::::::void";
138 my $ppc32_asm="ppccpuid.o:bn-ppc.o::aes_core.o aes_cbc.o aes-ppc.o:::sha1-ppc.o sha256-ppc.o::::::";
139 my $ppc64_asm="ppccpuid.o:bn-ppc.o ppc-mont.o::aes_core.o aes_cbc.o aes-ppc.o::: sha1-ppc.o sha256-ppc.o sha512-ppc.o::::::";
140 my $no_asm=":::::::::::::void";
136 141
137 # As for $BSDthreads. Idea is to maintain "collective" set of flags, 142 # As for $BSDthreads. Idea is to maintain "collective" set of flags,
138 # which would cover all BSD flavors. -pthread applies to them all, 143 # which would cover all BSD flavors. -pthread applies to them all,
139 # but is treated differently. OpenBSD expands is as -D_POSIX_THREAD 144 # but is treated differently. OpenBSD expands is as -D_POSIX_THREAD
140 # -lc_r, which is sufficient. FreeBSD 4.x expands it as -lc_r, 145 # -lc_r, which is sufficient. FreeBSD 4.x expands it as -lc_r,
141 # which has to be accompanied by explicit -D_THREAD_SAFE and 146 # which has to be accompanied by explicit -D_THREAD_SAFE and
142 # sometimes -D_REENTRANT. FreeBSD 5.x expands it as -lc_r, which 147 # sometimes -D_REENTRANT. FreeBSD 5.x expands it as -lc_r, which
143 # seems to be sufficient? 148 # seems to be sufficient?
144 my $BSDthreads="-pthread -D_THREAD_SAFE -D_REENTRANT"; 149 my $BSDthreads="-pthread -D_THREAD_SAFE -D_REENTRANT";
145 150
146 #config-string» $cc : $cflags : $unistd : $thread_cflag : $sys_id : $lflags : $b n_ops : $cpuid_obj : $bn_obj : $des_obj : $aes_obj : $bf_obj : $md5_obj : $sha1_ obj : $cast_obj : $rc4_obj : $rmd160_obj : $rc5_obj : $dso_scheme : $shared_targ et : $shared_cflag : $shared_ldflag : $shared_extension : $ranlib : $arflags 151 #config-string» $cc : $cflags : $unistd : $thread_cflag : $sys_id : $lflags : $b n_ops : $cpuid_obj : $bn_obj : $des_obj : $aes_obj : $bf_obj : $md5_obj : $sha1_ obj : $cast_obj : $rc4_obj : $rmd160_obj : $rc5_obj : $wp_obj : $cmll_obj : $dso _scheme : $shared_target : $shared_cflag : $shared_ldflag : $shared_extension : $ranlib : $arflags : $multilib
147 152
148 my %table=( 153 my %table=(
149 # File 'TABLE' (created by 'make TABLE') contains the data from this list, 154 # File 'TABLE' (created by 'make TABLE') contains the data from this list,
150 # formatted for better readability. 155 # formatted for better readability.
151 156
152 157
153 #"b", "${tcc}:${tflags}::${tlib}:${bits1}:${tbn_mul}::", 158 #"b", "${tcc}:${tflags}::${tlib}:${bits1}:${tbn_mul}::",
154 #"bl-4c-2c", "${tcc}:${tflags}::${tlib}:${bits1}BN_LLONG RC4_CHAR MD2_CHAR:${ tbn_mul}::", 159 #"bl-4c-2c", "${tcc}:${tflags}::${tlib}:${bits1}BN_LLONG RC4_CHAR MD2_CHAR:${ tbn_mul}::",
155 #"bl-4c-ri", "${tcc}:${tflags}::${tlib}:${bits1}BN_LLONG RC4_CHAR RC4_INDEX:$ {tbn_mul}::", 160 #"bl-4c-ri", "${tcc}:${tflags}::${tlib}:${bits1}BN_LLONG RC4_CHAR RC4_INDEX:$ {tbn_mul}::",
156 #"b2-is-ri-dp", "${tcc}:${tflags}::${tlib}:${bits2}IDEA_SHORT RC4_INDEX DES_PTR: ${tbn_mul}::", 161 #"b2-is-ri-dp", "${tcc}:${tflags}::${tlib}:${bits2}IDEA_SHORT RC4_INDEX DES_PTR: ${tbn_mul}::",
157 162
158 # Our development configs 163 # Our development configs
159 "purify", "purify gcc:-g -DPURIFY -Wall::(unknown)::-lsocket -lnsl::::", 164 "purify", "purify gcc:-g -DPURIFY -Wall::(unknown)::-lsocket -lnsl::::",
160 "debug", "gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO _MDEBUG -DOPENSSL_NO_ASM -ggdb -g2 -Wformat -Wshadow -Wmissing-prototypes -Wmiss ing-declarations -Werror::(unknown)::-lefence::::", 165 "debug", "gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO _MDEBUG -DOPENSSL_NO_ASM -ggdb -g2 -Wformat -Wshadow -Wmissing-prototypes -Wmiss ing-declarations -Werror::(unknown)::-lefence::::",
161 "debug-ben",» "gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO _MDEBUG -DPEDANTIC -DDEBUG_SAFESTACK -O2 -pedantic -Wall -Wshadow -Werror -pipe: :(unknown):::::bn86-elf.o co86-elf.o", 166 "debug-ben",» "gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO _MDEBUG -DPEDANTIC -DDEBUG_SAFESTACK -DDEBUG_UNUSED -O2 -pedantic -Wall -Wshadow -Werror -pipe::(unknown):::::bn86-elf.o co86-elf.o",
162 "debug-ben-openbsd","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCR YPTO_MDEBUG -DPEDANTIC -DDEBUG_SAFESTACK -DOPENSSL_OPENBSD_DEV_CRYPTO -DOPENSSL_ NO_ASM -O2 -pedantic -Wall -Wshadow -Werror -pipe::(unknown)::::", 167 "debug-ben-openbsd","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCR YPTO_MDEBUG -DPEDANTIC -DDEBUG_SAFESTACK -DOPENSSL_OPENBSD_DEV_CRYPTO -DOPENSSL_ NO_ASM -O2 -pedantic -Wall -Wshadow -Werror -pipe::(unknown)::::",
163 "debug-ben-openbsd-debug","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBU G -DCRYPTO_MDEBUG -DPEDANTIC -DDEBUG_SAFESTACK -DOPENSSL_OPENBSD_DEV_CRYPTO -DOP ENSSL_NO_ASM -g3 -O2 -pedantic -Wall -Wshadow -Werror -pipe::(unknown)::::", 168 "debug-ben-openbsd-debug","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBU G -DCRYPTO_MDEBUG -DPEDANTIC -DDEBUG_SAFESTACK -DOPENSSL_OPENBSD_DEV_CRYPTO -DOP ENSSL_NO_ASM -g3 -O2 -pedantic -Wall -Wshadow -Werror -pipe::(unknown)::::",
164 "debug-ben-debug",» "gcc:$gcc_devteam_warn -DBN_DEBUG -DREF_CHECK -DCONF_DEB UG -DDEBUG_SAFESTACK -ggdb3 -O2 -pipe::(unknown)::::::", 169 "debug-ben-debug",» "gcc44:$gcc_devteam_warn -DBN_DEBUG -DCONF_DEBUG -DDEBUG _SAFESTACK -DDEBUG_UNUSED -g3 -O2 -pipe::(unknown)::::::",
165 "debug-ben-debug-noopt",» "gcc:$gcc_devteam_warn -DBN_DEBUG -DREF_CHECK -D CONF_DEBUG -DDEBUG_SAFESTACK -ggdb3 -pipe::(unknown)::::::", 170 "debug-ben-no-opt",» "gcc: -Wall -Wmissing-prototypes -Wstrict-prototypes -Wm issing-declarations -DDEBUG_SAFESTACK -DCRYPTO_MDEBUG -Werror -DL_ENDIAN -DTERMI OS -Wall -g3::(unknown)::::::",
166 "debug-ben-strict", "gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DCONST_STRICT -O2 -Wall -Wshadow -Werror -Wpointer-arith -Wcast -qual -Wwrite-strings -pipe::(unknown)::::::", 171 "debug-ben-strict", "gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DCONST_STRICT -O2 -Wall -Wshadow -Werror -Wpointer-arith -Wcast -qual -Wwrite-strings -pipe::(unknown)::::::",
167 "debug-rse","cc:-DTERMIOS -DL_ENDIAN -pipe -O -g -ggdb3 -Wall::(unknown):::BN_LL ONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}", 172 "debug-rse","cc:-DTERMIOS -DL_ENDIAN -pipe -O -g -ggdb3 -Wall::(unknown):::BN_LL ONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}",
168 "debug-bodo",» "gcc:-DL_ENDIAN -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBIO_PAIR_D EBUG -DPEDANTIC -g -march=i486 -pedantic -Wshadow -Wall -Wcast-align -Wstrict-pr ototypes -Wmissing-prototypes -Wno-long-long -Wundef -Wconversion -pipe::-D_REEN TRANT:::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}", 173 "debug-bodo",» "gcc:-DL_ENDIAN -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBIO_PAIR_D EBUG -DPEDANTIC -g -march=i486 -pedantic -Wshadow -Wall -Wcast-align -Wstrict-pr ototypes -Wmissing-prototypes -Wno-long-long -Wundef -Wconversion::-D_REENTRANT: ::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}",
169 "debug-ulf", "gcc:-DTERMIOS -DL_ENDIAN -march=i486 -Wall -DBN_DEBUG -DBN_DEBUG_R AND -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DOPENSSL_NO_ASM -g -Wformat -Wshadow -Wmissing-prototypes -Wmissing-declarations:::CYGWIN32:::${no_ asm}:win32:cygwin-shared:::.dll", 174 "debug-ulf", "gcc:-DTERMIOS -DL_ENDIAN -march=i486 -Wall -DBN_DEBUG -DBN_DEBUG_R AND -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DOPENSSL_NO_ASM -g -Wformat -Wshadow -Wmissing-prototypes -Wmissing-declarations:::CYGWIN32:::${no_ asm}:win32:cygwin-shared:::.dll",
170 "debug-steve64", "gcc:$gcc_devteam_warn -m64 -DL_ENDIAN -DTERMIO -DCONF_DEBUG -D DEBUG_SAFESTACK -g -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_ CHUNK DES_INT DES_UNROLL:${x86_64_asm}:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLI B_MAJOR).\$(SHLIB_MINOR)", 175 "debug-steve64", "gcc:$gcc_devteam_warn -m64 -DL_ENDIAN -DTERMIO -DCONF_DEBUG -D DEBUG_SAFESTACK -g -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_ CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$( SHLIB_MAJOR).\$(SHLIB_MINOR)",
171 "debug-steve32", "gcc:$gcc_devteam_warn -m32 -DL_ENDIAN -DCONF_DEBUG -DDEBUG_SAF ESTACK -g -pipe::-D_REENTRANT::-rdynamic -ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_ opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC:-m32:.so.\$(SHLIB_MAJOR).\$(SHLIB_ MINOR)", 176 "debug-steve32", "gcc:$gcc_devteam_warn -m32 -DL_ENDIAN -DCONF_DEBUG -DDEBUG_SAF ESTACK -g -pipe::-D_REENTRANT::-rdynamic -ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_ opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC:-m32:.so.\$(SHLIB_MAJOR).\$(SHLIB_ MINOR)",
172 "debug-steve-opt", "gcc:$gcc_devteam_warn -m64 -O3 -DL_ENDIAN -DTERMIO -DCONF_DE BUG -DDEBUG_SAFESTACK -g -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LON G RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:dlfcn:linux-shared:-fPIC:-m64:.so.\ $(SHLIB_MAJOR).\$(SHLIB_MINOR)", 177 "debug-steve-opt", "gcc:$gcc_devteam_warn -m64 -O3 -DL_ENDIAN -DTERMIO -DCONF_DE BUG -DDEBUG_SAFESTACK -g -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LON G RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:. so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
173 "debug-steve",» "gcc:-DL_ENDIAN -DREF_CHECK -DCONF_DEBUG -DDEBUG_SAFESTACK -DCRY PTO_MDEBUG_ALL -DPEDANTIC -m32 -g -pedantic -Wno-long-long -Wall -Werror -Wshado w -pipe::-D_REENTRANT::-rdynamic -ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${ x86_elf_asm}:dlfcn:linux-shared",
174 "debug-steve-linux-pseudo64",» "gcc:-DL_ENDIAN -DREF_CHECK -DCONF_DEBUG -DBN_CT X_DEBUG -DDEBUG_SAFESTACK -DCRYPTO_MDEBUG_ALL -DOPENSSL_NO_ASM -g -mcpu=i486 -Wa ll -Werror -Wshadow -pipe::-D_REENTRANT::-rdynamic -ldl:SIXTY_FOUR_BIT:${no_asm} :dlfcn:linux-shared",
175 "debug-levitte-linux-elf","gcc:-DLEVITTE_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_DEB UG -DBN_DEBUG_RAND -DCRYPTO_MDEBUG -DENGINE_CONF_DEBUG -DL_ENDIAN -DTERMIO -D_PO SIX_SOURCE -DPEDANTIC -ggdb -g3 -mcpu=i486 -pedantic -ansi -Wall -Wshadow -Wcast -align -Wstrict-prototypes -Wmissing-prototypes -Wno-long-long -Wundef -Wconvers ion -pipe::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_ asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", 178 "debug-levitte-linux-elf","gcc:-DLEVITTE_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_DEB UG -DBN_DEBUG_RAND -DCRYPTO_MDEBUG -DENGINE_CONF_DEBUG -DL_ENDIAN -DTERMIO -D_PO SIX_SOURCE -DPEDANTIC -ggdb -g3 -mcpu=i486 -pedantic -ansi -Wall -Wshadow -Wcast -align -Wstrict-prototypes -Wmissing-prototypes -Wno-long-long -Wundef -Wconvers ion -pipe::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_ asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
176 "debug-levitte-linux-noasm","gcc:-DLEVITTE_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_D EBUG -DBN_DEBUG_RAND -DCRYPTO_MDEBUG -DENGINE_CONF_DEBUG -DOPENSSL_NO_ASM -DL_EN DIAN -DTERMIO -D_POSIX_SOURCE -DPEDANTIC -ggdb -g3 -mcpu=i486 -pedantic -ansi -W all -Wshadow -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wno-long-lon g -Wundef -Wconversion -pipe::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_g cc_opts}:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR) ", 179 "debug-levitte-linux-noasm","gcc:-DLEVITTE_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_D EBUG -DBN_DEBUG_RAND -DCRYPTO_MDEBUG -DENGINE_CONF_DEBUG -DOPENSSL_NO_ASM -DL_EN DIAN -DTERMIO -D_POSIX_SOURCE -DPEDANTIC -ggdb -g3 -mcpu=i486 -pedantic -ansi -W all -Wshadow -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wno-long-lon g -Wundef -Wconversion -pipe::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_g cc_opts}:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR) ",
177 "debug-levitte-linux-elf-extreme","gcc:-DLEVITTE_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_DEBUG -DBN_DEBUG_RAND -DCRYPTO_MDEBUG -DENGINE_CONF_DEBUG -DL_ENDIAN -DTERM IO -D_POSIX_SOURCE -DPEDANTIC -ggdb -g3 -mcpu=i486 -pedantic -ansi -Wall -W -Wun def -Wshadow -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wno-long-lon g -Wundef -Wconversion -pipe::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_g cc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_M INOR)", 180 "debug-levitte-linux-elf-extreme","gcc:-DLEVITTE_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_DEBUG -DBN_DEBUG_RAND -DCRYPTO_MDEBUG -DENGINE_CONF_DEBUG -DL_ENDIAN -DTERM IO -D_POSIX_SOURCE -DPEDANTIC -ggdb -g3 -mcpu=i486 -pedantic -ansi -Wall -W -Wun def -Wshadow -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wno-long-lon g -Wundef -Wconversion -pipe::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_g cc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_M INOR)",
178 "debug-levitte-linux-noasm-extreme","gcc:-DLEVITTE_DEBUG -DREF_CHECK -DCONF_DEBU G -DBN_DEBUG -DBN_DEBUG_RAND -DCRYPTO_MDEBUG -DENGINE_CONF_DEBUG -DOPENSSL_NO_AS M -DL_ENDIAN -DTERMIO -D_POSIX_SOURCE -DPEDANTIC -ggdb -g3 -mcpu=i486 -pedantic -ansi -Wall -W -Wundef -Wshadow -Wcast-align -Wstrict-prototypes -Wmissing-proto types -Wno-long-long -Wundef -Wconversion -pipe::-D_REENTRANT::-ldl:BN_LLONG ${x 86_gcc_des} ${x86_gcc_opts}:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJ OR).\$(SHLIB_MINOR)", 181 "debug-levitte-linux-noasm-extreme","gcc:-DLEVITTE_DEBUG -DREF_CHECK -DCONF_DEBU G -DBN_DEBUG -DBN_DEBUG_RAND -DCRYPTO_MDEBUG -DENGINE_CONF_DEBUG -DOPENSSL_NO_AS M -DL_ENDIAN -DTERMIO -D_POSIX_SOURCE -DPEDANTIC -ggdb -g3 -mcpu=i486 -pedantic -ansi -Wall -W -Wundef -Wshadow -Wcast-align -Wstrict-prototypes -Wmissing-proto types -Wno-long-long -Wundef -Wconversion -pipe::-D_REENTRANT::-ldl:BN_LLONG ${x 86_gcc_des} ${x86_gcc_opts}:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJ OR).\$(SHLIB_MINOR)",
179 "debug-geoff","gcc:-DBN_DEBUG -DBN_DEBUG_RAND -DBN_STRICT -DPURIFY -DOPENSSL_NO_ DEPRECATED -DOPENSSL_NO_ASM -DOPENSSL_NO_INLINE_ASM -DL_ENDIAN -DTERMIO -DPEDANT IC -O1 -ggdb2 -Wall -Werror -Wundef -pedantic -Wshadow -Wpointer-arith -Wbad-fun ction-cast -Wcast-align -Wsign-compare -Wmissing-prototypes -Wmissing-declaratio ns -Wno-long-long::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${ no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", 182 "debug-geoff32","gcc:-DBN_DEBUG -DBN_DEBUG_RAND -DBN_STRICT -DPURIFY -DOPENSSL_N O_DEPRECATED -DOPENSSL_NO_ASM -DOPENSSL_NO_INLINE_ASM -DL_ENDIAN -DTERMIO -DPEDA NTIC -DMD32_REG_T=int -O1 -ggdb2 -Wall -Werror -Wundef -pedantic -Wshadow -Wpoin ter-arith -Wbad-function-cast -Wcast-align -Wsign-compare -Wmissing-prototypes - Wmissing-declarations -Wno-long-long::-D_REENTRANT::-ldl:BN_LLONG:${no_asm}:dlfc n:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
180 "debug-linux-pentium","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG - DL_ENDIAN -DTERMIO -g -mcpu=pentium -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc _des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn", 183 "debug-geoff64","gcc:-DBN_DEBUG -DBN_DEBUG_RAND -DBN_STRICT -DPURIFY -DOPENSSL_N O_DEPRECATED -DOPENSSL_NO_ASM -DOPENSSL_NO_INLINE_ASM -DL_ENDIAN -DTERMIO -DPEDA NTIC -DMD32_REG_T=int -O1 -ggdb2 -Wall -Werror -Wundef -pedantic -Wshadow -Wpoin ter-arith -Wbad-function-cast -Wcast-align -Wsign-compare -Wmissing-prototypes - Wmissing-declarations -Wno-long-long::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4 _CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.s o.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
181 "debug-linux-ppro","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG -DL_ ENDIAN -DTERMIO -g -mcpu=pentiumpro -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc _des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn", 184 "debug-linux-pentium","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -D CRYPTO_MDEBUG -DL_ENDIAN -DTERMIO -g -mcpu=pentium -Wall::-D_REENTRANT::-ldl:BN_ LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn",
182 "debug-linux-elf","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG -DL_E NDIAN -DTERMIO -g -march=i486 -Wall::-D_REENTRANT::-lefence -ldl:BN_LLONG ${x86_ gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_M AJOR).\$(SHLIB_MINOR)", 185 "debug-linux-ppro","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRY PTO_MDEBUG -DL_ENDIAN -DTERMIO -g -mcpu=pentiumpro -Wall::-D_REENTRANT::-ldl:BN_ LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn",
183 "debug-linux-elf-noefence","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDE BUG -DL_ENDIAN -DTERMIO -g -march=i486 -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_ gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_M AJOR).\$(SHLIB_MINOR)", 186 "debug-linux-elf","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYP TO_MDEBUG -DL_ENDIAN -DTERMIO -g -march=i486 -Wall::-D_REENTRANT::-lefence -ldl: BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC: :.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
184 "debug-linux-generic32","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG -DTERMIO -g -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_ UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_M INOR)", 187 "debug-linux-elf-noefence","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEB UG -DCRYPTO_MDEBUG -DL_ENDIAN -DTERMIO -g -march=i486 -Wall::-D_REENTRANT::-ldl: BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC: :.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
188 "debug-linux-ia32-aes", "gcc:-DAES_EXPERIMENTAL -DL_ENDIAN -DTERMIO -O3 -fomit-f rame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:x 86cpuid.o:bn-586.o co-586.o x86-mont.o:des-586.o crypt586.o:aes_x86core.o aes_cb c.o:bf-586.o:md5-586.o:sha1-586.o sha256-586.o sha512-586.o:cast-586.o:rc4-586.o :rmd-586.o:rc5-586.o:wp_block.o wp-mmx.o::elf:dlfcn:linux-shared:-fPIC::.so.\$(S HLIB_MAJOR).\$(SHLIB_MINOR)",
189 "debug-linux-generic32","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG -DTERMIO -g -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_U NROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MI NOR)",
185 "debug-linux-generic64","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG -DTERMIO -g -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DE S_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR). \$(SHLIB_MINOR)", 190 "debug-linux-generic64","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG -DTERMIO -g -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DE S_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR). \$(SHLIB_MINOR)",
186 "debug-linux-x86_64","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG -m 64 -DL_ENDIAN -DTERMIO -g -Wall -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_ BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:dlfcn:linux-shared:-fPIC:-m6 4:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", 191 "debug-linux-x86_64",» "gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG -m64 -DL_ENDIAN -DTERMIO -g -Wall -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FO UR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-f PIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
187 "dist", "cc:-O::(unknown)::::::", 192 "dist", "cc:-O::(unknown)::::::",
188 193
189 # Basic configs that should work on any (32 and less bit) box 194 # Basic configs that should work on any (32 and less bit) box
190 "gcc", "gcc:-O3::(unknown):::BN_LLONG:::", 195 "gcc", "gcc:-O3::(unknown):::BN_LLONG:::",
191 "cc", "cc:-O::(unknown)::::::", 196 "cc", "cc:-O::(unknown)::::::",
192 197
193 ####VOS Configurations 198 ####VOS Configurations
194 "vos-gcc","gcc:-O3 -Wall -D_POSIX_C_SOURCE=200112L -D_BSD -DB_ENDIAN::(unknown): VOS:-Wl,-map:BN_LLONG:${no_asm}:::::.so:", 199 "vos-gcc","gcc:-O3 -Wall -DOPENSSL_SYSNAME_VOS -D_POSIX_C_SOURCE=200112L -D_BSD -D_VOS_EXTENDED_NAMES -DB_ENDIAN::(unknown):VOS:-Wl,-map:BN_LLONG:${no_asm}::::: .so:",
195 "debug-vos-gcc","gcc:-O0 -g -Wall -D_POSIX_C_SOURCE=200112L -D_BSD -DB_ENDIAN -D BN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG::(unknown):VOS:-Wl,-map:BN_LLO NG:${no_asm}:::::.so:", 200 "debug-vos-gcc","gcc:-O0 -g -Wall -DOPENSSL_SYSNAME_VOS -D_POSIX_C_SOURCE=200112 L -D_BSD -D_VOS_EXTENDED_NAMES -DB_ENDIAN -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -D CRYPTO_MDEBUG::(unknown):VOS:-Wl,-map:BN_LLONG:${no_asm}:::::.so:",
196 201
197 #### Solaris x86 with GNU C setups 202 #### Solaris x86 with GNU C setups
198 # -DOPENSSL_NO_INLINE_ASM switches off inline assembler. We have to do it 203 # -DOPENSSL_NO_INLINE_ASM switches off inline assembler. We have to do it
199 # here because whenever GNU C instantiates an assembler template it 204 # here because whenever GNU C instantiates an assembler template it
200 # surrounds it with #APP #NO_APP comment pair which (at least Solaris 205 # surrounds it with #APP #NO_APP comment pair which (at least Solaris
201 # 7_x86) /usr/ccs/bin/as fails to assemble with "Illegal mnemonic" 206 # 7_x86) /usr/ccs/bin/as fails to assemble with "Illegal mnemonic"
202 # error message. 207 # error message.
203 "solaris-x86-gcc","gcc:-O3 -fomit-frame-pointer -march=pentium -Wall -DL_ENDIAN -DOPENSSL_NO_INLINE_ASM::-D_REENTRANT::-lsocket -lnsl -ldl:BN_LLONG ${x86_gcc_de s} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:solaris-shared:-fPIC:-shared:.so.\$(SHLI B_MAJOR).\$(SHLIB_MINOR)", 208 "solaris-x86-gcc","gcc:-O3 -fomit-frame-pointer -march=pentium -Wall -DL_ENDIAN -DOPENSSL_NO_INLINE_ASM::-D_REENTRANT::-lsocket -lnsl -ldl:BN_LLONG ${x86_gcc_de s} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:solaris-shared:-fPIC:-shared:.so.\$(SHLI B_MAJOR).\$(SHLIB_MINOR)",
204 # -shared -static-libgcc might appear controversial, but modules taken 209 # -shared -static-libgcc might appear controversial, but modules taken
205 # from static libgcc do not have relocations and linking them into our 210 # from static libgcc do not have relocations and linking them into our
206 # shared objects doesn't have any negative side-effects. On the contrary, 211 # shared objects doesn't have any negative side-effects. On the contrary,
207 # doing so makes it possible to use gcc shared build with Sun C. Given 212 # doing so makes it possible to use gcc shared build with Sun C. Given
208 # that gcc generates faster code [thanks to inline assembler], I would 213 # that gcc generates faster code [thanks to inline assembler], I would
209 # actually recommend to consider using gcc shared build even with vendor 214 # actually recommend to consider using gcc shared build even with vendor
210 # compiler:-) 215 # compiler:-)
211 # <appro@fy.chalmers.se> 216 # <appro@fy.chalmers.se>
212 "solaris64-x86_64-gcc","gcc:-m64 -O3 -Wall -DL_ENDIAN -DMD32_REG_T=int::-D_REENT RANT::-lsocket -lnsl -ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86 _64_asm}:dlfcn:solaris-shared:-fPIC:-m64 -shared -static-libgcc:.so.\$(SHLIB_MAJ OR).\$(SHLIB_MINOR)", 217 "solaris64-x86_64-gcc","gcc:-m64 -O3 -Wall -DL_ENDIAN -DMD32_REG_T=int::-D_REENT RANT::-lsocket -lnsl -ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86 _64_asm}:elf:dlfcn:solaris-shared:-fPIC:-m64 -shared -static-libgcc:.so.\$(SHLIB _MAJOR).\$(SHLIB_MINOR):::/64",
213 218
214 #### Solaris x86 with Sun C setups 219 #### Solaris x86 with Sun C setups
215 "solaris-x86-cc","cc:-fast -O -Xa::-D_REENTRANT::-lsocket -lnsl -ldl:BN_LLONG RC 4_CHAR RC4_CHUNK DES_PTR DES_UNROLL BF_PTR:${no_asm}:dlfcn:solaris-shared:-KPIC: -G -dy -z text:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", 220 "solaris-x86-cc","cc:-fast -O -Xa::-D_REENTRANT::-lsocket -lnsl -ldl:BN_LLONG RC 4_CHAR RC4_CHUNK DES_PTR DES_UNROLL BF_PTR:${no_asm}:dlfcn:solaris-shared:-KPIC: -G -dy -z text:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
216 "solaris64-x86_64-cc","cc:-fast -xarch=amd64 -xstrconst -Xa -DL_ENDIAN::-D_REENT RANT::-lsocket -lnsl -ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86 _64_asm}:dlfcn:solaris-shared:-KPIC:-xarch=amd64 -G -dy -z text:.so.\$(SHLIB_MAJ OR).\$(SHLIB_MINOR)", 221 "solaris64-x86_64-cc","cc:-fast -xarch=amd64 -xstrconst -Xa -DL_ENDIAN::-D_REENT RANT::-lsocket -lnsl -ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86 _64_asm}:elf:dlfcn:solaris-shared:-KPIC:-xarch=amd64 -G -dy -z text:.so.\$(SHLIB _MAJOR).\$(SHLIB_MINOR):::/64",
217 222
218 #### SPARC Solaris with GNU C setups 223 #### SPARC Solaris with GNU C setups
219 "solaris-sparcv7-gcc","gcc:-O3 -fomit-frame-pointer -Wall -DB_ENDIAN -DBN_DIV2W: :-D_REENTRANT::-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR :${no_asm}:dlfcn:solaris-shared:-fPIC:-shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR )", 224 "solaris-sparcv7-gcc","gcc:-O3 -fomit-frame-pointer -Wall -DB_ENDIAN -DBN_DIV2W: :-D_REENTRANT::-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR :${no_asm}:dlfcn:solaris-shared:-fPIC:-shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR )",
220 "solaris-sparcv8-gcc","gcc:-mv8 -O3 -fomit-frame-pointer -Wall -DB_ENDIAN -DBN_D IV2W::-D_REENTRANT::-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL B F_PTR::sparcv8.o:des_enc-sparc.o fcrypt_b.o:::::::::dlfcn:solaris-shared:-fPIC:- shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", 225 "solaris-sparcv8-gcc","gcc:-mv8 -O3 -fomit-frame-pointer -Wall -DB_ENDIAN -DBN_D IV2W::-D_REENTRANT::-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL B F_PTR:${sparcv8_asm}:dlfcn:solaris-shared:-fPIC:-shared:.so.\$(SHLIB_MAJOR).\$(S HLIB_MINOR)",
221 # -m32 should be safe to add as long as driver recognizes -mcpu=ultrasparc 226 # -m32 should be safe to add as long as driver recognizes -mcpu=ultrasparc
222 "solaris-sparcv9-gcc","gcc:-m32 -mcpu=ultrasparc -O3 -fomit-frame-pointer -Wall -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT:ULTRASPARC:-lsocket -lnsl -ldl:BN_LLONG RC4_ CHAR RC4_CHUNK DES_UNROLL BF_PTR::sparcv8plus.o:des_enc-sparc.o fcrypt_b.o:::::: :::dlfcn:solaris-shared:-fPIC:-shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", 227 "solaris-sparcv9-gcc","gcc:-m32 -mcpu=ultrasparc -O3 -fomit-frame-pointer -Wall -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT:ULTRASPARC:-lsocket -lnsl -ldl:BN_LLONG RC4_ CHAR RC4_CHUNK DES_UNROLL BF_PTR:${sparcv9_asm}:dlfcn:solaris-shared:-fPIC:-shar ed:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
223 "solaris64-sparcv9-gcc","gcc:-m64 -mcpu=ultrasparc -O3 -Wall -DB_ENDIAN::-D_REEN TRANT:ULTRASPARC:-lsocket -lnsl -ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_ INT DES_PTR DES_RISC1 DES_UNROLL BF_PTR:::des_enc-sparc.o fcrypt_b.o:::::::::dlf cn:solaris-shared:-fPIC:-m64 -shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", 228 "solaris64-sparcv9-gcc","gcc:-m64 -mcpu=ultrasparc -O3 -Wall -DB_ENDIAN::-D_REEN TRANT:ULTRASPARC:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL BF_PTR:${sparcv9_asm}:dlfcn:solaris-shared:-fPIC:-m64 -sha red:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::/64",
224 #### 229 ####
225 "debug-solaris-sparcv8-gcc","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MD EBUG_ALL -O -g -mv8 -Wall -DB_ENDIAN::-D_REENTRANT::-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR::sparcv8.o::::::::::dlfcn:solaris-shared:- fPIC:-shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", 230 "debug-solaris-sparcv8-gcc","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DE BUG -DCRYPTO_MDEBUG_ALL -O -g -mv8 -Wall -DB_ENDIAN::-D_REENTRANT::-lsocket -lns l -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${sparcv8_asm}:dlfcn:solari s-shared:-fPIC:-shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
226 "debug-solaris-sparcv9-gcc","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MD EBUG_ALL -DPEDANTIC -O -g -mcpu=ultrasparc -pedantic -ansi -Wall -Wshadow -Wno-l ong-long -D__EXTENSIONS__ -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT:ULTRASPARC:-lsocke t -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR::sparcv8plus.o:des_en c-sparc.o fcrypt_b.o:::::::::dlfcn:solaris-shared:-fPIC:-shared:.so.\$(SHLIB_MAJ OR).\$(SHLIB_MINOR)", 231 "debug-solaris-sparcv9-gcc","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DE BUG -DCRYPTO_MDEBUG_ALL -DPEDANTIC -O -g -mcpu=ultrasparc -pedantic -ansi -Wall -Wshadow -Wno-long-long -D__EXTENSIONS__ -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT:ULT RASPARC:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${spar cv9_asm}:dlfcn:solaris-shared:-fPIC:-shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)" ,
227 232
228 #### SPARC Solaris with Sun C setups 233 #### SPARC Solaris with Sun C setups
229 # SC4.0 doesn't pass 'make test', upgrade to SC5.0 or SC4.2. 234 # SC4.0 doesn't pass 'make test', upgrade to SC5.0 or SC4.2.
230 # SC4.2 is ok, better than gcc even on bn as long as you tell it -xarch=v8 235 # SC4.2 is ok, better than gcc even on bn as long as you tell it -xarch=v8
231 # SC5.0 note: Compiler common patch 107357-01 or later is required! 236 # SC5.0 note: Compiler common patch 107357-01 or later is required!
232 "solaris-sparcv7-cc","cc:-xO5 -xstrconst -xdepend -Xa -DB_ENDIAN -DBN_DIV2W::-D_ REENTRANT::-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_RISC1 DES _UNROLL BF_PTR:${no_asm}:dlfcn:solaris-shared:-KPIC:-G -dy -z text:.so.\$(SHLIB_ MAJOR).\$(SHLIB_MINOR)", 237 "solaris-sparcv7-cc","cc:-xO5 -xstrconst -xdepend -Xa -DB_ENDIAN -DBN_DIV2W::-D_ REENTRANT::-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_RISC1 DES _UNROLL BF_PTR:${no_asm}:dlfcn:solaris-shared:-KPIC:-G -dy -z text:.so.\$(SHLIB_ MAJOR).\$(SHLIB_MINOR)",
233 "solaris-sparcv8-cc","cc:-xarch=v8 -xO5 -xstrconst -xdepend -Xa -DB_ENDIAN -DBN_ DIV2W::-D_REENTRANT::-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES _RISC1 DES_UNROLL BF_PTR::sparcv8.o:des_enc-sparc.o fcrypt_b.o:::::::::dlfcn:sol aris-shared:-KPIC:-G -dy -z text:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", 238 "solaris-sparcv8-cc","cc:-xarch=v8 -xO5 -xstrconst -xdepend -Xa -DB_ENDIAN -DBN_ DIV2W::-D_REENTRANT::-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES _RISC1 DES_UNROLL BF_PTR:${sparcv8_asm}:dlfcn:solaris-shared:-KPIC:-G -dy -z tex t:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
234 "solaris-sparcv9-cc","cc:-xtarget=ultra -xarch=v8plus -xO5 -xstrconst -xdepend - Xa -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT:ULTRASPARC:-lsocket -lnsl -ldl:BN_LLONG R C4_CHAR RC4_CHUNK_LL DES_PTR DES_RISC1 DES_UNROLL BF_PTR::sparcv8plus.o:des_enc- sparc.o fcrypt_b.o:::::::::dlfcn:solaris-shared:-KPIC:-G -dy -z text:.so.\$(SHLI B_MAJOR).\$(SHLIB_MINOR)", 239 "solaris-sparcv9-cc","cc:-xtarget=ultra -xarch=v8plus -xO5 -xstrconst -xdepend - Xa -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT:ULTRASPARC:-lsocket -lnsl -ldl:BN_LLONG R C4_CHAR RC4_CHUNK_LL DES_PTR DES_RISC1 DES_UNROLL BF_PTR:${sparcv9_asm}:dlfcn:so laris-shared:-KPIC:-G -dy -z text:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
235 "solaris64-sparcv9-cc","cc:-xtarget=ultra -xarch=v9 -xO5 -xstrconst -xdepend -Xa -DB_ENDIAN::-D_REENTRANT:ULTRASPARC:-lsocket -lnsl -ldl:SIXTY_FOUR_BIT_LONG RC4 _CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL BF_PTR:::des_enc-sparc.o fc rypt_b.o:::::::::dlfcn:solaris-shared:-KPIC:-xarch=v9 -G -dy -z text:.so.\$(SHLI B_MAJOR).\$(SHLIB_MINOR):/usr/ccs/bin/ar rs", 240 "solaris64-sparcv9-cc","cc:-xtarget=ultra -xarch=v9 -xO5 -xstrconst -xdepend -Xa -DB_ENDIAN::-D_REENTRANT:ULTRASPARC:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_C HUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL BF_PTR:${sparcv9_asm}:dlfcn:solaris-sh ared:-KPIC:-xarch=v9 -G -dy -z text:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):/usr/ccs /bin/ar rs::/64",
236 #### 241 ####
237 "debug-solaris-sparcv8-cc","cc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEB UG_ALL -xarch=v8 -g -O -xstrconst -Xa -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT::-lsoc ket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_RISC1 DES_UNROLL BF_PTR:: sparcv8.o::::::::::dlfcn:solaris-shared:-KPIC:-G -dy -z text:.so.\$(SHLIB_MAJOR) .\$(SHLIB_MINOR)", 242 "debug-solaris-sparcv8-cc","cc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBU G -DCRYPTO_MDEBUG_ALL -xarch=v8 -g -O -xstrconst -Xa -DB_ENDIAN -DBN_DIV2W::-D_R EENTRANT::-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_RISC1 DES_ UNROLL BF_PTR:${sparcv8_asm}:dlfcn:solaris-shared:-KPIC:-G -dy -z text:.so.\$(SH LIB_MAJOR).\$(SHLIB_MINOR)",
238 "debug-solaris-sparcv9-cc","cc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEB UG_ALL -xtarget=ultra -xarch=v8plus -g -O -xstrconst -Xa -DB_ENDIAN -DBN_DIV2W:: -D_REENTRANT:ULTRASPARC:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK_LL DES_P TR DES_RISC1 DES_UNROLL BF_PTR::sparcv8plus.o::::::::::dlfcn:solaris-shared:-KPI C:-G -dy -z text:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", 243 "debug-solaris-sparcv9-cc","cc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBU G -DCRYPTO_MDEBUG_ALL -xtarget=ultra -xarch=v8plus -g -O -xstrconst -Xa -DB_ENDI AN -DBN_DIV2W::-D_REENTRANT:ULTRASPARC:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4 _CHUNK_LL DES_PTR DES_RISC1 DES_UNROLL BF_PTR:${sparcv9_asm}:dlfcn:solaris-share d:-KPIC:-G -dy -z text:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
239 244
240 #### SunOS configs, assuming sparc for the gcc one. 245 #### SunOS configs, assuming sparc for the gcc one.
241 #"sunos-cc", "cc:-O4 -DNOPROTO -DNOCONST::(unknown):SUNOS::DES_UNROLL:${no_asm}: :", 246 #"sunos-cc", "cc:-O4 -DNOPROTO -DNOCONST::(unknown):SUNOS::DES_UNROLL:${no_asm}: :",
242 "sunos-gcc","gcc:-O3 -mv8 -Dssize_t=int::(unknown):SUNOS::BN_LLONG RC4_CHAR RC4_ CHUNK DES_UNROLL DES_PTR DES_RISC1:${no_asm}::", 247 "sunos-gcc","gcc:-O3 -mv8 -Dssize_t=int::(unknown):SUNOS::BN_LLONG RC4_CHAR RC4_ CHUNK DES_UNROLL DES_PTR DES_RISC1:${no_asm}::",
243 248
244 #### IRIX 5.x configs 249 #### IRIX 5.x configs
245 # -mips2 flag is added by ./config when appropriate. 250 # -mips2 flag is added by ./config when appropriate.
246 "irix-gcc","gcc:-O3 -DTERMIOS -DB_ENDIAN::(unknown):::BN_LLONG MD2_CHAR RC4_INDE X RC4_CHAR RC4_CHUNK DES_UNROLL DES_RISC2 DES_PTR BF_PTR:${no_asm}:dlfcn:irix-sh ared:::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", 251 "irix-gcc","gcc:-O3 -DTERMIOS -DB_ENDIAN::(unknown):::BN_LLONG MD2_CHAR RC4_INDE X RC4_CHAR RC4_CHUNK DES_UNROLL DES_RISC2 DES_PTR BF_PTR:${no_asm}:dlfcn:irix-sh ared:::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
247 "irix-cc", "cc:-O2 -use_readonly_const -DTERMIOS -DB_ENDIAN::(unknown):::BN_LLON G RC4_CHAR RC4_CHUNK DES_PTR DES_RISC2 DES_UNROLL BF_PTR:${no_asm}:dlfcn:irix-sh ared:::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", 252 "irix-cc", "cc:-O2 -use_readonly_const -DTERMIOS -DB_ENDIAN::(unknown):::BN_LLON G RC4_CHAR RC4_CHUNK DES_PTR DES_RISC2 DES_UNROLL BF_PTR:${no_asm}:dlfcn:irix-sh ared:::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
248 #### IRIX 6.x configs 253 #### IRIX 6.x configs
249 # Only N32 and N64 ABIs are supported. If you need O32 ABI build, invoke 254 # Only N32 and N64 ABIs are supported. If you need O32 ABI build, invoke
250 # './Configure irix-cc -o32' manually. 255 # './Configure irix-cc -o32' manually.
251 "irix-mips3-gcc","gcc:-mabi=n32 -O3 -DTERMIOS -DB_ENDIAN -DBN_DIV3W::-D_SGI_MP_S OURCE:::MD2_CHAR RC4_INDEX RC4_CHAR RC4_CHUNK_LL DES_UNROLL DES_RISC2 DES_PTR BF _PTR SIXTY_FOUR_BIT::bn-mips3.o::::::::::dlfcn:irix-shared::-mabi=n32:.so.\$(SHL IB_MAJOR).\$(SHLIB_MINOR)", 256 "irix-mips3-gcc","gcc:-mabi=n32 -O3 -DTERMIOS -DB_ENDIAN -DBN_DIV3W::-D_SGI_MP_S OURCE:::MD2_CHAR RC4_INDEX RC4_CHAR RC4_CHUNK_LL DES_UNROLL DES_RISC2 DES_PTR BF _PTR SIXTY_FOUR_BIT:${mips3_asm}:dlfcn:irix-shared::-mabi=n32:.so.\$(SHLIB_MAJOR ).\$(SHLIB_MINOR):::32",
252 "irix-mips3-cc", "cc:-n32 -mips3 -O2 -use_readonly_const -G0 -rdata_shared -DTER MIOS -DB_ENDIAN -DBN_DIV3W::-D_SGI_MP_SOURCE:::DES_PTR RC4_CHAR RC4_CHUNK_LL DES _RISC2 DES_UNROLL BF_PTR SIXTY_FOUR_BIT::bn-mips3.o::::::::::dlfcn:irix-shared:: -n32:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", 257 "irix-mips3-cc", "cc:-n32 -mips3 -O2 -use_readonly_const -G0 -rdata_shared -DTER MIOS -DB_ENDIAN -DBN_DIV3W::-D_SGI_MP_SOURCE:::DES_PTR RC4_CHAR RC4_CHUNK_LL DES _RISC2 DES_UNROLL BF_PTR SIXTY_FOUR_BIT:${mips3_asm}:dlfcn:irix-shared::-n32:.so .\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::32",
253 # N64 ABI builds. 258 # N64 ABI builds.
254 "irix64-mips4-gcc","gcc:-mabi=64 -mips4 -O3 -DTERMIOS -DB_ENDIAN -DBN_DIV3W::-D_ SGI_MP_SOURCE:::RC4_CHAR RC4_CHUNK DES_RISC2 DES_UNROLL SIXTY_FOUR_BIT_LONG::bn- mips3.o::::::::::dlfcn:irix-shared::-mabi=64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR) ", 259 "irix64-mips4-gcc","gcc:-mabi=64 -mips4 -O3 -DTERMIOS -DB_ENDIAN -DBN_DIV3W::-D_ SGI_MP_SOURCE:::RC4_CHAR RC4_CHUNK DES_RISC2 DES_UNROLL SIXTY_FOUR_BIT_LONG:${mi ps3_asm}:dlfcn:irix-shared::-mabi=64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
255 "irix64-mips4-cc", "cc:-64 -mips4 -O2 -use_readonly_const -G0 -rdata_shared -DTE RMIOS -DB_ENDIAN -DBN_DIV3W::-D_SGI_MP_SOURCE:::RC4_CHAR RC4_CHUNK DES_RISC2 DES _UNROLL SIXTY_FOUR_BIT_LONG::bn-mips3.o::::::::::dlfcn:irix-shared::-64:.so.\$(S HLIB_MAJOR).\$(SHLIB_MINOR)", 260 "irix64-mips4-cc", "cc:-64 -mips4 -O2 -use_readonly_const -G0 -rdata_shared -DTE RMIOS -DB_ENDIAN -DBN_DIV3W::-D_SGI_MP_SOURCE:::RC4_CHAR RC4_CHUNK DES_RISC2 DES _UNROLL SIXTY_FOUR_BIT_LONG:${mips3_asm}:dlfcn:irix-shared::-64:.so.\$(SHLIB_MAJ OR).\$(SHLIB_MINOR):::64",
256 261
257 #### Unified HP-UX ANSI C configs. 262 #### Unified HP-UX ANSI C configs.
258 # Special notes: 263 # Special notes:
259 # - Originally we were optimizing at +O4 level. It should be noted 264 # - Originally we were optimizing at +O4 level. It should be noted
260 # that the only difference between +O3 and +O4 is global inter- 265 # that the only difference between +O3 and +O4 is global inter-
261 # procedural analysis. As it has to be performed during the link 266 # procedural analysis. As it has to be performed during the link
262 # stage the compiler leaves behind certain pseudo-code in lib*.a 267 # stage the compiler leaves behind certain pseudo-code in lib*.a
263 # which might be release or even patch level specific. Generating 268 # which might be release or even patch level specific. Generating
264 # the machine code for and analyzing the *whole* program appears 269 # the machine code for and analyzing the *whole* program appears
265 # to be *extremely* memory demanding while the performance gain is 270 # to be *extremely* memory demanding while the performance gain is
(...skipping 12 matching lines...) Expand all
278 # - -DMD32_XARRAY triggers workaround for compiler bug we ran into in 283 # - -DMD32_XARRAY triggers workaround for compiler bug we ran into in
279 # 32-bit message digests. (For the moment of this writing) HP C 284 # 32-bit message digests. (For the moment of this writing) HP C
280 # doesn't seem to "digest" too many local variables (they make "him" 285 # doesn't seem to "digest" too many local variables (they make "him"
281 # chew forever:-). For more details look-up MD32_XARRAY comment in 286 # chew forever:-). For more details look-up MD32_XARRAY comment in
282 # crypto/sha/sha_lcl.h. 287 # crypto/sha/sha_lcl.h.
283 # <appro@fy.chalmers.se> 288 # <appro@fy.chalmers.se>
284 # 289 #
285 # Since there is mention of this in shlib/hpux10-cc.sh 290 # Since there is mention of this in shlib/hpux10-cc.sh
286 "hpux-parisc-cc-o4","cc:-Ae +O4 +ESlit -z -DB_ENDIAN -DBN_DIV2W -DMD32_XARRAY::- D_REENTRANT::-ldld:BN_LLONG DES_PTR DES_UNROLL DES_RISC1:${no_asm}:dl:hpux-share d:+Z:-b:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", 291 "hpux-parisc-cc-o4","cc:-Ae +O4 +ESlit -z -DB_ENDIAN -DBN_DIV2W -DMD32_XARRAY::- D_REENTRANT::-ldld:BN_LLONG DES_PTR DES_UNROLL DES_RISC1:${no_asm}:dl:hpux-share d:+Z:-b:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
287 "hpux-parisc-gcc","gcc:-O3 -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT::-Wl,+s -ldld:BN_ LLONG DES_PTR DES_UNROLL DES_RISC1:${no_asm}:dl:hpux-shared:-fPIC:-shared:.sl.\$ (SHLIB_MAJOR).\$(SHLIB_MINOR)", 292 "hpux-parisc-gcc","gcc:-O3 -DB_ENDIAN -DBN_DIV2W::-D_REENTRANT::-Wl,+s -ldld:BN_ LLONG DES_PTR DES_UNROLL DES_RISC1:${no_asm}:dl:hpux-shared:-fPIC:-shared:.sl.\$ (SHLIB_MAJOR).\$(SHLIB_MINOR)",
288 "hpux-parisc2-gcc","gcc:-march=2.0 -O3 -DB_ENDIAN -D_REENTRANT::::-Wl,+s -ldld:S IXTY_FOUR_BIT RC4_CHAR RC4_CHUNK DES_PTR DES_UNROLL DES_RISC1::pa-risc2.o::::::: :::dl:hpux-shared:-fPIC:-shared:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", 293 "hpux-parisc2-gcc","gcc:-march=2.0 -O3 -DB_ENDIAN -D_REENTRANT::::-Wl,+s -ldld:S IXTY_FOUR_BIT RC4_CHAR RC4_CHUNK DES_PTR DES_UNROLL DES_RISC1::pa-risc2.o::::::: :::::void:dl:hpux-shared:-fPIC:-shared:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
289 "hpux64-parisc2-gcc","gcc:-O3 -DB_ENDIAN -D_REENTRANT::::-ldl:SIXTY_FOUR_BIT_LON G MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT::pa-risc2W.o::::::::: :dlfcn:hpux-shared:-fpic:-shared:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", 294 "hpux64-parisc2-gcc","gcc:-O3 -DB_ENDIAN -D_REENTRANT::::-ldl:SIXTY_FOUR_BIT_LON G MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT::pa-risc2W.o::::::::: :::void:dlfcn:hpux-shared:-fpic:-shared:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::/p a20_64",
290 295
291 # More attempts at unified 10.X and 11.X targets for HP C compiler. 296 # More attempts at unified 10.X and 11.X targets for HP C compiler.
292 # 297 #
293 # Chris Ruemmler <ruemmler@cup.hp.com> 298 # Chris Ruemmler <ruemmler@cup.hp.com>
294 # Kevin Steves <ks@hp.se> 299 # Kevin Steves <ks@hp.se>
295 "hpux-parisc-cc","cc:+O3 +Optrs_strongly_typed -Ae +ESlit -DB_ENDIAN -DBN_DIV2W -DMD32_XARRAY::-D_REENTRANT::-Wl,+s -ldld:MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT:${no_asm}:dl:hpux-shared:+Z:-b:.sl.\$(SHLIB_MAJOR).\$(SHLIB_M INOR)", 300 "hpux-parisc-cc","cc:+O3 +Optrs_strongly_typed -Ae +ESlit -DB_ENDIAN -DBN_DIV2W -DMD32_XARRAY::-D_REENTRANT::-Wl,+s -ldld:MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT:${no_asm}:dl:hpux-shared:+Z:-b:.sl.\$(SHLIB_MAJOR).\$(SHLIB_M INOR)",
296 "hpux-parisc1_0-cc","cc:+DAportable +O3 +Optrs_strongly_typed -Ae +ESlit -DB_END IAN -DMD32_XARRAY::-D_REENTRANT::-Wl,+s -ldld:MD2_CHAR RC4_INDEX RC4_CHAR DES_UN ROLL DES_RISC1 DES_INT:${no_asm}:dl:hpux-shared:+Z:-b:.sl.\$(SHLIB_MAJOR).\$(SHL IB_MINOR)", 301 "hpux-parisc1_0-cc","cc:+DAportable +O3 +Optrs_strongly_typed -Ae +ESlit -DB_END IAN -DMD32_XARRAY::-D_REENTRANT::-Wl,+s -ldld:MD2_CHAR RC4_INDEX RC4_CHAR DES_UN ROLL DES_RISC1 DES_INT:${no_asm}:dl:hpux-shared:+Z:-b:.sl.\$(SHLIB_MAJOR).\$(SHL IB_MINOR)",
297 "hpux-parisc2-cc","cc:+DA2.0 +DS2.0 +O3 +Optrs_strongly_typed -Ae +ESlit -DB_END IAN -DMD32_XARRAY -D_REENTRANT::::-Wl,+s -ldld:SIXTY_FOUR_BIT MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT::pa-risc2.o::::::::::dl:hpux-shared:+Z:-b :.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", 302 "hpux-parisc2-cc","cc:+DA2.0 +DS2.0 +O3 +Optrs_strongly_typed -Ae +ESlit -DB_END IAN -DMD32_XARRAY -D_REENTRANT::::-Wl,+s -ldld:SIXTY_FOUR_BIT MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT::pa-risc2.o::::::::::::void:dl:hpux-share d:+Z:-b:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
298 "hpux64-parisc2-cc","cc:+DD64 +O3 +Optrs_strongly_typed -Ae +ESlit -DB_ENDIAN -D MD32_XARRAY -D_REENTRANT::::-ldl:SIXTY_FOUR_BIT_LONG MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT::pa-risc2W.o::::::::::dlfcn:hpux-shared:+Z:+DD64 - b:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", 303 "hpux64-parisc2-cc","cc:+DD64 +O3 +Optrs_strongly_typed -Ae +ESlit -DB_ENDIAN -D MD32_XARRAY -D_REENTRANT::::-ldl:SIXTY_FOUR_BIT_LONG MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT::pa-risc2W.o::::::::::::void:dlfcn:hpux-shared:+Z: +DD64 -b:.sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::/pa20_64",
299 304
300 # HP/UX IA-64 targets 305 # HP/UX IA-64 targets
301 "hpux-ia64-cc","cc:-Ae +DD32 +O2 +Olit=all -z -DB_ENDIAN -D_REENTRANT::::-ldl:SI XTY_FOUR_BIT MD2_CHAR RC4_INDEX DES_UNROLL DES_RISC1 DES_INT:${ia64_asm}:dlfcn:h pux-shared:+Z:+DD32 -b:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", 306 "hpux-ia64-cc","cc:-Ae +DD32 +O2 +Olit=all -z -DB_ENDIAN -D_REENTRANT::::-ldl:SI XTY_FOUR_BIT MD2_CHAR RC4_INDEX DES_UNROLL DES_RISC1 DES_INT:${ia64_asm}:dlfcn:h pux-shared:+Z:+DD32 -b:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::/hpux32",
302 # Frank Geurts <frank.geurts@nl.abnamro.com> has patiently assisted with 307 # Frank Geurts <frank.geurts@nl.abnamro.com> has patiently assisted with
303 # with debugging of the following config. 308 # with debugging of the following config.
304 "hpux64-ia64-cc","cc:-Ae +DD64 +O3 +Olit=all -z -DB_ENDIAN -D_REENTRANT::::-ldl: SIXTY_FOUR_BIT_LONG MD2_CHAR RC4_INDEX DES_UNROLL DES_RISC1 DES_INT:${ia64_asm}: dlfcn:hpux-shared:+Z:+DD64 -b:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", 309 "hpux64-ia64-cc","cc:-Ae +DD64 +O3 +Olit=all -z -DB_ENDIAN -D_REENTRANT::::-ldl: SIXTY_FOUR_BIT_LONG MD2_CHAR RC4_INDEX DES_UNROLL DES_RISC1 DES_INT:${ia64_asm}: dlfcn:hpux-shared:+Z:+DD64 -b:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::/hpux64",
305 # GCC builds... 310 # GCC builds...
306 "hpux-ia64-gcc","gcc:-O3 -DB_ENDIAN -D_REENTRANT::::-ldl:SIXTY_FOUR_BIT MD2_CHAR RC4_INDEX DES_UNROLL DES_RISC1 DES_INT:${ia64_asm}:dlfcn:hpux-shared:-fpic:-sha red:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", 311 "hpux-ia64-gcc","gcc:-O3 -DB_ENDIAN -D_REENTRANT::::-ldl:SIXTY_FOUR_BIT MD2_CHAR RC4_INDEX DES_UNROLL DES_RISC1 DES_INT:${ia64_asm}:dlfcn:hpux-shared:-fpic:-sha red:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::/hpux32",
307 "hpux64-ia64-gcc","gcc:-mlp64 -O3 -DB_ENDIAN -D_REENTRANT::::-ldl:SIXTY_FOUR_BIT _LONG MD2_CHAR RC4_INDEX DES_UNROLL DES_RISC1 DES_INT:${ia64_asm}:dlfcn:hpux-sha red:-fpic:-mlp64 -shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", 312 "hpux64-ia64-gcc","gcc:-mlp64 -O3 -DB_ENDIAN -D_REENTRANT::::-ldl:SIXTY_FOUR_BIT _LONG MD2_CHAR RC4_INDEX DES_UNROLL DES_RISC1 DES_INT:${ia64_asm}:dlfcn:hpux-sha red:-fpic:-mlp64 -shared:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::/hpux64",
308 313
309 # Legacy HPUX 9.X configs... 314 # Legacy HPUX 9.X configs...
310 "hpux-cc", "cc:-DB_ENDIAN -DBN_DIV2W -DMD32_XARRAY -Ae +ESlit +O2 -z::(unkn own)::-Wl,+s -ldld:DES_PTR DES_UNROLL DES_RISC1:${no_asm}:dl:hpux-shared:+Z:-b:. sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", 315 "hpux-cc", "cc:-DB_ENDIAN -DBN_DIV2W -DMD32_XARRAY -Ae +ESlit +O2 -z::(unkn own)::-Wl,+s -ldld:DES_PTR DES_UNROLL DES_RISC1:${no_asm}:dl:hpux-shared:+Z:-b:. sl.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
311 "hpux-gcc", "gcc:-DB_ENDIAN -DBN_DIV2W -O3::(unknown)::-Wl,+s -ldld:DES_PTR DES_UNROLL DES_RISC1:${no_asm}:dl:hpux-shared:-fPIC:-shared:.sl.\$(SHLIB_MAJOR). \$(SHLIB_MINOR)", 316 "hpux-gcc", "gcc:-DB_ENDIAN -DBN_DIV2W -O3::(unknown)::-Wl,+s -ldld:DES_PTR DES_UNROLL DES_RISC1:${no_asm}:dl:hpux-shared:-fPIC:-shared:.sl.\$(SHLIB_MAJOR). \$(SHLIB_MINOR)",
312 317
313 #### HP MPE/iX http://jazz.external.hp.com/src/openssl/ 318 #### HP MPE/iX http://jazz.external.hp.com/src/openssl/
314 "MPE/iX-gcc", "gcc:-D_ENDIAN -DBN_DIV2W -O3 -D_POSIX_SOURCE -D_SOCKET_SOURCE - I/SYSLOG/PUB::(unknown):MPE:-L/SYSLOG/PUB -lsyslog -lsocket -lcurses:BN_LLONG DE S_PTR DES_UNROLL DES_RISC1:::", 319 "MPE/iX-gcc", "gcc:-D_ENDIAN -DBN_DIV2W -O3 -D_POSIX_SOURCE -D_SOCKET_SOURCE - I/SYSLOG/PUB::(unknown):MPE:-L/SYSLOG/PUB -lsyslog -lsocket -lcurses:BN_LLONG DE S_PTR DES_UNROLL DES_RISC1:::",
315 320
316 # DEC Alpha OSF/1/Tru64 targets. 321 # DEC Alpha OSF/1/Tru64 targets.
317 # 322 #
318 # "What's in a name? That which we call a rose 323 # "What's in a name? That which we call a rose
319 # By any other word would smell as sweet." 324 # By any other word would smell as sweet."
320 # 325 #
321 # - William Shakespeare, "Romeo & Juliet", Act II, scene II. 326 # - William Shakespeare, "Romeo & Juliet", Act II, scene II.
322 # 327 #
323 # For gcc, the following gave a %50 speedup on a 164 over the 'DES_INT' version 328 # For gcc, the following gave a %50 speedup on a 164 over the 'DES_INT' version
324 # 329 #
325 "osf1-alpha-gcc", "gcc:-O3::(unknown):::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_UNROLL DES_RISC1:${no_asm}:dlfcn:alpha-osf1-shared:::.so", 330 "osf1-alpha-gcc", "gcc:-O3::(unknown):::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_UNROLL DES_RISC1:${alpha_asm}:dlfcn:alpha-osf1-shared:::.so",
326 "osf1-alpha-cc", "cc:-std1 -tune host -O4 -readonly_strings::(unknown):::SIXTY_ FOUR_BIT_LONG RC4_CHUNK:${no_asm}:dlfcn:alpha-osf1-shared:::.so", 331 "osf1-alpha-cc", "cc:-std1 -tune host -O4 -readonly_strings::(unknown):::SIXTY_ FOUR_BIT_LONG RC4_CHUNK:${alpha_asm}:dlfcn:alpha-osf1-shared:::.so",
327 "tru64-alpha-cc", "cc:-std1 -tune host -fast -readonly_strings::-pthread:::SIXTY _FOUR_BIT_LONG RC4_CHUNK:${no_asm}:dlfcn:alpha-osf1-shared::-msym:.so", 332 "tru64-alpha-cc", "cc:-std1 -tune host -fast -readonly_strings::-pthread:::SIXTY _FOUR_BIT_LONG RC4_CHUNK:${alpha_asm}:dlfcn:alpha-osf1-shared::-msym:.so",
328 333
329 #### 334 ####
330 #### Variety of LINUX:-) 335 #### Variety of LINUX:-)
331 #### 336 ####
332 # *-generic* is endian-neutral target, but ./config is free to 337 # *-generic* is endian-neutral target, but ./config is free to
333 # throw in -D[BL]_ENDIAN, whichever appropriate... 338 # throw in -D[BL]_ENDIAN, whichever appropriate...
334 "linux-generic32","gcc:-DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-l dl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-s hared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", 339 "linux-generic32","gcc:-DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-l dl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-s hared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
335 "linux-ppc",» "gcc:-DB_ENDIAN -DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL::linux_ppc32.o::::::::::dlfcn:linux-shar ed:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", 340 "linux-ppc",» "gcc:-DB_ENDIAN -DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL:${ppc32_asm}:linux32:dlfcn:linux-shared: -fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
341 # It's believed that majority of ARM toolchains predefine appropriate -march.
342 # If you compiler does not, do complement config command line with one!
343 "linux-armv4",» "gcc:-DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC 4_CHUNK DES_INT DES_UNROLL BF_PTR:${armv4_asm}:dlfcn:linux-shared:-fPIC::.so.\$( SHLIB_MAJOR).\$(SHLIB_MINOR)",
336 #### IA-32 targets... 344 #### IA-32 targets...
337 "linux-ia32-icc", "icc:-DL_ENDIAN -DTERMIO -O2 -no_cpprt::-D_REENTRANT::-l dl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-KP IC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", 345 "linux-ia32-icc", "icc:-DL_ENDIAN -DTERMIO -O2 -no_cpprt::-D_REENTRANT::-l dl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-KP IC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
338 "linux-elf", "gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REEN TRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-s hared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", 346 "linux-elf", "gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::-D_REEN TRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-s hared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
339 "linux-aout",» "gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -march=i486 -W all::(unknown):::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_out_asm}", 347 "linux-aout",» "gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -march=i486 -W all::(unknown):::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_asm}:a.out",
340 #### 348 ####
341 "linux-generic64","gcc:-DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LON G RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPI C::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", 349 "linux-generic64","gcc:-DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LON G RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPI C::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
342 "linux-ppc64",» "gcc:-m64 -DB_ENDIAN -DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:SIXT Y_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL::linux_ppc64.o:::::::::: dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", 350 "linux-ppc64",» "gcc:-m64 -DB_ENDIAN -DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:SIXT Y_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL:${ppc64_asm}:linux64:dlf cn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
343 "linux-ia64",» "gcc:-DL_ENDIAN -DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOU R_BIT_LONG RC4_CHUNK:${ia64_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\ $(SHLIB_MINOR)", 351 "linux-ia64",» "gcc:-DL_ENDIAN -DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOU R_BIT_LONG RC4_CHUNK DES_UNROLL DES_INT:${ia64_asm}:dlfcn:linux-shared:-fPIC::.s o.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
344 "linux-ia64-ecc","ecc:-DL_ENDIAN -DTERMIO -O2 -Wall -no_cpprt::-D_REENTRANT::-ld l:SIXTY_FOUR_BIT_LONG RC4_CHUNK:${ia64_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHL IB_MAJOR).\$(SHLIB_MINOR)", 352 "linux-ia64-ecc","ecc:-DL_ENDIAN -DTERMIO -O2 -Wall -no_cpprt::-D_REENTRANT::-ld l:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT:${ia64_asm}:dlfcn:linux-shared:-fPIC::.s o.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
345 "linux-ia64-icc","icc:-DL_ENDIAN -DTERMIO -O2 -Wall -no_cpprt::-D_REENTRANT::-ld l:SIXTY_FOUR_BIT_LONG RC4_CHUNK:${ia64_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHL IB_MAJOR).\$(SHLIB_MINOR)", 353 "linux-ia64-icc","icc:-DL_ENDIAN -DTERMIO -O2 -Wall -no_cpprt::-D_REENTRANT::-ld l:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_RISC1 DES_INT:${ia64_asm}:dlfcn:linux-shared :-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
346 "linux-x86_64",»"gcc:-m64 -DL_ENDIAN -DTERMIO -O3 -Wall -DMD32_REG_T=int::-D_REE NTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:dlfc n:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", 354 "linux-x86_64",»"gcc:-m64 -DL_ENDIAN -DTERMIO -O3 -Wall -DMD32_REG_T=int::-D_REE NTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf: dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
355 "linux-s390x",» "gcc:-m64 -DB_ENDIAN -DTERMIO -O3 -Wall::-D_REENTRANT::-ldl:SIXT Y_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL:${s390x_asm}:dlfcn:linux-s hared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
347 #### SPARC Linux setups 356 #### SPARC Linux setups
348 # Ray Miller <ray.miller@computing-services.oxford.ac.uk> has patiently 357 # Ray Miller <ray.miller@computing-services.oxford.ac.uk> has patiently
349 # assisted with debugging of following two configs. 358 # assisted with debugging of following two configs.
350 "linux-sparcv8","gcc:-mv8 -DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall -DB N_DIV2W::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR::sparc v8.o:des_enc-sparc.o fcrypt_b.o:::::::::dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_M AJOR).\$(SHLIB_MINOR)", 359 "linux-sparcv8","gcc:-mv8 -DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall -DB N_DIV2W::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${spar cv8_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
351 # it's a real mess with -mcpu=ultrasparc option under Linux, but 360 # it's a real mess with -mcpu=ultrasparc option under Linux, but
352 # -Wa,-Av8plus should do the trick no matter what. 361 # -Wa,-Av8plus should do the trick no matter what.
353 "linux-sparcv9","gcc:-m32 -mcpu=ultrasparc -DB_ENDIAN -DTERMIO -O3 -fomit-frame- pointer -Wall -Wa,-Av8plus -DBN_DIV2W::-D_REENTRANT:ULTRASPARC:-ldl:BN_LLONG RC4 _CHAR RC4_CHUNK DES_UNROLL BF_PTR::sparcv8plus.o:des_enc-sparc.o fcrypt_b.o::::: ::::dlfcn:linux-shared:-fPIC:-m32:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", 362 "linux-sparcv9","gcc:-m32 -mcpu=ultrasparc -DB_ENDIAN -DTERMIO -O3 -fomit-frame- pointer -Wall -Wa,-Av8plus -DBN_DIV2W::-D_REENTRANT:ULTRASPARC:-ldl:BN_LLONG RC4 _CHAR RC4_CHUNK DES_UNROLL BF_PTR:${sparcv9_asm}:dlfcn:linux-shared:-fPIC:-m32:. so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
354 # GCC 3.1 is a requirement 363 # GCC 3.1 is a requirement
355 "linux64-sparcv9","gcc:-m64 -mcpu=ultrasparc -DB_ENDIAN -DTERMIO -O3 -fomit-fram e-pointer -Wall::-D_REENTRANT:ULTRASPARC:-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_C HUNK DES_UNROLL BF_PTR::::::::::::dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJ OR).\$(SHLIB_MINOR)", 364 "linux64-sparcv9","gcc:-m64 -mcpu=ultrasparc -DB_ENDIAN -DTERMIO -O3 -fomit-fram e-pointer -Wall::-D_REENTRANT:ULTRASPARC:-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_IN T DES_PTR DES_RISC1 DES_UNROLL BF_PTR:${sparcv9_asm}:dlfcn:linux-shared:-fPIC:-m 64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
356 #### Alpha Linux with GNU C and Compaq C setups 365 #### Alpha Linux with GNU C and Compaq C setups
357 # Special notes: 366 # Special notes:
358 # - linux-alpha+bwx-gcc is ment to be used from ./config only. If you 367 # - linux-alpha+bwx-gcc is ment to be used from ./config only. If you
359 # ought to run './Configure linux-alpha+bwx-gcc' manually, do 368 # ought to run './Configure linux-alpha+bwx-gcc' manually, do
360 # complement the command line with -mcpu=ev56, -mcpu=ev6 or whatever 369 # complement the command line with -mcpu=ev56, -mcpu=ev6 or whatever
361 # which is appropriate. 370 # which is appropriate.
362 # - If you use ccc keep in mind that -fast implies -arch host and the 371 # - If you use ccc keep in mind that -fast implies -arch host and the
363 # compiler is free to issue instructions which gonna make elder CPU 372 # compiler is free to issue instructions which gonna make elder CPU
364 # choke. If you wish to build "blended" toolkit, add -arch generic 373 # choke. If you wish to build "blended" toolkit, add -arch generic
365 # *after* -fast and invoke './Configure linux-alpha-ccc' manually. 374 # *after* -fast and invoke './Configure linux-alpha-ccc' manually.
366 # 375 #
367 # <appro@fy.chalmers.se> 376 # <appro@fy.chalmers.se>
368 # 377 #
369 "linux-alpha-gcc","gcc:-O3 -DL_ENDIAN -DTERMIO::-D_REENTRANT::-ldl:SIXTY_FOUR_BI T_LONG RC4_CHUNK DES_RISC1 DES_UNROLL:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$ (SHLIB_MAJOR).\$(SHLIB_MINOR)", 378 "linux-alpha-gcc","gcc:-O3 -DL_ENDIAN -DTERMIO::-D_REENTRANT::-ldl:SIXTY_FOUR_BI T_LONG RC4_CHUNK DES_RISC1 DES_UNROLL:${alpha_asm}:dlfcn:linux-shared:-fPIC::.so .\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
370 "linux-alpha+bwx-gcc","gcc:-O3 -DL_ENDIAN -DTERMIO::-D_REENTRANT::-ldl:SIXTY_FOU R_BIT_LONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL:${no_asm}:dlfcn:linux-shared: -fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", 379 "linux-alpha+bwx-gcc","gcc:-O3 -DL_ENDIAN -DTERMIO::-D_REENTRANT::-ldl:SIXTY_FOU R_BIT_LONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL:${alpha_asm}:dlfcn:linux-shar ed:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
371 "linux-alpha-ccc","ccc:-fast -readonly_strings -DL_ENDIAN -DTERMIO::-D_REENTRANT :::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL:${no_asm}" , 380 "linux-alpha-ccc","ccc:-fast -readonly_strings -DL_ENDIAN -DTERMIO::-D_REENTRANT :::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL:${alpha_as m}",
372 "linux-alpha+bwx-ccc","ccc:-fast -readonly_strings -DL_ENDIAN -DTERMIO::-D_REENT RANT:::SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNRO LL:${no_asm}", 381 "linux-alpha+bwx-ccc","ccc:-fast -readonly_strings -DL_ENDIAN -DTERMIO::-D_REENT RANT:::SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNRO LL:${alpha_asm}",
373 382
374 #### *BSD [do see comment about ${BSDthreads} above!] 383 #### *BSD [do see comment about ${BSDthreads} above!]
375 "BSD-generic32","gcc:-DTERMIOS -O3 -fomit-frame-pointer -Wall::${BSDthreads}:::B N_LLONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL:${no_asm}:dlfcn:bsd-gcc-shared:-fP IC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", 384 "BSD-generic32","gcc:-DTERMIOS -O3 -fomit-frame-pointer -Wall::${BSDthreads}:::B N_LLONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL:${no_asm}:dlfcn:bsd-gcc-shared:-fP IC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
376 "BSD-x86",» "gcc:-DL_ENDIAN -DTERMIOS -O3 -fomit-frame-pointer -Wall::${BSDt hreads}:::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_out_asm}:dlfcn:bsd-share d:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", 385 "BSD-x86",» "gcc:-DL_ENDIAN -DTERMIOS -O3 -fomit-frame-pointer -Wall::${BSDt hreads}:::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_asm}:a.out:dlfcn:bsd-sha red:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
377 "BSD-x86-elf", "gcc:-DL_ENDIAN -DTERMIOS -O3 -fomit-frame-pointer -Wall::${BSDt hreads}:::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:bsd-share d:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", 386 "BSD-x86-elf", "gcc:-DL_ENDIAN -DTERMIOS -O3 -fomit-frame-pointer -Wall::${BSDt hreads}:::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:bsd-share d:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
378 "debug-BSD-x86-elf", "gcc:-DL_ENDIAN -DTERMIOS -O3 -Wall -g::${BSDthreads}::: BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:bsd-shared:-fPIC::. so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", 387 "debug-BSD-x86-elf", "gcc:-DL_ENDIAN -DTERMIOS -O3 -Wall -g::${BSDthreads}::: BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:bsd-shared:-fPIC::. so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
379 "BSD-sparcv8",» "gcc:-DB_ENDIAN -DTERMIOS -O3 -mv8 -Wall::${BSDthreads}:::BN_LLO NG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL::sparcv8.o:des_enc-sparc.o fcrypt_b.o:: :::::::dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", 388 "BSD-sparcv8",» "gcc:-DB_ENDIAN -DTERMIOS -O3 -mv8 -Wall::${BSDthreads}:::BN_LLO NG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL:${sparcv8_asm}:dlfcn:bsd-gcc-shared:-fP IC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
380 389
381 "BSD-generic64","gcc:-DTERMIOS -O3 -Wall::${BSDthreads}:::SIXTY_FOUR_BIT_LONG RC 4_CHUNK DES_INT DES_UNROLL:${no_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MA JOR).\$(SHLIB_MINOR)", 390 "BSD-generic64","gcc:-DTERMIOS -O3 -Wall::${BSDthreads}:::SIXTY_FOUR_BIT_LONG RC 4_CHUNK DES_INT DES_UNROLL:${no_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MA JOR).\$(SHLIB_MINOR)",
382 # -DMD32_REG_T=int doesn't actually belong in sparc64 target, it 391 # -DMD32_REG_T=int doesn't actually belong in sparc64 target, it
383 # simply *happens* to work around a compiler bug in gcc 3.3.3, 392 # simply *happens* to work around a compiler bug in gcc 3.3.3,
384 # triggered by RIPEMD160 code. 393 # triggered by RIPEMD160 code.
385 "BSD-sparc64",» "gcc:-DB_ENDIAN -DTERMIOS -O3 -DMD32_REG_T=int -Wall::${BSDthrea ds}:::SIXTY_FOUR_BIT_LONG RC2_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC2 BF_PTR::: des_enc-sparc.o fcrypt_b.o:::::::::dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJO R).\$(SHLIB_MINOR)", 394 "BSD-sparc64",» "gcc:-DB_ENDIAN -DTERMIOS -O3 -DMD32_REG_T=int -Wall::${BSDthrea ds}:::BN_LLONG RC2_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC2 BF_PTR:${sparcv9_asm }:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
386 "BSD-ia64",» "gcc:-DL_ENDIAN -DTERMIOS -O3 -Wall::${BSDthreads}:::SIXTY_FOUR_ BIT_LONG RC4_CHUNK:${ia64_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\ $(SHLIB_MINOR)", 395 "BSD-ia64",» "gcc:-DL_ENDIAN -DTERMIOS -O3 -Wall::${BSDthreads}:::SIXTY_FOUR_ BIT_LONG RC4_CHUNK DES_UNROLL DES_INT:${ia64_asm}:dlfcn:bsd-gcc-shared:-fPIC::.s o.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
387 "BSD-x86_64",» "gcc:-DL_ENDIAN -DTERMIOS -O3 -DMD32_REG_T=int -Wall::${BSDthrea ds}:::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:dlfcn:bsd-g cc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", 396 "BSD-x86_64",» "gcc:-DL_ENDIAN -DTERMIOS -O3 -DMD32_REG_T=int -Wall::${BSDthrea ds}:::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:b sd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
388 397
389 "bsdi-elf-gcc", "gcc:-DPERL5 -DL_ENDIAN -fomit-frame-pointer -O3 -march=i486 -Wall::(unknown)::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:d lfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", 398 "bsdi-elf-gcc", "gcc:-DPERL5 -DL_ENDIAN -fomit-frame-pointer -O3 -march=i486 -Wall::(unknown)::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:d lfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
390 399
391 "nextstep", "cc:-O -Wall:<libc.h>:(unknown):::BN_LLONG ${x86_gcc_des} ${x86_ gcc_opts}:::", 400 "nextstep", "cc:-O -Wall:<libc.h>:(unknown):::BN_LLONG ${x86_gcc_des} ${x86_ gcc_opts}:::",
392 "nextstep3.3", "cc:-O3 -Wall:<libc.h>:(unknown):::BN_LLONG ${x86_gcc_des} ${x86 _gcc_opts}:::", 401 "nextstep3.3", "cc:-O3 -Wall:<libc.h>:(unknown):::BN_LLONG ${x86_gcc_des} ${x86 _gcc_opts}:::",
393 402
394 # NCR MP-RAS UNIX ver 02.03.01 403 # NCR MP-RAS UNIX ver 02.03.01
395 "ncr-scde","cc:-O6 -Xa -Hoff=BEHAVED -686 -Hwide -Hiw::(unknown)::-lsocket -lnsl -lc89:${x86_gcc_des} ${x86_gcc_opts}:::", 404 "ncr-scde","cc:-O6 -Xa -Hoff=BEHAVED -686 -Hwide -Hiw::(unknown)::-lsocket -lnsl -lc89:${x86_gcc_des} ${x86_gcc_opts}:::",
396 405
397 # QNX 406 # QNX
398 "qnx4", "cc:-DL_ENDIAN -DTERMIO::(unknown):::${x86_gcc_des} ${x86_gcc_opts}:", 407 "qnx4", "cc:-DL_ENDIAN -DTERMIO::(unknown):::${x86_gcc_des} ${x86_gcc_opts}:",
399 "QNX6", "gcc:-DTERMIOS::::-lsocket::${no_asm}:dlfcn:bsd-gcc-shared:-fPIC:: .so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", 408 "QNX6", "gcc:-DTERMIOS::::-lsocket::${no_asm}:dlfcn:bsd-gcc-shared:-fPIC:: .so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
400 "QNX6-i386", "gcc:-DL_ENDIAN -DTERMIOS -O2 -Wall::::-lsocket:${x86_gcc_des} ${x 86_gcc_opts}:${x86_elf_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(S HLIB_MINOR)", 409 "QNX6-i386", "gcc:-DL_ENDIAN -DTERMIOS -O2 -Wall::::-lsocket:${x86_gcc_des} ${x 86_gcc_opts}:${x86_elf_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(S HLIB_MINOR)",
401 410
411 # BeOS
412 "beos-x86-r5", "gcc:-DL_ENDIAN -DTERMIOS -O3 -fomit-frame-pointer -mcpu=pentiu m -Wall::-D_REENTRANT:BEOS:-lbe -lnet:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${ x86_elf_asm}:beos:beos-shared:-fPIC -DPIC:-shared:.so",
413 "beos-x86-bone", "gcc:-DL_ENDIAN -DTERMIOS -O3 -fomit-frame-pointer -mcpu=pentiu m -Wall::-D_REENTRANT:BEOS:-lbe -lbind -lsocket:BN_LLONG ${x86_gcc_des} ${x86_gc c_opts}:${x86_elf_asm}:beos:beos-shared:-fPIC:-shared:.so",
414
402 #### SCO/Caldera targets. 415 #### SCO/Caldera targets.
403 # 416 #
404 # Originally we had like unixware-*, unixware-*-pentium, unixware-*-p6, etc. 417 # Originally we had like unixware-*, unixware-*-pentium, unixware-*-p6, etc.
405 # Now we only have blended unixware-* as it's the only one used by ./config. 418 # Now we only have blended unixware-* as it's the only one used by ./config.
406 # If you want to optimize for particular microarchitecture, bypass ./config 419 # If you want to optimize for particular microarchitecture, bypass ./config
407 # and './Configure unixware-7 -Kpentium_pro' or whatever appropriate. 420 # and './Configure unixware-7 -Kpentium_pro' or whatever appropriate.
408 # Note that not all targets include assembler support. Mostly because of 421 # Note that not all targets include assembler support. Mostly because of
409 # lack of motivation to support out-of-date platforms with out-of-date 422 # lack of motivation to support out-of-date platforms with out-of-date
410 # compiler drivers and assemblers. Tim Rice <tim@multitalents.net> has 423 # compiler drivers and assemblers. Tim Rice <tim@multitalents.net> has
411 # patiently assisted to debug most of it. 424 # patiently assisted to debug most of it.
412 # 425 #
413 # UnixWare 2.0x fails destest with -O. 426 # UnixWare 2.0x fails destest with -O.
414 "unixware-2.0","cc:-DFILIO_H -DNO_STRINGS_H::-Kthread::-lsocket -lnsl -lresolv - lx:${x86_gcc_des} ${x86_gcc_opts}:::", 427 "unixware-2.0","cc:-DFILIO_H -DNO_STRINGS_H::-Kthread::-lsocket -lnsl -lresolv - lx:${x86_gcc_des} ${x86_gcc_opts}:::",
415 "unixware-2.1","cc:-O -DFILIO_H::-Kthread::-lsocket -lnsl -lresolv -lx:${x86_gcc _des} ${x86_gcc_opts}:::", 428 "unixware-2.1","cc:-O -DFILIO_H::-Kthread::-lsocket -lnsl -lresolv -lx:${x86_gcc _des} ${x86_gcc_opts}:::",
416 "unixware-7","cc:-O -DFILIO_H -Kalloca::-Kthread::-lsocket -lnsl:BN_LLONG MD2_CH AR RC4_INDEX ${x86_gcc_des}:${x86_elf_asm}:dlfcn:svr5-shared:-Kpic::.so.\$(SHLIB _MAJOR).\$(SHLIB_MINOR)", 429 "unixware-7","cc:-O -DFILIO_H -Kalloca::-Kthread::-lsocket -lnsl:BN_LLONG MD2_CH AR RC4_INDEX ${x86_gcc_des}:${x86_elf_asm}:dlfcn:svr5-shared:-Kpic::.so.\$(SHLIB _MAJOR).\$(SHLIB_MINOR)",
417 "unixware-7-gcc","gcc:-DL_ENDIAN -DFILIO_H -O3 -fomit-frame-pointer -march=penti um -Wall::-D_REENTRANT::-lsocket -lnsl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:$ {x86_elf_asm}:dlfcn:gnu-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", 430 "unixware-7-gcc","gcc:-DL_ENDIAN -DFILIO_H -O3 -fomit-frame-pointer -march=penti um -Wall::-D_REENTRANT::-lsocket -lnsl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:$ {x86_elf_asm}:dlfcn:gnu-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
418 # SCO 5 - Ben Laurie <ben@algroup.co.uk> says the -O breaks the SCO cc. 431 # SCO 5 - Ben Laurie <ben@algroup.co.uk> says the -O breaks the SCO cc.
419 "sco5-cc", "cc:-belf::(unknown)::-lsocket -lnsl:${x86_gcc_des} ${x86_gcc_opts}: ${x86_elf_asm}:dlfcn:svr3-shared:-Kpic::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)", 432 "sco5-cc", "cc:-belf::(unknown)::-lsocket -lnsl:${x86_gcc_des} ${x86_gcc_opts}: ${x86_elf_asm}:dlfcn:svr3-shared:-Kpic::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
420 "sco5-gcc", "gcc:-O3 -fomit-frame-pointer::(unknown)::-lsocket -lnsl:BN_LLONG $ {x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:svr3-shared:-fPIC::.so.\$(SHL IB_MAJOR).\$(SHLIB_MINOR)", 433 "sco5-gcc", "gcc:-O3 -fomit-frame-pointer::(unknown)::-lsocket -lnsl:BN_LLONG $ {x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:svr3-shared:-fPIC::.so.\$(SHL IB_MAJOR).\$(SHLIB_MINOR)",
421 434
422 #### IBM's AIX. 435 #### IBM's AIX.
423 "aix3-cc", "cc:-O -DB_ENDIAN -qmaxmem=16384::(unknown):AIX::BN_LLONG RC4_CHAR:: :", 436 "aix3-cc", "cc:-O -DB_ENDIAN -qmaxmem=16384::(unknown):AIX::BN_LLONG RC4_CHAR:: :",
424 "aix-gcc", "gcc:-O -DB_ENDIAN::-pthread:AIX::BN_LLONG RC4_CHAR::aix_ppc32.o:::: ::::::dlfcn:aix-shared::-shared -Wl,-G:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)::-X 3 2", 437 "aix-gcc", "gcc:-O -DB_ENDIAN::-pthread:AIX::BN_LLONG RC4_CHAR:${ppc32_asm}:aix 32:dlfcn:aix-shared::-shared -Wl,-G:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)::-X32",
425 "aix64-gcc","gcc:-maix64 -O -DB_ENDIAN::-pthread:AIX::SIXTY_FOUR_BIT_LONG RC4_CH AR::aix_ppc64.o::::::::::dlfcn:aix-shared::-maix64 -shared -Wl,-G:.so.\$(SHLIB_M AJOR).\$(SHLIB_MINOR)::-X64", 438 "aix64-gcc","gcc:-maix64 -O -DB_ENDIAN::-pthread:AIX::SIXTY_FOUR_BIT_LONG RC4_CH AR:${ppc64_asm}:aix64:dlfcn:aix-shared::-maix64 -shared -Wl,-G:.so.\$(SHLIB_MAJO R).\$(SHLIB_MINOR)::-X64",
426 # Below targets assume AIX 5. Idea is to effectively disregard $OBJECT_MODE 439 # Below targets assume AIX 5. Idea is to effectively disregard $OBJECT_MODE
427 # at build time. $OBJECT_MODE is respected at ./config stage! 440 # at build time. $OBJECT_MODE is respected at ./config stage!
428 "aix-cc", "cc:-q32 -O -DB_ENDIAN -qmaxmem=16384 -qro -qroconst::-qthreaded:AIX ::BN_LLONG RC4_CHAR::aix_ppc32.o::::::::::dlfcn:aix-shared::-q32 -G:.so.\$(SHLIB _MAJOR).\$(SHLIB_MINOR)::-X 32", 441 "aix-cc", "cc:-q32 -O -DB_ENDIAN -qmaxmem=16384 -qro -qroconst::-qthreaded:AIX ::BN_LLONG RC4_CHAR:${ppc32_asm}:aix32:dlfcn:aix-shared::-q32 -G:.so.\$(SHLIB_MA JOR).\$(SHLIB_MINOR)::-X 32",
429 "aix64-cc", "cc:-q64 -O -DB_ENDIAN -qmaxmem=16384 -qro -qroconst::-qthreaded:AIX ::SIXTY_FOUR_BIT_LONG RC4_CHAR::aix_ppc64.o::::::::::dlfcn:aix-shared::-q64 -G:. so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)::-X 64", 442 "aix64-cc", "cc:-q64 -O -DB_ENDIAN -qmaxmem=16384 -qro -qroconst::-qthreaded:AIX ::SIXTY_FOUR_BIT_LONG RC4_CHAR:${ppc64_asm}:aix64:dlfcn:aix-shared::-q64 -G:.so. \$(SHLIB_MAJOR).\$(SHLIB_MINOR)::-X 64",
430 443
431 # 444 #
432 # Cray T90 and similar (SDSC) 445 # Cray T90 and similar (SDSC)
433 # It's Big-endian, but the algorithms work properly when B_ENDIAN is NOT 446 # It's Big-endian, but the algorithms work properly when B_ENDIAN is NOT
434 # defined. The T90 ints and longs are 8 bytes long, and apparently the 447 # defined. The T90 ints and longs are 8 bytes long, and apparently the
435 # B_ENDIAN code assumes 4 byte ints. Fortunately, the non-B_ENDIAN and 448 # B_ENDIAN code assumes 4 byte ints. Fortunately, the non-B_ENDIAN and
436 # non L_ENDIAN code aligns the bytes in each word correctly. 449 # non L_ENDIAN code aligns the bytes in each word correctly.
437 # 450 #
438 # The BIT_FIELD_LIMITS define is to avoid two fatal compiler errors: 451 # The BIT_FIELD_LIMITS define is to avoid two fatal compiler errors:
439 #'Taking the address of a bit field is not allowed. ' 452 #'Taking the address of a bit field is not allowed. '
(...skipping 27 matching lines...) Expand all
467 480
468 # SIEMENS BS2000/OSD: an EBCDIC-based mainframe 481 # SIEMENS BS2000/OSD: an EBCDIC-based mainframe
469 "BS2000-OSD","c89:-O -XLLML -XLLMK -XL -DB_ENDIAN -DTERMIOS -DCHARSET_EBCDIC::(u nknown)::-lsocket -lnsl:THIRTY_TWO_BIT DES_PTR DES_UNROLL MD2_CHAR RC4_INDEX RC4 _CHAR BF_PTR:::", 482 "BS2000-OSD","c89:-O -XLLML -XLLMK -XL -DB_ENDIAN -DTERMIOS -DCHARSET_EBCDIC::(u nknown)::-lsocket -lnsl:THIRTY_TWO_BIT DES_PTR DES_UNROLL MD2_CHAR RC4_INDEX RC4 _CHAR BF_PTR:::",
470 483
471 # OS/390 Unix an EBCDIC-based Unix system on IBM mainframe 484 # OS/390 Unix an EBCDIC-based Unix system on IBM mainframe
472 # You need to compile using the c89.sh wrapper in the tools directory, because t he 485 # You need to compile using the c89.sh wrapper in the tools directory, because t he
473 # IBM compiler does not like the -L switch after any object modules. 486 # IBM compiler does not like the -L switch after any object modules.
474 # 487 #
475 "OS390-Unix","c89.sh:-O -DB_ENDIAN -DCHARSET_EBCDIC -DNO_SYS_PARAM_H -D_ALL_SOU RCE::(unknown):::THIRTY_TWO_BIT DES_PTR DES_UNROLL MD2_CHAR RC4_INDEX RC4_CHAR B F_PTR:::", 488 "OS390-Unix","c89.sh:-O -DB_ENDIAN -DCHARSET_EBCDIC -DNO_SYS_PARAM_H -D_ALL_SOU RCE::(unknown):::THIRTY_TWO_BIT DES_PTR DES_UNROLL MD2_CHAR RC4_INDEX RC4_CHAR B F_PTR:::",
476 489
490 # Visual C targets
491 #
477 # Win64 targets, WIN64I denotes IA-64 and WIN64A - AMD64 492 # Win64 targets, WIN64I denotes IA-64 and WIN64A - AMD64
478 "VC-WIN64I","cl::::WIN64I::SIXTY_FOUR_BIT RC4_CHUNK_LL DES_INT EXPORT_VAR_AS_FN: ${no_asm}:win32", 493 "VC-WIN64I","cl:-W3 -Gs0 -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_ME AN -DL_ENDIAN -DUNICODE -D_UNICODE -D_CRT_SECURE_NO_DEPRECATE:::WIN64I::SIXTY_FO UR_BIT RC4_CHUNK_LL DES_INT EXPORT_VAR_AS_FN:ia64cpuid.o:ia64.o::aes_core.o aes_ cbc.o aes-ia64.o::md5-ia64.o:sha1-ia64.o sha256-ia64.o sha512-ia64.o:::::::ias:w in32",
479 "VC-WIN64A","cl::::WIN64A::SIXTY_FOUR_BIT RC4_CHUNK_LL DES_INT EXPORT_VAR_AS_FN: ${no_asm}:win32", 494 "VC-WIN64A","cl:-W3 -Gs0 -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_ME AN -DL_ENDIAN -DUNICODE -D_UNICODE -D_CRT_SECURE_NO_DEPRECATE:::WIN64A::SIXTY_FO UR_BIT RC4_CHUNK_LL DES_INT EXPORT_VAR_AS_FN:x86_64cpuid.o:bn_asm.o x86_64-mont. o::aes-x86_64.o::md5-x86_64.o:sha1-x86_64.o sha256-x86_64.o sha512-x86_64.o::rc4 -x86_64.o:::wp-x86_64.o:cmll-x86_64.o cmll_misc.o:auto:win32",
480 495 "debug-VC-WIN64I","cl:-W3 -Gs0 -Gy -Zi -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_L EAN_AND_MEAN -DL_ENDIAN -DUNICODE -D_UNICODE -D_CRT_SECURE_NO_DEPRECATE:::WIN64I ::SIXTY_FOUR_BIT RC4_CHUNK_LL DES_INT EXPORT_VAR_AS_FN:ia64cpuid.o:ia64.o::aes_c ore.o aes_cbc.o aes-ia64.o::md5-ia64.o:sha1-ia64.o sha256-ia64.o sha512-ia64.o:: :::::ias:win32",
481 # Visual C targets 496 "debug-VC-WIN64A","cl:-W3 -Gs0 -Gy -Zi -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_L EAN_AND_MEAN -DL_ENDIAN -DUNICODE -D_UNICODE -D_CRT_SECURE_NO_DEPRECATE:::WIN64A ::SIXTY_FOUR_BIT RC4_CHUNK_LL DES_INT EXPORT_VAR_AS_FN:x86_64cpuid.o:bn_asm.o x8 6_64-mont.o::aes-x86_64.o::md5-x86_64.o:sha1-x86_64.o sha256-x86_64.o sha512-x86 _64.o::rc4-x86_64.o:::wp-x86_64.o:cmll-x86_64.o cmll_misc.o:auto:win32",
482 "VC-NT","cl::::WINNT::BN_LLONG RC4_INDEX EXPORT_VAR_AS_FN ${x86_gcc_opts}:${no_a sm}:win32", 497 # x86 Win32 target defaults to ANSI API, if you want UNICODE, complement
498 # 'perl Configure VC-WIN32' with '-DUNICODE -D_UNICODE'
499 "VC-WIN32","cl:-W3 -WX -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN _AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE:::WIN32::BN_LLONG RC4_INDEX EXPO RT_VAR_AS_FN ${x86_gcc_opts}:${x86_asm}:win32n:win32",
500 # Unified CE target
501 "debug-VC-WIN32","cl:-W3 -WX -Gs0 -GF -Gy -Zi -nologo -DOPENSSL_SYSNAME_WIN32 -D WIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE:::WIN32::BN_LLONG RC4_ INDEX EXPORT_VAR_AS_FN ${x86_gcc_opts}:${x86_asm}:win32n:win32",
483 "VC-CE","cl::::WINCE::BN_LLONG RC4_INDEX EXPORT_VAR_AS_FN ${x86_gcc_opts}:${no_a sm}:win32", 502 "VC-CE","cl::::WINCE::BN_LLONG RC4_INDEX EXPORT_VAR_AS_FN ${x86_gcc_opts}:${no_a sm}:win32",
484 "VC-WIN32","cl::::WIN32::BN_LLONG RC4_INDEX EXPORT_VAR_AS_FN ${x86_gcc_opts}:${n o_asm}:win32",
485 503
486 # Borland C++ 4.5 504 # Borland C++ 4.5
487 "BC-32","bcc32::::WIN32::BN_LLONG DES_PTR RC4_INDEX EXPORT_VAR_AS_FN:${no_asm}:w in32", 505 "BC-32","bcc32::::WIN32::BN_LLONG DES_PTR RC4_INDEX EXPORT_VAR_AS_FN:${no_asm}:w in32",
488 506
489 # MinGW 507 # MinGW
490 "mingw", "gcc:-mno-cygwin -DL_ENDIAN -fomit-frame-pointer -O3 -march=i486 -Wall -D_WIN32_WINNT=0x333:::MINGW32:-lwsock32 -lgdi32:BN_LLONG ${x86_gcc_des} ${x86_g cc_opts} EXPORT_VAR_AS_FN:${x86_coff_asm}:win32:cygwin-shared:-D_WINDLL -DOPENSS L_USE_APPLINK:-mno-cygwin -shared:.dll.a", 508 "mingw", "gcc:-mno-cygwin -DL_ENDIAN -DWIN32_LEAN_AND_MEAN -fomit-frame-pointer -O3 -march=i486 -Wall::-D_MT:MINGW32:-lws2_32 -lgdi32 -lcrypt32:BN_LLONG ${x86_g cc_des} ${x86_gcc_opts} EXPORT_VAR_AS_FN:${x86_asm}:coff:win32:cygwin-shared:-D_ WINDLL -DOPENSSL_USE_APPLINK:-mno-cygwin:.dll.a",
509 # As for OPENSSL_USE_APPLINK. Applink makes it possible to use .dll
510 # compiled with one compiler with application compiled with another
511 # compiler. It's possible to engage Applink support in mingw64 build,
512 # but it's not done, because till mingw64 supports structured exception
513 # handling, one can't seriously consider its binaries for using with
514 # non-mingw64 run-time environment. And as mingw64 is always consistent
515 # with itself, Applink is never engaged and can as well be omitted.
516 "mingw64", "gcc:-mno-cygwin -DL_ENDIAN -O3 -Wall -DWIN32_LEAN_AND_MEAN -DUNICODE -D_UNICODE::-D_MT:MINGW64:-lws2_32 -lgdi32 -lcrypt32:SIXTY_FOUR_BIT RC4_CHUNK_L L DES_INT EXPORT_VAR_AS_FN:${x86_64_asm}:mingw64:win32:cygwin-shared:-D_WINDLL:- mno-cygwin:.dll.a",
491 517
492 # UWIN 518 # UWIN
493 "UWIN", "cc:-DTERMIOS -DL_ENDIAN -O -Wall:::UWIN::BN_LLONG ${x86_gcc_des} ${x86_ gcc_opts}:${no_asm}:win32", 519 "UWIN", "cc:-DTERMIOS -DL_ENDIAN -O -Wall:::UWIN::BN_LLONG ${x86_gcc_des} ${x86_ gcc_opts}:${no_asm}:win32",
494 520
495 # Cygwin 521 # Cygwin
496 "Cygwin-pre1.3", "gcc:-DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O3 -m486 -Wall: :(unknown):CYGWIN32::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${no_asm}:win32", 522 "Cygwin-pre1.3", "gcc:-DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O3 -m486 -Wall: :(unknown):CYGWIN32::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${no_asm}:win32",
497 "Cygwin", "gcc:-DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O3 -march=i486 -Wall:: :CYGWIN32::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_coff_asm}:dlfcn:cygwin- shared:-D_WINDLL:-shared:.dll.a", 523 "Cygwin", "gcc:-DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O3 -march=i486 -Wall:: :CYGWIN32::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_asm}:coff:dlfcn:cygwin- shared:-D_WINDLL:-shared:.dll.a",
498 "debug-Cygwin", "gcc:-DTERMIOS -DL_ENDIAN -march=i486 -Wall -DBN_DEBUG -DREF_CHE CK -DCONF_DEBUG -DCRYPTO_MDEBUG -DOPENSSL_NO_ASM -g -Wformat -Wshadow -Wmissing- prototypes -Wmissing-declarations -Werror:::CYGWIN32:::${no_asm}:dlfcn:cygwin-sh ared:-D_WINDLL:-shared:.dll.a", 524 "debug-Cygwin", "gcc:-DTERMIOS -DL_ENDIAN -march=i486 -Wall -DBN_DEBUG -DREF_CHE CK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DOPENSSL_NO_ASM -g -Wformat -Wsh adow -Wmissing-prototypes -Wmissing-declarations -Werror:::CYGWIN32:::${no_asm}: dlfcn:cygwin-shared:-D_WINDLL:-shared:.dll.a",
499 525
500 # NetWare from David Ward (dsward@novell.com) 526 # NetWare from David Ward (dsward@novell.com)
501 # requires either MetroWerks NLM development tools, or gcc / nlmconv 527 # requires either MetroWerks NLM development tools, or gcc / nlmconv
502 # NetWare defaults socket bio to WinSock sockets. However, 528 # NetWare defaults socket bio to WinSock sockets. However,
503 # the builds can be configured to use BSD sockets instead. 529 # the builds can be configured to use BSD sockets instead.
504 # netware-clib => legacy CLib c-runtime support 530 # netware-clib => legacy CLib c-runtime support
505 "netware-clib", "mwccnlm::::::${x86_gcc_opts}::", 531 "netware-clib", "mwccnlm::::::${x86_gcc_opts}::",
506 "netware-clib-bsdsock", "mwccnlm::::::${x86_gcc_opts}::", 532 "netware-clib-bsdsock", "mwccnlm::::::${x86_gcc_opts}::",
507 "netware-clib-gcc", "i586-netware-gcc:-nostdinc -I/ndk/nwsdk/include/nlm -I/ndk/ ws295sdk/include -DL_ENDIAN -DNETWARE_CLIB -DOPENSSL_SYSNAME_NETWARE -O2 -Wall:: :::${x86_gcc_opts}::", 533 "netware-clib-gcc", "i586-netware-gcc:-nostdinc -I/ndk/nwsdk/include/nlm -I/ndk/ ws295sdk/include -DL_ENDIAN -DNETWARE_CLIB -DOPENSSL_SYSNAME_NETWARE -O2 -Wall:: :::${x86_gcc_opts}::",
508 "netware-clib-bsdsock-gcc", "i586-netware-gcc:-nostdinc -I/ndk/nwsdk/include/nlm -DNETWARE_BSDSOCK -DNETDB_USE_INTERNET -DL_ENDIAN -DNETWARE_CLIB -DOPENSSL_SYSN AME_NETWARE -O2 -Wall:::::${x86_gcc_opts}::", 534 "netware-clib-bsdsock-gcc", "i586-netware-gcc:-nostdinc -I/ndk/nwsdk/include/nlm -DNETWARE_BSDSOCK -DNETDB_USE_INTERNET -DL_ENDIAN -DNETWARE_CLIB -DOPENSSL_SYSN AME_NETWARE -O2 -Wall:::::${x86_gcc_opts}::",
509 # netware-libc => LibC/NKS support 535 # netware-libc => LibC/NKS support
510 "netware-libc", "mwccnlm::::::BN_LLONG ${x86_gcc_opts}::", 536 "netware-libc", "mwccnlm::::::BN_LLONG ${x86_gcc_opts}::",
511 "netware-libc-bsdsock", "mwccnlm::::::BN_LLONG ${x86_gcc_opts}::", 537 "netware-libc-bsdsock", "mwccnlm::::::BN_LLONG ${x86_gcc_opts}::",
512 "netware-libc-gcc", "i586-netware-gcc:-nostdinc -I/ndk/libc/include -I/ndk/libc/ include/winsock -DL_ENDIAN -DNETWARE_LIBC -DOPENSSL_SYSNAME_NETWARE -DTERMIO -O2 -Wall:::::BN_LLONG ${x86_gcc_opts}::", 538 "netware-libc-gcc", "i586-netware-gcc:-nostdinc -I/ndk/libc/include -I/ndk/libc/ include/winsock -DL_ENDIAN -DNETWARE_LIBC -DOPENSSL_SYSNAME_NETWARE -DTERMIO -O2 -Wall:::::BN_LLONG ${x86_gcc_opts}::",
513 "netware-libc-bsdsock-gcc", "i586-netware-gcc:-nostdinc -I/ndk/libc/include -DNE TWARE_BSDSOCK -DL_ENDIAN -DNETWARE_LIBC -DOPENSSL_SYSNAME_NETWARE -DTERMIO -O2 - Wall:::::BN_LLONG ${x86_gcc_opts}::", 539 "netware-libc-bsdsock-gcc", "i586-netware-gcc:-nostdinc -I/ndk/libc/include -DNE TWARE_BSDSOCK -DL_ENDIAN -DNETWARE_LIBC -DOPENSSL_SYSNAME_NETWARE -DTERMIO -O2 - Wall:::::BN_LLONG ${x86_gcc_opts}::",
514 540
515 # DJGPP 541 # DJGPP
516 "DJGPP", "gcc:-I/dev/env/WATT_ROOT/inc -DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O2 -Wall:::MSDOS:-L/dev/env/WATT_ROOT/lib -lwatt:BN_LLONG ${x86_gcc_des} ${x86 _gcc_opts}:${x86_out_asm}:", 542 "DJGPP", "gcc:-I/dev/env/WATT_ROOT/inc -DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O2 -Wall:::MSDOS:-L/dev/env/WATT_ROOT/lib -lwatt:BN_LLONG ${x86_gcc_des} ${x86 _gcc_opts}:${x86_asm}:a.out:",
517 543
518 # Ultrix from Bernhard Simon <simon@zid.tuwien.ac.at> 544 # Ultrix from Bernhard Simon <simon@zid.tuwien.ac.at>
519 "ultrix-cc","cc:-std1 -O -Olimit 2500 -DL_ENDIAN::(unknown):::::::", 545 "ultrix-cc","cc:-std1 -O -Olimit 2500 -DL_ENDIAN::(unknown):::::::",
520 "ultrix-gcc","gcc:-O3 -DL_ENDIAN::(unknown):::BN_LLONG::::", 546 "ultrix-gcc","gcc:-O3 -DL_ENDIAN::(unknown):::BN_LLONG::::",
521 # K&R C is no longer supported; you need gcc on old Ultrix installations 547 # K&R C is no longer supported; you need gcc on old Ultrix installations
522 ##"ultrix","cc:-O2 -DNOPROTO -DNOCONST -DL_ENDIAN::(unknown):::::::", 548 ##"ultrix","cc:-O2 -DNOPROTO -DNOCONST -DL_ENDIAN::(unknown):::::::",
523 549
524 ##### MacOS X (a.k.a. Rhapsody or Darwin) setup 550 ##### MacOS X (a.k.a. Rhapsody or Darwin) setup
525 "rhapsody-ppc-cc","cc:-O3 -DB_ENDIAN::(unknown):MACOSX_RHAPSODY::BN_LLONG RC4_CH AR RC4_CHUNK DES_UNROLL BF_PTR:${no_asm}::", 551 "rhapsody-ppc-cc","cc:-O3 -DB_ENDIAN::(unknown):MACOSX_RHAPSODY::BN_LLONG RC4_CH AR RC4_CHUNK DES_UNROLL BF_PTR:${no_asm}::",
526 "darwin-ppc-cc","cc:-arch ppc -O3 -DB_ENDIAN::-D_REENTRANT:MACOSX:-Wl,-search_pa ths_first%:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR::osx_ppc32.o::::::::::d lfcn:darwin-shared:-fPIC -fno-common:-arch ppc -dynamiclib:.\$(SHLIB_MAJOR).\$(S HLIB_MINOR).dylib", 552 "darwin-ppc-cc","cc:-arch ppc -O3 -DB_ENDIAN -Wa,-force_cpusubtype_ALL::-D_REENT RANT:MACOSX:-Wl,-search_paths_first%:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_P TR:${ppc32_asm}:osx32:dlfcn:darwin-shared:-fPIC -fno-common:-arch ppc -dynamicli b:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
527 "darwin64-ppc-cc","cc:-arch ppc64 -O3 -DB_ENDIAN::-D_REENTRANT:MACOSX:-Wl,-searc h_paths_first%:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR::osx_ppc 64.o::::::::::dlfcn:darwin-shared:-fPIC -fno-common:-arch ppc64 -dynamiclib:.\$( SHLIB_MAJOR).\$(SHLIB_MINOR).dylib", 553 "darwin64-ppc-cc","cc:-arch ppc64 -O3 -DB_ENDIAN::-D_REENTRANT:MACOSX:-Wl,-searc h_paths_first%:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${ppc64_ asm}:osx64:dlfcn:darwin-shared:-fPIC -fno-common:-arch ppc64 -dynamiclib:.\$(SHL IB_MAJOR).\$(SHLIB_MINOR).dylib",
528 "darwin-i386-cc","cc:-arch i386 -O3 -fomit-frame-pointer -DL_ENDIAN::-D_REENTRAN T:MACOSX:-Wl,-search_paths_first%:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR: ${no_asm}:dlfcn:darwin-shared:-fPIC -fno-common:-arch i386 -dynamiclib:.\$(SHLIB _MAJOR).\$(SHLIB_MINOR).dylib", 554 "darwin-i386-cc","cc:-arch i386 -O3 -fomit-frame-pointer -DL_ENDIAN::-D_REENTRAN T:MACOSX:-Wl,-search_paths_first%:BN_LLONG RC4_INT RC4_CHUNK DES_UNROLL BF_PTR:$ {x86_asm}:macosx:dlfcn:darwin-shared:-fPIC -fno-common:-arch i386 -dynamiclib:.\ $(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib",
529 "debug-darwin-i386-cc","cc:-arch i386 -g3 -DL_ENDIAN::-D_REENTRANT:MACOSX:-Wl,-s earch_paths_first%:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${no_asm}:dlfcn :darwin-shared:-fPIC -fno-common:-arch i386 -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLI B_MINOR).dylib", 555 "debug-darwin-i386-cc","cc:-arch i386 -g3 -DL_ENDIAN::-D_REENTRANT:MACOSX:-Wl,-s earch_paths_first%:BN_LLONG RC4_INT RC4_CHUNK DES_UNROLL BF_PTR:${x86_asm}:macos x:dlfcn:darwin-shared:-fPIC -fno-common:-arch i386 -dynamiclib:.\$(SHLIB_MAJOR). \$(SHLIB_MINOR).dylib",
530 "darwin64-x86_64-cc","cc:-arch x86_64 -O3 -fomit-frame-pointer -DL_ENDIAN -DMD32 _REG_T=int -Wall::-D_REENTRANT:MACOSX:-Wl,-search_paths_first%:SIXTY_FOUR_BIT_LO NG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL:${no_asm}:dlfcn:darwin-shared:-fPIC -fn o-common:-arch x86_64 -dynamiclib:.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib", 556 "darwin64-x86_64-cc","cc:-arch x86_64 -O3 -DL_ENDIAN -DMD32_REG_T=int -Wall::-D_ REENTRANT:MACOSX:-Wl,-search_paths_first%:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL:".eval{my $asm=$x86_64_asm;$asm=~s/rc4\-[^:]+//;$asm}.":maco sx:dlfcn:darwin-shared:-fPIC -fno-common:-arch x86_64 -dynamiclib:.\$(SHLIB_MAJO R).\$(SHLIB_MINOR).dylib",
531 "debug-darwin-ppc-cc","cc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG -D B_ENDIAN -g -Wall -O::-D_REENTRANT:MACOSX::BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROL L BF_PTR::osx_ppc32.o::::::::::dlfcn:darwin-shared:-fPIC -fno-common:-dynamiclib :.\$(SHLIB_MAJOR).\$(SHLIB_MINOR).dylib", 557 "debug-darwin-ppc-cc","cc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG -D B_ENDIAN -g -Wall -O::-D_REENTRANT:MACOSX::BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROL L BF_PTR:${ppc32_asm}:osx32:dlfcn:darwin-shared:-fPIC:-dynamiclib:.\$(SHLIB_MAJO R).\$(SHLIB_MINOR).dylib",
532 558
533 ##### A/UX 559 ##### A/UX
534 "aux3-gcc","gcc:-O2 -DTERMIO::(unknown):AUX:-lbsd:RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:::", 560 "aux3-gcc","gcc:-O2 -DTERMIO::(unknown):AUX:-lbsd:RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:::",
535 561
536 ##### Sony NEWS-OS 4.x 562 ##### Sony NEWS-OS 4.x
537 "newsos4-gcc","gcc:-O -DB_ENDIAN::(unknown):NEWS4:-lmld -liberty:BN_LLONG RC4_CH AR RC4_CHUNK DES_PTR DES_RISC1 DES_UNROLL BF_PTR::::", 563 "newsos4-gcc","gcc:-O -DB_ENDIAN::(unknown):NEWS4:-lmld -liberty:BN_LLONG RC4_CH AR RC4_CHUNK DES_PTR DES_RISC1 DES_UNROLL BF_PTR::::",
538 564
539 ##### GNU Hurd 565 ##### GNU Hurd
540 "hurd-x86", "gcc:-DL_ENDIAN -DTERMIOS -O3 -fomit-frame-pointer -march=i486 -Wal l::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlf cn:linux-shared:-fPIC", 566 "hurd-x86", "gcc:-DL_ENDIAN -DTERMIOS -O3 -fomit-frame-pointer -march=i486 -Wal l::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlf cn:linux-shared:-fPIC",
541 567
542 ##### OS/2 EMX 568 ##### OS/2 EMX
543 "OS2-EMX", "gcc::::::::", 569 "OS2-EMX", "gcc::::::::",
544 570
545 ##### VxWorks for various targets 571 ##### VxWorks for various targets
546 "vxworks-ppc405","ccppc:-g -msoft-float -mlongcall -DCPU=PPC405 -I\$(WIND_BASE)/ target/h:::VXWORKS:-r:::::", 572 "vxworks-ppc405","ccppc:-g -msoft-float -mlongcall -DCPU=PPC405 -I\$(WIND_BASE)/ target/h:::VXWORKS:-r:::::",
547 "vxworks-ppc750","ccppc:-ansi -nostdinc -DPPC750 -D_REENTRANT -fvolatile -fno-bu iltin -fno-for-scope -fsigned-char -Wall -msoft-float -mlongcall -DCPU=PPC604 -I \$(WIND_BASE)/target/h \$(DEBUG_FLAG):::VXWORKS:-r:::::", 573 "vxworks-ppc750","ccppc:-ansi -nostdinc -DPPC750 -D_REENTRANT -fvolatile -fno-bu iltin -fno-for-scope -fsigned-char -Wall -msoft-float -mlongcall -DCPU=PPC604 -I \$(WIND_BASE)/target/h \$(DEBUG_FLAG):::VXWORKS:-r:::::",
548 "vxworks-ppc750-debug","ccppc:-ansi -nostdinc -DPPC750 -D_REENTRANT -fvolatile - fno-builtin -fno-for-scope -fsigned-char -Wall -msoft-float -mlongcall -DCPU=PPC 604 -I\$(WIND_BASE)/target/h -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DCRYPTO_MDEBUG -DPEDANTIC -DDEBUG_SAFESTACK -DDEBUG -g:::VXWORKS:-r:::::", 574 "vxworks-ppc750-debug","ccppc:-ansi -nostdinc -DPPC750 -D_REENTRANT -fvolatile - fno-builtin -fno-for-scope -fsigned-char -Wall -msoft-float -mlongcall -DCPU=PPC 604 -I\$(WIND_BASE)/target/h -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DPEDANTIC -DDEBUG_SAFESTACK -DDEBUG -g:::VXWORKS:-r:::::",
549 "vxworks-ppc860","ccppc:-nostdinc -msoft-float -DCPU=PPC860 -DNO_STRINGS_H -I\$( WIND_BASE)/target/h:::VXWORKS:-r:::::", 575 "vxworks-ppc860","ccppc:-nostdinc -msoft-float -DCPU=PPC860 -DNO_STRINGS_H -I\$( WIND_BASE)/target/h:::VXWORKS:-r:::::",
550 "vxworks-mipsle","ccmips:-B\$(WIND_BASE)/host/\$(WIND_HOST_TYPE)/lib/gcc-lib/ -D L_ENDIAN -EL -Wl,-EL -mips2 -mno-branch-likely -G 0 -fno-builtin -msoft-float -D CPU=MIPS32 -DMIPSEL -DNO_STRINGS_H -I\$(WIND_BASE)/target/h:::VXWORKS:-r::${no_a sm}::::::ranlibmips:", 576 "vxworks-mipsle","ccmips:-B\$(WIND_BASE)/host/\$(WIND_HOST_TYPE)/lib/gcc-lib/ -D L_ENDIAN -EL -Wl,-EL -mips2 -mno-branch-likely -G 0 -fno-builtin -msoft-float -D CPU=MIPS32 -DMIPSEL -DNO_STRINGS_H -I\$(WIND_BASE)/target/h:::VXWORKS:-r::${no_a sm}::::::ranlibmips:",
551 577
552 ##### Compaq Non-Stop Kernel (Tandem) 578 ##### Compaq Non-Stop Kernel (Tandem)
553 "tandem-c89","c89:-Ww -D__TANDEM -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED=1 -D_T ANDEM_SOURCE -DB_ENDIAN::(unknown):::THIRTY_TWO_BIT:::", 579 "tandem-c89","c89:-Ww -D__TANDEM -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED=1 -D_T ANDEM_SOURCE -DB_ENDIAN::(unknown):::THIRTY_TWO_BIT:::",
554 580
581 # uClinux
582 "uClinux-dist","$ENV{'CC'}:\$(CFLAGS)::-D_REENTRANT::\$(LDFLAGS) \$(LDLIBS):BN_L LONG:::::::::::::::$ENV{'LIBSSL_dlfcn'}:linux-shared:-fPIC:-shared:.so.\$(SHLIB_ MAJOR).\$(SHLIB_MINOR):$ENV{'RANLIB'}::",
583 "uClinux-dist64","$ENV{'CC'}:\$(CFLAGS)::-D_REENTRANT::\$(LDFLAGS) \$(LDLIBS):SI XTY_FOUR_BIT_LONG:::::::::::::::$ENV{'LIBSSL_dlfcn'}:linux-shared:-fPIC:-shared: .so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):$ENV{'RANLIB'}::",
584
555 ); 585 );
556 586
557 my @MK1MF_Builds=qw(VC-WIN64I VC-WIN64A 587 my @MK1MF_Builds=qw(VC-WIN64I VC-WIN64A
558 » » VC-NT VC-CE VC-WIN32 588 » » debug-VC-WIN64I debug-VC-WIN64A
559 » » BC-32 OS2-EMX 589 » » VC-NT VC-CE VC-WIN32 debug-VC-WIN32
590 » » BC-32
560 netware-clib netware-clib-bsdsock 591 netware-clib netware-clib-bsdsock
561 netware-libc netware-libc-bsdsock); 592 netware-libc netware-libc-bsdsock);
562 593
563 my $idx = 0; 594 my $idx = 0;
564 my $idx_cc = $idx++; 595 my $idx_cc = $idx++;
565 my $idx_cflags = $idx++; 596 my $idx_cflags = $idx++;
566 my $idx_unistd = $idx++; 597 my $idx_unistd = $idx++;
567 my $idx_thread_cflag = $idx++; 598 my $idx_thread_cflag = $idx++;
568 my $idx_sys_id = $idx++; 599 my $idx_sys_id = $idx++;
569 my $idx_lflags = $idx++; 600 my $idx_lflags = $idx++;
570 my $idx_bn_ops = $idx++; 601 my $idx_bn_ops = $idx++;
571 my $idx_cpuid_obj = $idx++; 602 my $idx_cpuid_obj = $idx++;
572 my $idx_bn_obj = $idx++; 603 my $idx_bn_obj = $idx++;
573 my $idx_des_obj = $idx++; 604 my $idx_des_obj = $idx++;
574 my $idx_aes_obj = $idx++; 605 my $idx_aes_obj = $idx++;
575 my $idx_bf_obj = $idx++; 606 my $idx_bf_obj = $idx++;
576 my $idx_md5_obj = $idx++; 607 my $idx_md5_obj = $idx++;
577 my $idx_sha1_obj = $idx++; 608 my $idx_sha1_obj = $idx++;
578 my $idx_cast_obj = $idx++; 609 my $idx_cast_obj = $idx++;
579 my $idx_rc4_obj = $idx++; 610 my $idx_rc4_obj = $idx++;
580 my $idx_rmd160_obj = $idx++; 611 my $idx_rmd160_obj = $idx++;
581 my $idx_rc5_obj = $idx++; 612 my $idx_rc5_obj = $idx++;
613 my $idx_wp_obj = $idx++;
614 my $idx_cmll_obj = $idx++;
615 my $idx_perlasm_scheme = $idx++;
582 my $idx_dso_scheme = $idx++; 616 my $idx_dso_scheme = $idx++;
583 my $idx_shared_target = $idx++; 617 my $idx_shared_target = $idx++;
584 my $idx_shared_cflag = $idx++; 618 my $idx_shared_cflag = $idx++;
585 my $idx_shared_ldflag = $idx++; 619 my $idx_shared_ldflag = $idx++;
586 my $idx_shared_extension = $idx++; 620 my $idx_shared_extension = $idx++;
587 my $idx_ranlib = $idx++; 621 my $idx_ranlib = $idx++;
588 my $idx_arflags = $idx++; 622 my $idx_arflags = $idx++;
623 my $idx_multilib = $idx++;
589 624
590 my $prefix=""; 625 my $prefix="";
591 my $libdir=""; 626 my $libdir="";
592 my $openssldir=""; 627 my $openssldir="";
593 my $exe_ext=""; 628 my $exe_ext="";
594 my $install_prefix= "$ENV{'INSTALL_PREFIX'}"; 629 my $install_prefix= "$ENV{'INSTALL_PREFIX'}";
595 my $cross_compile_prefix=""; 630 my $cross_compile_prefix="";
596 my $fipslibdir="/usr/local/ssl/fips-1.0/lib/";
597 my $nofipscanistercheck=0;
598 my $fipsdso=0;
599 my $fipscanisterinternal="n";
600 my $baseaddr="0xFB00000";
601 my $no_threads=0; 631 my $no_threads=0;
602 my $threads=0; 632 my $threads=0;
603 my $no_shared=0; # but "no-shared" is default 633 my $no_shared=0; # but "no-shared" is default
604 my $zlib=1; # but "no-zlib" is default 634 my $zlib=1; # but "no-zlib" is default
605 my $no_krb5=0; # but "no-krb5" is implied unless "--with-krb5-..." is used 635 my $no_krb5=0; # but "no-krb5" is implied unless "--with-krb5-..." is used
606 my $no_rfc3779=1; # but "no-rfc3779" is default 636 my $no_rfc3779=1; # but "no-rfc3779" is default
607 my $montasm=1; # but "no-montasm" is default
608 my $no_asm=0; 637 my $no_asm=0;
609 my $no_dso=0; 638 my $no_dso=0;
610 my $no_gmp=0; 639 my $no_gmp=0;
611 my @skip=(); 640 my @skip=();
612 my $Makefile="Makefile"; 641 my $Makefile="Makefile";
613 my $des_locl="crypto/des/des_locl.h"; 642 my $des_locl="crypto/des/des_locl.h";
614 my $des ="crypto/des/des.h"; 643 my $des ="crypto/des/des.h";
615 my $bn ="crypto/bn/bn.h"; 644 my $bn ="crypto/bn/bn.h";
616 my $md2 ="crypto/md2/md2.h"; 645 my $md2 ="crypto/md2/md2.h";
617 my $rc4 ="crypto/rc4/rc4.h"; 646 my $rc4 ="crypto/rc4/rc4.h";
618 my $rc4_locl="crypto/rc4/rc4_locl.h"; 647 my $rc4_locl="crypto/rc4/rc4_locl.h";
619 my $idea ="crypto/idea/idea.h"; 648 my $idea ="crypto/idea/idea.h";
620 my $rc2 ="crypto/rc2/rc2.h"; 649 my $rc2 ="crypto/rc2/rc2.h";
621 my $bf ="crypto/bf/bf_locl.h"; 650 my $bf ="crypto/bf/bf_locl.h";
622 my $bn_asm ="bn_asm.o"; 651 my $bn_asm ="bn_asm.o";
623 my $des_enc="des_enc.o fcrypt_b.o"; 652 my $des_enc="des_enc.o fcrypt_b.o";
624 my $fips_des_enc="fips_des_enc.o";
625 my $aes_enc="aes_core.o aes_cbc.o"; 653 my $aes_enc="aes_core.o aes_cbc.o";
626 my $bf_enc ="bf_enc.o"; 654 my $bf_enc ="bf_enc.o";
627 my $cast_enc="c_enc.o"; 655 my $cast_enc="c_enc.o";
628 my $rc4_enc="rc4_enc.o rc4_skey.o"; 656 my $rc4_enc="rc4_enc.o rc4_skey.o";
629 my $rc5_enc="rc5_enc.o"; 657 my $rc5_enc="rc5_enc.o";
630 my $md5_obj=""; 658 my $md5_obj="";
631 my $sha1_obj=""; 659 my $sha1_obj="";
632 my $rmd160_obj=""; 660 my $rmd160_obj="";
661 my $cmll_enc="camellia.o cmll_misc.o cmll_cbc.o";
633 my $processor=""; 662 my $processor="";
634 my $default_ranlib; 663 my $default_ranlib;
635 my $perl; 664 my $perl;
636 my $fips=0;
637 665
638 666
639 # All of the following is disabled by default (RC5 was enabled before 0.9.8): 667 # All of the following is disabled by default (RC5 was enabled before 0.9.8):
640 668
641 my %disabled = ( # "what" => "comment" [or special keyword "experimental "] 669 my %disabled = ( # "what" => "comment" [or special keyword "experimental "]
642 "camellia" => "default", 670 » » "gmp"» » => "default",
643 "capieng" => "default",
644 "cms" => "default",
645 "gmp" => "default",
646 "jpake" => "experimental", 671 "jpake" => "experimental",
647 "mdc2" => "default", 672 "md2" => "default",
648 "montasm" => "default", # explicit option in 0.9.8 only (implicitly enabled in 0.9.9)
649 "rc5" => "default", 673 "rc5" => "default",
650 "rfc3779" => "default", 674 » » "rfc3779"» => "default",
651 "seed" => "default",
652 "shared" => "default", 675 "shared" => "default",
676 "store" => "experimental",
653 "zlib" => "default", 677 "zlib" => "default",
654 "zlib-dynamic" => "default" 678 "zlib-dynamic" => "default"
655 ); 679 );
656 my @experimental = (); 680 my @experimental = ();
657 681
658 # This is what $depflags will look like with the above defaults 682 # This is what $depflags will look like with the above defaults
659 # (we need this to see if we should advise the user to run "make depend"): 683 # (we need this to see if we should advise the user to run "make depend"):
660 my $default_depflags = " -DOPENSSL_NO_CAMELLIA -DOPENSSL_NO_CAPIENG -DOPENSSL_NO _CMS -DOPENSSL_NO_GMP -DOPENSSL_NO_JPAKE -DOPENSSL_NO_MDC2 -DOPENSSL_NO_RC5 -DOP ENSSL_NO_RFC3779 -DOPENSSL_NO_SEED"; 684 my $default_depflags = " -DOPENSSL_NO_GMP -DOPENSSL_NO_JPAKE -DOPENSSL_NO_MD2 -D OPENSSL_NO_RC5 -DOPENSSL_NO_RFC3779 -DOPENSSL_NO_STORE";
661
662 685
663 # Explicit "no-..." options will be collected in %disabled along with the defaul ts. 686 # Explicit "no-..." options will be collected in %disabled along with the defaul ts.
664 # To remove something from %disabled, use "enable-foo" (unless it's experimental ). 687 # To remove something from %disabled, use "enable-foo" (unless it's experimental ).
665 # For symmetry, "disable-foo" is a synonym for "no-foo". 688 # For symmetry, "disable-foo" is a synonym for "no-foo".
666 689
667 # For features called "experimental" here, a more explicit "experimental-foo" is needed to enable. 690 # For features called "experimental" here, a more explicit "experimental-foo" is needed to enable.
668 # We will collect such requests in @experimental. 691 # We will collect such requests in @experimental.
669 # To avoid accidental use of experimental features, applications will have to us e -DOPENSSL_EXPERIMENTAL_FOO. 692 # To avoid accidental use of experimental features, applications will have to us e -DOPENSSL_EXPERIMENTAL_FOO.
670 693
671 694
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
730 $disabled{"ssl3"} = "option(ssl)"; 753 $disabled{"ssl3"} = "option(ssl)";
731 } 754 }
732 elsif ($1 eq "tls") 755 elsif ($1 eq "tls")
733 { 756 {
734 $disabled{"tls1"} = "option(tls)" 757 $disabled{"tls1"} = "option(tls)"
735 } 758 }
736 else 759 else
737 { 760 {
738 $disabled{$1} = "option"; 761 $disabled{$1} = "option";
739 } 762 }
740 » » » » } 763 » » » » }» » »
741 » » » }» » » 764 » » » }
742 elsif (/^enable-(.+)$/ || /^experimental-(.+)$/) 765 elsif (/^enable-(.+)$/ || /^experimental-(.+)$/)
743 { 766 {
744 my $algo = $1; 767 my $algo = $1;
745 if ($disabled{$algo} eq "experimental") 768 if ($disabled{$algo} eq "experimental")
746 { 769 {
747 die "You are requesting an experimental feature; please say 'experimental-$algo' if you are sure\n" 770 die "You are requesting an experimental feature; please say 'experimental-$algo' if you are sure\n"
748 unless (/^experimental-/); 771 unless (/^experimental-/);
749 push @experimental, $algo; 772 push @experimental, $algo;
750 } 773 }
751 delete $disabled{$algo}; 774 delete $disabled{$algo};
(...skipping 26 matching lines...) Expand all
778 close(IN); 801 close(IN);
779 last PROCESS_ARGS; 802 last PROCESS_ARGS;
780 } 803 }
781 } 804 }
782 close(IN); 805 close(IN);
783 } 806 }
784 die "Insufficient data to reconfigure, please do a norma l configuration\n"; 807 die "Insufficient data to reconfigure, please do a norma l configuration\n";
785 } 808 }
786 elsif (/^386$/) 809 elsif (/^386$/)
787 { $processor=386; } 810 { $processor=386; }
788 elsif (/^fips$/)
789 {
790 $fips=1;
791 }
792 elsif (/^rsaref$/) 811 elsif (/^rsaref$/)
793 { 812 {
794 # No RSAref support any more since it's not needed. 813 # No RSAref support any more since it's not needed.
795 # The check for the option is there so scripts aren't 814 # The check for the option is there so scripts aren't
796 # broken 815 # broken
797 } 816 }
798 elsif (/^nofipscanistercheck$/)
799 {
800 $fips = 1;
801 $nofipscanistercheck = 1;
802 }
803 elsif (/^fipscanisterbuild$/)
804 {
805 $fips = 1;
806 $nofipscanistercheck = 1;
807 $fipslibdir="";
808 $fipscanisterinternal="y";
809 }
810 elsif (/^fipsdso$/)
811 {
812 $fips = 1;
813 $nofipscanistercheck = 1;
814 $fipslibdir="";
815 $fipscanisterinternal="y";
816 $fipsdso = 1;
817 }
818 elsif (/^[-+]/) 817 elsif (/^[-+]/)
819 { 818 {
820 » » » if (/^-[lL](.*)$/) 819 » » » if (/^-[lL](.*)$/ or /^-Wl,/)
821 { 820 {
822 $libs.=$_." "; 821 $libs.=$_." ";
823 } 822 }
824 elsif (/^-[^-]/ or /^\+/) 823 elsif (/^-[^-]/ or /^\+/)
825 { 824 {
826 $flags.=$_." "; 825 $flags.=$_." ";
827 } 826 }
828 elsif (/^--prefix=(.*)$/) 827 elsif (/^--prefix=(.*)$/)
829 { 828 {
830 $prefix=$1; 829 $prefix=$1;
(...skipping 15 matching lines...) Expand all
846 $withargs{"krb5-".$1}=$2; 845 $withargs{"krb5-".$1}=$2;
847 } 846 }
848 elsif (/^--with-zlib-lib=(.*)$/) 847 elsif (/^--with-zlib-lib=(.*)$/)
849 { 848 {
850 $withargs{"zlib-lib"}=$1; 849 $withargs{"zlib-lib"}=$1;
851 } 850 }
852 elsif (/^--with-zlib-include=(.*)$/) 851 elsif (/^--with-zlib-include=(.*)$/)
853 { 852 {
854 $withargs{"zlib-include"}="-I$1"; 853 $withargs{"zlib-include"}="-I$1";
855 } 854 }
856 » » » elsif (/^--with-fipslibdir=(.*)$/) 855 » » » elsif (/^--cross-compile-prefix=(.*)$/)
857 { 856 {
858 » » » » $fipslibdir="$1/"; 857 » » » » $cross_compile_prefix=$1;
859 » » » » }
860 » » » elsif (/^--with-baseaddr=(.*)$/)
861 » » » » {
862 » » » » $baseaddr="$1";
863 } 858 }
864 else 859 else
865 { 860 {
866 print STDERR $usage; 861 print STDERR $usage;
867 exit(1); 862 exit(1);
868 } 863 }
869 } 864 }
870 elsif ($_ =~ /^([^:]+):(.+)$/) 865 elsif ($_ =~ /^([^:]+):(.+)$/)
871 { 866 {
872 eval "\$table{\$1} = \"$2\""; # allow $xxx constructs in the string 867 eval "\$table{\$1} = \"$2\""; # allow $xxx constructs in the string
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
938 { 933 {
939 $disabled{"ssl3"} = "forced"; 934 $disabled{"ssl3"} = "forced";
940 $disabled{"tls1"} = "forced"; 935 $disabled{"tls1"} = "forced";
941 } 936 }
942 937
943 if (defined($disabled{"tls1"})) 938 if (defined($disabled{"tls1"}))
944 { 939 {
945 $disabled{"tlsext"} = "forced"; 940 $disabled{"tlsext"} = "forced";
946 } 941 }
947 942
943 if (defined($disabled{"ec"}) || defined($disabled{"dsa"})
944 || defined($disabled{"dh"}))
945 {
946 $disabled{"gost"} = "forced";
947 }
948
948 if ($target eq "TABLE") { 949 if ($target eq "TABLE") {
949 foreach $target (sort keys %table) { 950 foreach $target (sort keys %table) {
950 print_table_entry($target); 951 print_table_entry($target);
951 } 952 }
952 exit 0; 953 exit 0;
953 } 954 }
954 955
955 if ($target eq "LIST") { 956 if ($target eq "LIST") {
956 foreach (sort keys %table) { 957 foreach (sort keys %table) {
957 print; 958 print;
958 print "\n"; 959 print "\n";
959 } 960 }
960 exit 0; 961 exit 0;
961 } 962 }
962 963
963 if ($target =~ m/^CygWin32(-.*)$/) { 964 if ($target =~ m/^CygWin32(-.*)$/) {
964 $target = "Cygwin".$1; 965 $target = "Cygwin".$1;
965 } 966 }
966 967
967 print "Configuring for $target\n"; 968 print "Configuring for $target\n";
968 969
969 &usage if (!defined($table{$target})); 970 &usage if (!defined($table{$target}));
970 971
971 my @fields = split(/\s*:\s*/,$table{$target} . ":" x 30 , -1);
972 my $cc = $fields[$idx_cc];
973 # Allow environment CC to override compiler...
974 if($ENV{CC}) {
975 $cc = $ENV{CC};
976 }
977 my $cflags = $fields[$idx_cflags];
978 my $unistd = $fields[$idx_unistd];
979 my $thread_cflag = $fields[$idx_thread_cflag];
980 my $sys_id = $fields[$idx_sys_id];
981 my $lflags = $fields[$idx_lflags];
982 my $bn_ops = $fields[$idx_bn_ops];
983 my $cpuid_obj = $fields[$idx_cpuid_obj];
984 my $bn_obj = $fields[$idx_bn_obj];
985 my $des_obj = $fields[$idx_des_obj];
986 my $aes_obj = $fields[$idx_aes_obj];
987 my $bf_obj = $fields[$idx_bf_obj];
988 my $md5_obj = $fields[$idx_md5_obj];
989 my $sha1_obj = $fields[$idx_sha1_obj];
990 my $cast_obj = $fields[$idx_cast_obj];
991 my $rc4_obj = $fields[$idx_rc4_obj];
992 my $rmd160_obj = $fields[$idx_rmd160_obj];
993 my $rc5_obj = $fields[$idx_rc5_obj];
994 my $dso_scheme = $fields[$idx_dso_scheme];
995 my $shared_target = $fields[$idx_shared_target];
996 my $shared_cflag = $fields[$idx_shared_cflag];
997 my $shared_ldflag = $fields[$idx_shared_ldflag];
998 my $shared_extension = $fields[$idx_shared_extension];
999 my $ranlib = $ENV{'RANLIB'} || $fields[$idx_ranlib];
1000 my $ar = $ENV{'AR'} || "ar";
1001 my $arflags = $fields[$idx_arflags];
1002
1003 if ($fips)
1004 {
1005 delete $disabled{"shared"} if ($disabled{"shared"} eq "default");
1006 $disabled{"asm"}="forced"
1007 if ($target !~ "VC\-.*" &&
1008 "$cpuid_obj:$bn_obj:$aes_obj:$des_obj:$sha1_obj" eq "::::");
1009 }
1010
1011 foreach (sort @experimental)
1012 {
1013 my $ALGO;
1014 ($ALGO = $_) =~ tr/[a-z]/[A-Z]/;
1015
1016 # opensslconf.h will set OPENSSL_NO_... unless OPENSSL_EXPERIMENTAL_... is defined
1017 $openssl_experimental_defines .= "#define OPENSSL_NO_$ALGO\n";
1018 $cflags .= " -DOPENSSL_EXPERIMENTAL_$ALGO";
1019 }
1020 972
1021 foreach (sort (keys %disabled)) 973 foreach (sort (keys %disabled))
1022 { 974 {
1023 $options .= " no-$_"; 975 $options .= " no-$_";
1024 976
1025 printf " no-%-12s %-10s", $_, "[$disabled{$_}]"; 977 printf " no-%-12s %-10s", $_, "[$disabled{$_}]";
1026 978
1027 if (/^dso$/) 979 if (/^dso$/)
1028 { $no_dso = 1; } 980 { $no_dso = 1; }
1029 elsif (/^threads$/) 981 elsif (/^threads$/)
1030 { $no_threads = 1; } 982 { $no_threads = 1; }
1031 elsif (/^shared$/) 983 elsif (/^shared$/)
1032 { $no_shared = 1; } 984 { $no_shared = 1; }
1033 elsif (/^zlib$/) 985 elsif (/^zlib$/)
1034 { $zlib = 0; } 986 { $zlib = 0; }
1035 elsif (/^montasm$/)
1036 { $montasm = 0; }
1037 elsif (/^static-engine$/) 987 elsif (/^static-engine$/)
1038 { } 988 { }
1039 elsif (/^zlib-dynamic$/) 989 elsif (/^zlib-dynamic$/)
1040 { } 990 { }
1041 elsif (/^symlinks$/) 991 elsif (/^symlinks$/)
1042 { $symlink = 0; } 992 { $symlink = 0; }
1043 elsif (/^sse2$/) 993 elsif (/^sse2$/)
1044 { $no_sse2 = 1; } 994 { $no_sse2 = 1; }
1045 else 995 else
1046 { 996 {
(...skipping 21 matching lines...) Expand all
1068 print " (skip dir)"; 1018 print " (skip dir)";
1069 1019
1070 $depflags .= " -DOPENSSL_NO_$ALGO"; 1020 $depflags .= " -DOPENSSL_NO_$ALGO";
1071 } 1021 }
1072 } 1022 }
1073 } 1023 }
1074 1024
1075 print "\n"; 1025 print "\n";
1076 } 1026 }
1077 1027
1028 my $exp_cflags = "";
1029 foreach (sort @experimental)
1030 {
1031 my $ALGO;
1032 ($ALGO = $_) =~ tr/[a-z]/[A-Z]/;
1033
1034 # opensslconf.h will set OPENSSL_NO_... unless OPENSSL_EXPERIMENTAL_... is defined
1035 $openssl_experimental_defines .= "#define OPENSSL_NO_$ALGO\n";
1036 $exp_cflags .= " -DOPENSSL_EXPERIMENTAL_$ALGO";
1037 }
1038
1078 my $IsMK1MF=scalar grep /^$target$/,@MK1MF_Builds; 1039 my $IsMK1MF=scalar grep /^$target$/,@MK1MF_Builds;
1079 1040
1080 $IsMK1MF=1 if ($target eq "mingw" && $^O ne "cygwin" && !is_msys()); 1041 $exe_ext=".exe" if ($target eq "Cygwin" || $target eq "DJGPP" || $target =~ /^mi ngw/);
1081
1082 $no_shared = 0 if ($fipsdso && !$IsMK1MF);
1083
1084 $exe_ext=".exe" if ($target eq "Cygwin" || $target eq "DJGPP" || $target eq "min gw");
1085 $exe_ext=".nlm" if ($target =~ /netware/); 1042 $exe_ext=".nlm" if ($target =~ /netware/);
1086 $exe_ext=".pm" if ($target =~ /vos/); 1043 $exe_ext=".pm" if ($target =~ /vos/);
1087 if ($openssldir eq "" and $prefix eq "") 1044 $openssldir="/usr/local/ssl" if ($openssldir eq "" and $prefix eq "");
1088 » {
1089 » if ($fips)
1090 » » {
1091 » » $openssldir="/usr/local/ssl/fips";
1092 » » }
1093 » else
1094 » » {
1095 » » $openssldir="/usr/local/ssl";
1096 » » }
1097 » }
1098 $prefix=$openssldir if $prefix eq ""; 1045 $prefix=$openssldir if $prefix eq "";
1099 1046
1100 $libdir="lib" if $libdir eq "";
1101
1102 $default_ranlib= &which("ranlib") or $default_ranlib="true"; 1047 $default_ranlib= &which("ranlib") or $default_ranlib="true";
1103 $perl=$ENV{'PERL'} or $perl=&which("perl5") or $perl=&which("perl") 1048 $perl=$ENV{'PERL'} or $perl=&which("perl5") or $perl=&which("perl")
1104 or $perl="perl"; 1049 or $perl="perl";
1105 my $make = $ENV{'MAKE'} || "make"; 1050 my $make = $ENV{'MAKE'} || "make";
1106 1051
1107 $cross_compile_prefix=$ENV{'CROSS_COMPILE'} if $cross_compile_prefix eq ""; 1052 $cross_compile_prefix=$ENV{'CROSS_COMPILE'} if $cross_compile_prefix eq "";
1108 1053
1109 chop $openssldir if $openssldir =~ /\/$/; 1054 chop $openssldir if $openssldir =~ /\/$/;
1110 chop $prefix if $prefix =~ /.\/$/; 1055 chop $prefix if $prefix =~ /.\/$/;
1111 1056
1112 $openssldir=$prefix . "/ssl" if $openssldir eq ""; 1057 $openssldir=$prefix . "/ssl" if $openssldir eq "";
1113 $openssldir=$prefix . "/" . $openssldir if $openssldir !~ /(^\/|^[a-zA-Z]:[\\\/] )/; 1058 $openssldir=$prefix . "/" . $openssldir if $openssldir !~ /(^\/|^[a-zA-Z]:[\\\/] )/;
1114 1059
1115 1060
1116 print "IsMK1MF=$IsMK1MF\n"; 1061 print "IsMK1MF=$IsMK1MF\n";
1117 1062
1063 my @fields = split(/\s*:\s*/,$table{$target} . ":" x 30 , -1);
1064 my $cc = $fields[$idx_cc];
1065 # Allow environment CC to override compiler...
1066 if($ENV{CC}) {
1067 $cc = $ENV{CC};
1068 }
1069 my $cflags = $fields[$idx_cflags];
1070 my $unistd = $fields[$idx_unistd];
1071 my $thread_cflag = $fields[$idx_thread_cflag];
1072 my $sys_id = $fields[$idx_sys_id];
1073 my $lflags = $fields[$idx_lflags];
1074 my $bn_ops = $fields[$idx_bn_ops];
1075 my $cpuid_obj = $fields[$idx_cpuid_obj];
1076 my $bn_obj = $fields[$idx_bn_obj];
1077 my $des_obj = $fields[$idx_des_obj];
1078 my $aes_obj = $fields[$idx_aes_obj];
1079 my $bf_obj = $fields[$idx_bf_obj];
1080 my $md5_obj = $fields[$idx_md5_obj];
1081 my $sha1_obj = $fields[$idx_sha1_obj];
1082 my $cast_obj = $fields[$idx_cast_obj];
1083 my $rc4_obj = $fields[$idx_rc4_obj];
1084 my $rmd160_obj = $fields[$idx_rmd160_obj];
1085 my $rc5_obj = $fields[$idx_rc5_obj];
1086 my $wp_obj = $fields[$idx_wp_obj];
1087 my $cmll_obj = $fields[$idx_cmll_obj];
1088 my $perlasm_scheme = $fields[$idx_perlasm_scheme];
1089 my $dso_scheme = $fields[$idx_dso_scheme];
1090 my $shared_target = $fields[$idx_shared_target];
1091 my $shared_cflag = $fields[$idx_shared_cflag];
1092 my $shared_ldflag = $fields[$idx_shared_ldflag];
1093 my $shared_extension = $fields[$idx_shared_extension];
1094 my $ranlib = $ENV{'RANLIB'} || $fields[$idx_ranlib];
1095 my $ar = $ENV{'AR'} || "ar";
1096 my $arflags = $fields[$idx_arflags];
1097 my $multilib = $fields[$idx_multilib];
1098
1099 # if $prefix/lib$multilib is not an existing directory, then
1100 # assume that it's not searched by linker automatically, in
1101 # which case adding $multilib suffix causes more grief than
1102 # we're ready to tolerate, so don't...
1103 $multilib="" if !-d "$prefix/lib$multilib";
1104
1105 $libdir="lib$multilib" if $libdir eq "";
1106
1107 $cflags = "$cflags$exp_cflags";
1108
1118 # '%' in $lflags is used to split flags to "pre-" and post-flags 1109 # '%' in $lflags is used to split flags to "pre-" and post-flags
1119 my ($prelflags,$postlflags)=split('%',$lflags); 1110 my ($prelflags,$postlflags)=split('%',$lflags);
1120 if (defined($postlflags))» { $lflags=$postlflags; } 1111 if (defined($postlflags))» { $lflags=$postlflags;» }
1121 else» » » » { $lflags=$prelflags; undef $prelflags; } 1112 else» » » » { $lflags=$prelflags; undef $prelflags;»}
1113
1114 if ($target =~ /^mingw/ && `$cc --target-help 2>&1` !~ m/\-mno\-cygwin/m)
1115 » {
1116 » $cflags =~ s/\-mno\-cygwin\s*//;
1117 » $shared_ldflag =~ s/\-mno\-cygwin\s*//;
1118 » }
1122 1119
1123 my $no_shared_warn=0; 1120 my $no_shared_warn=0;
1124 my $no_user_cflags=0; 1121 my $no_user_cflags=0;
1125 1122
1126 if ($flags ne "") { $cflags="$flags$cflags"; } 1123 if ($flags ne "") { $cflags="$flags$cflags"; }
1127 else { $no_user_cflags=1; } 1124 else { $no_user_cflags=1; }
1128 1125
1129 # Kerberos settings. The flavor must be provided from outside, either through 1126 # Kerberos settings. The flavor must be provided from outside, either through
1130 # the script "config" or manually. 1127 # the script "config" or manually.
1131 if (!$no_krb5) 1128 if (!$no_krb5)
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
1239 # { 1236 # {
1240 # $thread_defines .= "#define $def\n"; 1237 # $thread_defines .= "#define $def\n";
1241 # } 1238 # }
1242 # } 1239 # }
1243 } 1240 }
1244 1241
1245 $lflags="$libs$lflags" if ($libs ne ""); 1242 $lflags="$libs$lflags" if ($libs ne "");
1246 1243
1247 if ($no_asm) 1244 if ($no_asm)
1248 { 1245 {
1249 » $cpuid_obj=$bn_obj=$des_obj=$aes_obj=$bf_obj=$cast_obj=$rc4_obj=$rc5_obj =""; 1246 » $cpuid_obj=$bn_obj=
1250 » $sha1_obj=$md5_obj=$rmd160_obj=""; 1247 » $des_obj=$aes_obj=$bf_obj=$cast_obj=$rc4_obj=$rc5_obj=$cmll_obj=
1251 » $cflags=~s/\-D[BL]_ENDIAN//» » if ($fips); 1248 » $sha1_obj=$md5_obj=$rmd160_obj=$wp_obj="";
1252 » $thread_cflags=~s/\-D[BL]_ENDIAN//» if ($fips);
1253 » }
1254 if ($montasm)
1255 » {
1256 » $bn_obj =~ s/MAYBE-MO86-/mo86-/;
1257 » }
1258 else
1259 » {
1260 » $bn_obj =~ s/MAYBE-MO86-[a-z.]*//;
1261 } 1249 }
1262 1250
1263 if (!$no_shared) 1251 if (!$no_shared)
1264 { 1252 {
1265 $cast_obj=""; # CAST assembler is not PIC 1253 $cast_obj=""; # CAST assembler is not PIC
1266 } 1254 }
1267 1255
1268 if ($threads) 1256 if ($threads)
1269 { 1257 {
1270 $cflags=$thread_cflags; 1258 $cflags=$thread_cflags;
1271 $openssl_thread_defines .= $thread_defines; 1259 $openssl_thread_defines .= $thread_defines;
1272 } 1260 }
1273 1261
1274 if ($zlib) 1262 if ($zlib)
1275 { 1263 {
1276 $cflags = "-DZLIB $cflags"; 1264 $cflags = "-DZLIB $cflags";
1277 if (defined($disabled{"zlib-dynamic"})) 1265 if (defined($disabled{"zlib-dynamic"}))
1278 { 1266 {
1279 » » $lflags = "$lflags -lz"; 1267 » » if (defined($withargs{"zlib-lib"}))
1268 » » » {
1269 » » » $lflags = "$lflags -L" . $withargs{"zlib-lib"} . " -lz";
1270 » » » }
1271 » » else
1272 » » » {
1273 » » » $lflags = "$lflags -lz";
1274 » » » }
1280 } 1275 }
1281 else 1276 else
1282 { 1277 {
1283 $cflags = "-DZLIB_SHARED $cflags"; 1278 $cflags = "-DZLIB_SHARED $cflags";
1284 } 1279 }
1285 } 1280 }
1286 1281
1287 # You will find shlib_mark1 and shlib_mark2 explained in Makefile.org 1282 # You will find shlib_mark1 and shlib_mark2 explained in Makefile.org
1288 my $shared_mark = ""; 1283 my $shared_mark = "";
1289 if ($shared_target eq "") 1284 if ($shared_target eq "")
1290 { 1285 {
1291 » $no_shared_warn = 1 if !$no_shared && !$fips; 1286 » $no_shared_warn = 1 if !$no_shared;
1292 $no_shared = 1; 1287 $no_shared = 1;
1293 } 1288 }
1294 if (!$no_shared) 1289 if (!$no_shared)
1295 { 1290 {
1296 if ($shared_cflag ne "") 1291 if ($shared_cflag ne "")
1297 { 1292 {
1298 $cflags = "$shared_cflag -DOPENSSL_PIC $cflags"; 1293 $cflags = "$shared_cflag -DOPENSSL_PIC $cflags";
1299 } 1294 }
1300 } 1295 }
1301 1296
1302 if (!$IsMK1MF) 1297 if (!$IsMK1MF)
1303 { 1298 {
1299 # add {no-}static-engine to options to allow mkdef.pl to work without ex tra arguments
1304 if ($no_shared) 1300 if ($no_shared)
1305 { 1301 {
1306 $openssl_other_defines.="#define OPENSSL_NO_DYNAMIC_ENGINE\n"; 1302 $openssl_other_defines.="#define OPENSSL_NO_DYNAMIC_ENGINE\n";
1303 $options.=" static-engine";
1307 } 1304 }
1308 else 1305 else
1309 { 1306 {
1310 $openssl_other_defines.="#define OPENSSL_NO_STATIC_ENGINE\n"; 1307 $openssl_other_defines.="#define OPENSSL_NO_STATIC_ENGINE\n";
1308 $options.=" no-static-engine";
1311 } 1309 }
1312 } 1310 }
1313 1311
1314 $cpuid_obj.=" uplink.o uplink-cof.o" if ($cflags =~ /\-DOPENSSL_USE_APPLINK/); 1312 $cpuid_obj.=" uplink.o uplink-cof.o" if ($cflags =~ /\-DOPENSSL_USE_APPLINK/);
1315 1313
1316 # 1314 #
1317 # Platform fix-ups 1315 # Platform fix-ups
1318 # 1316 #
1319 if ($target =~ /\-icc$/) # Intel C compiler 1317 if ($target =~ /\-icc$/) # Intel C compiler
1320 { 1318 {
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
1367 } 1365 }
1368 1366
1369 #my ($bn1)=split(/\s+/,$bn_obj); 1367 #my ($bn1)=split(/\s+/,$bn_obj);
1370 #$bn1 = "" unless defined $bn1; 1368 #$bn1 = "" unless defined $bn1;
1371 #$bn1=$bn_asm unless ($bn1 =~ /\.o$/); 1369 #$bn1=$bn_asm unless ($bn1 =~ /\.o$/);
1372 #$bn_obj="$bn1"; 1370 #$bn_obj="$bn1";
1373 1371
1374 $cpuid_obj="" if ($processor eq "386"); 1372 $cpuid_obj="" if ($processor eq "386");
1375 1373
1376 $bn_obj = $bn_asm unless $bn_obj ne ""; 1374 $bn_obj = $bn_asm unless $bn_obj ne "";
1377 # bn86* is the only one implementing bn_*_part_words 1375 # bn-586 is the only one implementing bn_*_part_words
1378 $cflags.=" -DOPENSSL_BN_ASM_PART_WORDS" if ($bn_obj =~ /bn86/); 1376 $cflags.=" -DOPENSSL_BN_ASM_PART_WORDS" if ($bn_obj =~ /bn-586/);
1379 $cflags.=" -DOPENSSL_IA32_SSE2" if (!$no_sse2 && $bn_obj =~ /bn86/); 1377 $cflags.=" -DOPENSSL_IA32_SSE2" if (!$no_sse2 && $bn_obj =~ /86/);
1380 1378
1381 $cflags.=" -DOPENSSL_BN_ASM_MONT" if ($bn_obj =~ /\-mont|mo86\-/); 1379 $cflags.=" -DOPENSSL_BN_ASM_MONT" if ($bn_obj =~ /-mont/);
1382 1380
1383 if ($fips) 1381 $cpuid_obj="mem_clr.o"» unless ($cpuid_obj =~ /\.o$/);
1384 » {
1385 » $openssl_other_defines.="#define OPENSSL_FIPS\n";
1386 » }
1387
1388 $des_obj=$des_enc unless ($des_obj =~ /\.o$/); 1382 $des_obj=$des_enc unless ($des_obj =~ /\.o$/);
1389 $bf_obj=$bf_enc unless ($bf_obj =~ /\.o$/); 1383 $bf_obj=$bf_enc unless ($bf_obj =~ /\.o$/);
1390 $cast_obj=$cast_enc unless ($cast_obj =~ /\.o$/); 1384 $cast_obj=$cast_enc unless ($cast_obj =~ /\.o$/);
1391 $rc4_obj=$rc4_enc unless ($rc4_obj =~ /\.o$/); 1385 $rc4_obj=$rc4_enc unless ($rc4_obj =~ /\.o$/);
1392 $rc5_obj=$rc5_enc unless ($rc5_obj =~ /\.o$/); 1386 $rc5_obj=$rc5_enc unless ($rc5_obj =~ /\.o$/);
1393 if ($sha1_obj =~ /\.o$/) 1387 if ($sha1_obj =~ /\.o$/)
1394 { 1388 {
1395 # $sha1_obj=$sha1_enc; 1389 # $sha1_obj=$sha1_enc;
1396 $cflags.=" -DSHA1_ASM" if ($sha1_obj =~ /sx86/ || $sha1_obj =~ /sha1/) ; 1390 $cflags.=" -DSHA1_ASM" if ($sha1_obj =~ /sx86/ || $sha1_obj =~ /sha1/) ;
1397 $cflags.=" -DSHA256_ASM" if ($sha1_obj =~ /sha256/); 1391 $cflags.=" -DSHA256_ASM" if ($sha1_obj =~ /sha256/);
(...skipping 15 matching lines...) Expand all
1413 # $rmd160_obj=$rmd160_enc; 1407 # $rmd160_obj=$rmd160_enc;
1414 $cflags.=" -DRMD160_ASM"; 1408 $cflags.=" -DRMD160_ASM";
1415 } 1409 }
1416 if ($aes_obj =~ /\.o$/) 1410 if ($aes_obj =~ /\.o$/)
1417 { 1411 {
1418 $cflags.=" -DAES_ASM"; 1412 $cflags.=" -DAES_ASM";
1419 } 1413 }
1420 else { 1414 else {
1421 $aes_obj=$aes_enc; 1415 $aes_obj=$aes_enc;
1422 } 1416 }
1417 $wp_obj="" if ($wp_obj =~ /mmx/ && $processor eq "386");
1418 if ($wp_obj =~ /\.o$/)
1419 {
1420 $cflags.=" -DWHIRLPOOL_ASM";
1421 }
1422 else {
1423 $wp_obj="wp_block.o";
1424 }
1425 $cmll_obj=$cmll_enc unless ($cmll_obj =~ /.o$/);
1423 1426
1424 # "Stringify" the C flags string. This permits it to be made part of a string 1427 # "Stringify" the C flags string. This permits it to be made part of a string
1425 # and works as well on command lines. 1428 # and works as well on command lines.
1426 $cflags =~ s/([\\\"])/\\\1/g; 1429 $cflags =~ s/([\\\"])/\\\1/g;
1427 1430
1428 my $version = "unknown"; 1431 my $version = "unknown";
1429 my $version_num = "unknown"; 1432 my $version_num = "unknown";
1430 my $major = "unknown"; 1433 my $major = "unknown";
1431 my $minor = "unknown"; 1434 my $minor = "unknown";
1432 my $shlib_version_number = "unknown"; 1435 my $shlib_version_number = "unknown";
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
1472 open(OUT,">$Makefile.new") || die "unable to create $Makefile.new:$!\n"; 1475 open(OUT,">$Makefile.new") || die "unable to create $Makefile.new:$!\n";
1473 print OUT "### Generated automatically from Makefile.org by Configure.\n\n"; 1476 print OUT "### Generated automatically from Makefile.org by Configure.\n\n";
1474 my $sdirs=0; 1477 my $sdirs=0;
1475 while (<IN>) 1478 while (<IN>)
1476 { 1479 {
1477 chomp; 1480 chomp;
1478 $sdirs = 1 if /^SDIRS=/; 1481 $sdirs = 1 if /^SDIRS=/;
1479 if ($sdirs) { 1482 if ($sdirs) {
1480 my $dir; 1483 my $dir;
1481 foreach $dir (@skip) { 1484 foreach $dir (@skip) {
1482 » » » s/(\s)$dir\s/$1/; 1485 » » » s/(\s)$dir /$1/;
1483 s/\s$dir$//; 1486 s/\s$dir$//;
1484 } 1487 }
1485 } 1488 }
1486 $sdirs = 0 unless /\\$/; 1489 $sdirs = 0 unless /\\$/;
1487 s/fips // if (/^DIRS=/ && !$fips);
1488 s/engines // if (/^DIRS=/ && $disabled{"engine"}); 1490 s/engines // if (/^DIRS=/ && $disabled{"engine"});
1491 s/ccgost// if (/^ENGDIRS=/ && $disabled{"gost"});
1489 s/^VERSION=.*/VERSION=$version/; 1492 s/^VERSION=.*/VERSION=$version/;
1490 s/^MAJOR=.*/MAJOR=$major/; 1493 s/^MAJOR=.*/MAJOR=$major/;
1491 s/^MINOR=.*/MINOR=$minor/; 1494 s/^MINOR=.*/MINOR=$minor/;
1492 s/^SHLIB_VERSION_NUMBER=.*/SHLIB_VERSION_NUMBER=$shlib_version_number/; 1495 s/^SHLIB_VERSION_NUMBER=.*/SHLIB_VERSION_NUMBER=$shlib_version_number/;
1493 s/^SHLIB_VERSION_HISTORY=.*/SHLIB_VERSION_HISTORY=$shlib_version_history /; 1496 s/^SHLIB_VERSION_HISTORY=.*/SHLIB_VERSION_HISTORY=$shlib_version_history /;
1494 s/^SHLIB_MAJOR=.*/SHLIB_MAJOR=$shlib_major/; 1497 s/^SHLIB_MAJOR=.*/SHLIB_MAJOR=$shlib_major/;
1495 s/^SHLIB_MINOR=.*/SHLIB_MINOR=$shlib_minor/; 1498 s/^SHLIB_MINOR=.*/SHLIB_MINOR=$shlib_minor/;
1496 s/^SHLIB_EXT=.*/SHLIB_EXT=$shared_extension/; 1499 s/^SHLIB_EXT=.*/SHLIB_EXT=$shared_extension/;
1497 s/^INSTALLTOP=.*$/INSTALLTOP=$prefix/; 1500 s/^INSTALLTOP=.*$/INSTALLTOP=$prefix/;
1501 s/^MULTILIB=.*$/MULTILIB=$multilib/;
1498 s/^OPENSSLDIR=.*$/OPENSSLDIR=$openssldir/; 1502 s/^OPENSSLDIR=.*$/OPENSSLDIR=$openssldir/;
1499 s/^LIBDIR=.*$/LIBDIR=$libdir/; 1503 s/^LIBDIR=.*$/LIBDIR=$libdir/;
1500 s/^INSTALL_PREFIX=.*$/INSTALL_PREFIX=$install_prefix/; 1504 s/^INSTALL_PREFIX=.*$/INSTALL_PREFIX=$install_prefix/;
1501 s/^PLATFORM=.*$/PLATFORM=$target/; 1505 s/^PLATFORM=.*$/PLATFORM=$target/;
1502 s/^OPTIONS=.*$/OPTIONS=$options/; 1506 s/^OPTIONS=.*$/OPTIONS=$options/;
1503 s/^CONFIGURE_ARGS=.*$/CONFIGURE_ARGS=$argvstring/; 1507 s/^CONFIGURE_ARGS=.*$/CONFIGURE_ARGS=$argvstring/;
1504 if ($cross_compile_prefix) 1508 if ($cross_compile_prefix)
1505 { 1509 {
1506 s/^CC=.*$/CROSS_COMPILE= $cross_compile_prefix\nCC= \$\(CROSS_CO MPILE\)$cc/; 1510 s/^CC=.*$/CROSS_COMPILE= $cross_compile_prefix\nCC= \$\(CROSS_CO MPILE\)$cc/;
1507 s/^AR=\s*/AR= \$\(CROSS_COMPILE\)/; 1511 s/^AR=\s*/AR= \$\(CROSS_COMPILE\)/;
1512 s/^NM=\s*/NM= \$\(CROSS_COMPILE\)/;
1508 s/^RANLIB=\s*/RANLIB= \$\(CROSS_COMPILE\)/; 1513 s/^RANLIB=\s*/RANLIB= \$\(CROSS_COMPILE\)/;
1514 s/^MAKEDEPPROG=.*$/MAKEDEPPROG= \$\(CROSS_COMPILE\)$cc/ if $cc e q "gcc";
1509 } 1515 }
1510 else { 1516 else {
1511 s/^CC=.*$/CC= $cc/; 1517 s/^CC=.*$/CC= $cc/;
1512 s/^AR=\s*ar/AR= $ar/; 1518 s/^AR=\s*ar/AR= $ar/;
1513 s/^RANLIB=.*/RANLIB= $ranlib/; 1519 s/^RANLIB=.*/RANLIB= $ranlib/;
1520 s/^MAKEDEPPROG=.*$/MAKEDEPPROG= $cc/ if $cc eq "gcc";
1514 } 1521 }
1515 s/^MAKEDEPPROG=.*$/MAKEDEPPROG= $cc/ if $cc eq "gcc";
1516 s/^CFLAG=.*$/CFLAG= $cflags/; 1522 s/^CFLAG=.*$/CFLAG= $cflags/;
1517 s/^DEPFLAG=.*$/DEPFLAG=$depflags/; 1523 s/^DEPFLAG=.*$/DEPFLAG=$depflags/;
1518 s/^PEX_LIBS=.*$/PEX_LIBS= $prelflags/; 1524 s/^PEX_LIBS=.*$/PEX_LIBS= $prelflags/;
1519 s/^EX_LIBS=.*$/EX_LIBS= $lflags/; 1525 s/^EX_LIBS=.*$/EX_LIBS= $lflags/;
1520 s/^EXE_EXT=.*$/EXE_EXT= $exe_ext/; 1526 s/^EXE_EXT=.*$/EXE_EXT= $exe_ext/;
1521 s/^CPUID_OBJ=.*$/CPUID_OBJ= $cpuid_obj/; 1527 s/^CPUID_OBJ=.*$/CPUID_OBJ= $cpuid_obj/;
1522 s/^BN_ASM=.*$/BN_ASM= $bn_obj/; 1528 s/^BN_ASM=.*$/BN_ASM= $bn_obj/;
1523 s/^DES_ENC=.*$/DES_ENC= $des_obj/; 1529 s/^DES_ENC=.*$/DES_ENC= $des_obj/;
1524 » s/^AES_ASM_OBJ=.*$/AES_ASM_OBJ= $aes_obj/; 1530 » s/^AES_ENC=.*$/AES_ENC= $aes_obj/;
1525 s/^BF_ENC=.*$/BF_ENC= $bf_obj/; 1531 s/^BF_ENC=.*$/BF_ENC= $bf_obj/;
1526 s/^CAST_ENC=.*$/CAST_ENC= $cast_obj/; 1532 s/^CAST_ENC=.*$/CAST_ENC= $cast_obj/;
1527 s/^RC4_ENC=.*$/RC4_ENC= $rc4_obj/; 1533 s/^RC4_ENC=.*$/RC4_ENC= $rc4_obj/;
1528 s/^RC5_ENC=.*$/RC5_ENC= $rc5_obj/; 1534 s/^RC5_ENC=.*$/RC5_ENC= $rc5_obj/;
1529 s/^MD5_ASM_OBJ=.*$/MD5_ASM_OBJ= $md5_obj/; 1535 s/^MD5_ASM_OBJ=.*$/MD5_ASM_OBJ= $md5_obj/;
1530 s/^SHA1_ASM_OBJ=.*$/SHA1_ASM_OBJ= $sha1_obj/; 1536 s/^SHA1_ASM_OBJ=.*$/SHA1_ASM_OBJ= $sha1_obj/;
1531 s/^RMD160_ASM_OBJ=.*$/RMD160_ASM_OBJ= $rmd160_obj/; 1537 s/^RMD160_ASM_OBJ=.*$/RMD160_ASM_OBJ= $rmd160_obj/;
1538 s/^WP_ASM_OBJ=.*$/WP_ASM_OBJ= $wp_obj/;
1539 s/^CMLL_ENC=.*$/CMLL_ENC= $cmll_obj/;
1540 s/^PERLASM_SCHEME=.*$/PERLASM_SCHEME= $perlasm_scheme/;
1532 s/^PROCESSOR=.*/PROCESSOR= $processor/; 1541 s/^PROCESSOR=.*/PROCESSOR= $processor/;
1533 s/^ARFLAGS=.*/ARFLAGS= $arflags/; 1542 s/^ARFLAGS=.*/ARFLAGS= $arflags/;
1534 s/^PERL=.*/PERL= $perl/; 1543 s/^PERL=.*/PERL= $perl/;
1535 s/^KRB5_INCLUDES=.*/KRB5_INCLUDES=$withargs{"krb5-include"}/; 1544 s/^KRB5_INCLUDES=.*/KRB5_INCLUDES=$withargs{"krb5-include"}/;
1536 s/^LIBKRB5=.*/LIBKRB5=$withargs{"krb5-lib"}/; 1545 s/^LIBKRB5=.*/LIBKRB5=$withargs{"krb5-lib"}/;
1537 s/^LIBZLIB=.*/LIBZLIB=$withargs{"zlib-lib"}/; 1546 s/^LIBZLIB=.*/LIBZLIB=$withargs{"zlib-lib"}/;
1538 s/^ZLIB_INCLUDE=.*/ZLIB_INCLUDE=$withargs{"zlib-include"}/; 1547 s/^ZLIB_INCLUDE=.*/ZLIB_INCLUDE=$withargs{"zlib-include"}/;
1539 s/^FIPSLIBDIR=.*/FIPSLIBDIR=$fipslibdir/;
1540 if ($fipsdso)
1541 {
1542 s/^FIPSCANLIB=.*/FIPSCANLIB=libfips/;
1543 s/^SHARED_FIPS=.*/SHARED_FIPS=libfips\$(SHLIB_EXT)/;
1544 s/^SHLIBDIRS=.*/SHLIBDIRS= crypto ssl fips/;
1545 }
1546 else
1547 {
1548 s/^FIPSCANLIB=.*/FIPSCANLIB=libcrypto/ if $fips;
1549 s/^SHARED_FIPS=.*/SHARED_FIPS=/;
1550 s/^SHLIBDIRS=.*/SHLIBDIRS= crypto ssl/;
1551 }
1552 s/^FIPSCANISTERINTERNAL=.*/FIPSCANISTERINTERNAL=$fipscanisterinternal/;
1553 s/^BASEADDR=.*/BASEADDR=$baseaddr/;
1554 s/^SHLIB_TARGET=.*/SHLIB_TARGET=$shared_target/; 1548 s/^SHLIB_TARGET=.*/SHLIB_TARGET=$shared_target/;
1555 s/^SHLIB_MARK=.*/SHLIB_MARK=$shared_mark/; 1549 s/^SHLIB_MARK=.*/SHLIB_MARK=$shared_mark/;
1556 » s/^SHARED_LIBS=.*/SHARED_LIBS=\$(SHARED_FIPS) \$(SHARED_CRYPTO) \$(SHARE D_SSL)/ if (!$no_shared); 1550 » s/^SHARED_LIBS=.*/SHARED_LIBS=\$(SHARED_CRYPTO) \$(SHARED_SSL)/ if (!$no _shared);
1557 if ($shared_extension ne "" && $shared_extension =~ /^\.s([ol])\.[^\.]*$ /) 1551 if ($shared_extension ne "" && $shared_extension =~ /^\.s([ol])\.[^\.]*$ /)
1558 { 1552 {
1559 my $sotmp = $1; 1553 my $sotmp = $1;
1560 s/^SHARED_LIBS_LINK_EXTS=.*/SHARED_LIBS_LINK_EXTS=.s$sotmp/; 1554 s/^SHARED_LIBS_LINK_EXTS=.*/SHARED_LIBS_LINK_EXTS=.s$sotmp/;
1561 } 1555 }
1562 elsif ($shared_extension ne "" && $shared_extension =~ /^\.[^\.]*\.dylib $/) 1556 elsif ($shared_extension ne "" && $shared_extension =~ /^\.[^\.]*\.dylib $/)
1563 { 1557 {
1564 s/^SHARED_LIBS_LINK_EXTS=.*/SHARED_LIBS_LINK_EXTS=.dylib/; 1558 s/^SHARED_LIBS_LINK_EXTS=.*/SHARED_LIBS_LINK_EXTS=.dylib/;
1565 } 1559 }
1566 elsif ($shared_extension ne "" && $shared_extension =~ /^\.s([ol])\.[^\. ]*\.[^\.]*$/) 1560 elsif ($shared_extension ne "" && $shared_extension =~ /^\.s([ol])\.[^\. ]*\.[^\.]*$/)
(...skipping 12 matching lines...) Expand all
1579 close(OUT); 1573 close(OUT);
1580 rename($Makefile,"$Makefile.bak") || die "unable to rename $Makefile\n" if -e $M akefile; 1574 rename($Makefile,"$Makefile.bak") || die "unable to rename $Makefile\n" if -e $M akefile;
1581 rename("$Makefile.new",$Makefile) || die "unable to rename $Makefile.new\n"; 1575 rename("$Makefile.new",$Makefile) || die "unable to rename $Makefile.new\n";
1582 1576
1583 print "CC =$cc\n"; 1577 print "CC =$cc\n";
1584 print "CFLAG =$cflags\n"; 1578 print "CFLAG =$cflags\n";
1585 print "EX_LIBS =$lflags\n"; 1579 print "EX_LIBS =$lflags\n";
1586 print "CPUID_OBJ =$cpuid_obj\n"; 1580 print "CPUID_OBJ =$cpuid_obj\n";
1587 print "BN_ASM =$bn_obj\n"; 1581 print "BN_ASM =$bn_obj\n";
1588 print "DES_ENC =$des_obj\n"; 1582 print "DES_ENC =$des_obj\n";
1589 print "AES_ASM_OBJ =$aes_obj\n"; 1583 print "AES_ENC =$aes_obj\n";
1590 print "BF_ENC =$bf_obj\n"; 1584 print "BF_ENC =$bf_obj\n";
1591 print "CAST_ENC =$cast_obj\n"; 1585 print "CAST_ENC =$cast_obj\n";
1592 print "RC4_ENC =$rc4_obj\n"; 1586 print "RC4_ENC =$rc4_obj\n";
1593 print "RC5_ENC =$rc5_obj\n"; 1587 print "RC5_ENC =$rc5_obj\n";
1594 print "MD5_OBJ_ASM =$md5_obj\n"; 1588 print "MD5_OBJ_ASM =$md5_obj\n";
1595 print "SHA1_OBJ_ASM =$sha1_obj\n"; 1589 print "SHA1_OBJ_ASM =$sha1_obj\n";
1596 print "RMD160_OBJ_ASM=$rmd160_obj\n"; 1590 print "RMD160_OBJ_ASM=$rmd160_obj\n";
1591 print "CMLL_ENC= =$cmll_obj\n";
1597 print "PROCESSOR =$processor\n"; 1592 print "PROCESSOR =$processor\n";
1598 print "RANLIB =$ranlib\n"; 1593 print "RANLIB =$ranlib\n";
1599 print "ARFLAGS =$arflags\n"; 1594 print "ARFLAGS =$arflags\n";
1600 print "PERL =$perl\n"; 1595 print "PERL =$perl\n";
1601 print "KRB5_INCLUDES =",$withargs{"krb5-include"},"\n" 1596 print "KRB5_INCLUDES =",$withargs{"krb5-include"},"\n"
1602 if $withargs{"krb5-include"} ne ""; 1597 if $withargs{"krb5-include"} ne "";
1603 1598
1604 my $des_ptr=0; 1599 my $des_ptr=0;
1605 my $des_risc1=0; 1600 my $des_risc1=0;
1606 my $des_risc2=0; 1601 my $des_risc2=0;
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
1674 print OUT $openssl_other_defines,"\n"; 1669 print OUT $openssl_other_defines,"\n";
1675 1670
1676 print OUT "/* The OPENSSL_NO_* macros are also defined as NO_* if the applicatio n\n"; 1671 print OUT "/* The OPENSSL_NO_* macros are also defined as NO_* if the applicatio n\n";
1677 print OUT " asks for it. This is a transient feature that is provided for tho se\n"; 1672 print OUT " asks for it. This is a transient feature that is provided for tho se\n";
1678 print OUT " who haven't had the time to do the appropriate changes in their\n" ; 1673 print OUT " who haven't had the time to do the appropriate changes in their\n" ;
1679 print OUT " applications. */\n"; 1674 print OUT " applications. */\n";
1680 print OUT "#ifdef OPENSSL_ALGORITHM_DEFINES\n"; 1675 print OUT "#ifdef OPENSSL_ALGORITHM_DEFINES\n";
1681 print OUT $openssl_algorithm_defines_trans; 1676 print OUT $openssl_algorithm_defines_trans;
1682 print OUT "#endif\n\n"; 1677 print OUT "#endif\n\n";
1683 1678
1684 print OUT "#define OPENSSL_CPUID_OBJ\n\n" if ($cpuid_obj); 1679 print OUT "#define OPENSSL_CPUID_OBJ\n\n" if ($cpuid_obj ne "mem_clr.o");
1685 1680
1686 while (<IN>) 1681 while (<IN>)
1687 { 1682 {
1688 if (/^#define\s+OPENSSLDIR/) 1683 if (/^#define\s+OPENSSLDIR/)
1689 { 1684 {
1690 my $foo = $openssldir; 1685 my $foo = $openssldir;
1691 $foo =~ s/\\/\\\\/g; 1686 $foo =~ s/\\/\\\\/g;
1692 print OUT "#define OPENSSLDIR \"$foo\"\n"; 1687 print OUT "#define OPENSSLDIR \"$foo\"\n";
1693 } 1688 }
1694 elsif (/^#define\s+ENGINESDIR/) 1689 elsif (/^#define\s+ENGINESDIR/)
1695 { 1690 {
1696 » » # $foo is to become "$prefix/lib$multilib/engines"; 1691 » » my $foo = "$prefix/$libdir/engines";
1697 » » # as Makefile.org and engines/Makefile are adapted for
1698 » » # $multilib suffix.
1699 » » my $foo = "$prefix/lib/engines";
1700 $foo =~ s/\\/\\\\/g; 1692 $foo =~ s/\\/\\\\/g;
1701 print OUT "#define ENGINESDIR \"$foo\"\n"; 1693 print OUT "#define ENGINESDIR \"$foo\"\n";
1702 } 1694 }
1703 elsif (/^#((define)|(undef))\s+OPENSSL_EXPORT_VAR_AS_FUNCTION/) 1695 elsif (/^#((define)|(undef))\s+OPENSSL_EXPORT_VAR_AS_FUNCTION/)
1704 { printf OUT "#undef OPENSSL_EXPORT_VAR_AS_FUNCTION\n" 1696 { printf OUT "#undef OPENSSL_EXPORT_VAR_AS_FUNCTION\n"
1705 if $export_var_as_fn; 1697 if $export_var_as_fn;
1706 printf OUT "#%s OPENSSL_EXPORT_VAR_AS_FUNCTION\n", 1698 printf OUT "#%s OPENSSL_EXPORT_VAR_AS_FUNCTION\n",
1707 ($export_var_as_fn)?"define":"undef"; } 1699 ($export_var_as_fn)?"define":"undef"; }
1708 elsif (/^#define\s+OPENSSL_UNISTD/) 1700 elsif (/^#define\s+OPENSSL_UNISTD/)
1709 { 1701 {
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
1855 FILEFLAGS 0x00L 1847 FILEFLAGS 0x00L
1856 #endif 1848 #endif
1857 FILEOS VOS__WINDOWS32 1849 FILEOS VOS__WINDOWS32
1858 FILETYPE VFT_DLL 1850 FILETYPE VFT_DLL
1859 FILESUBTYPE 0x0L 1851 FILESUBTYPE 0x0L
1860 BEGIN 1852 BEGIN
1861 BLOCK "StringFileInfo" 1853 BLOCK "StringFileInfo"
1862 BEGIN 1854 BEGIN
1863 BLOCK "040904b0" 1855 BLOCK "040904b0"
1864 BEGIN 1856 BEGIN
1865 #if defined(FIPS)
1866 VALUE "Comments", "WARNING: TEST VERSION ONLY ***NOT*** FIPS 140-2 V ALIDATED.\\0"
1867 #endif
1868 // Required: 1857 // Required:
1869 VALUE "CompanyName", "The OpenSSL Project, http://www.openssl.org/\\ 0" 1858 VALUE "CompanyName", "The OpenSSL Project, http://www.openssl.org/\\ 0"
1870 #if defined(FIPS)
1871 VALUE "FileDescription", "TEST UNVALIDATED FIPS140-2 DLL\\0"
1872 #else
1873 VALUE "FileDescription", "OpenSSL Shared Library\\0" 1859 VALUE "FileDescription", "OpenSSL Shared Library\\0"
1874 #endif
1875 VALUE "FileVersion", "$version\\0" 1860 VALUE "FileVersion", "$version\\0"
1876 #if defined(CRYPTO) 1861 #if defined(CRYPTO)
1877 VALUE "InternalName", "libeay32\\0" 1862 VALUE "InternalName", "libeay32\\0"
1878 VALUE "OriginalFilename", "libeay32.dll\\0" 1863 VALUE "OriginalFilename", "libeay32.dll\\0"
1879 #elif defined(SSL) 1864 #elif defined(SSL)
1880 VALUE "InternalName", "ssleay32\\0" 1865 VALUE "InternalName", "ssleay32\\0"
1881 VALUE "OriginalFilename", "ssleay32.dll\\0" 1866 VALUE "OriginalFilename", "ssleay32.dll\\0"
1882 #elif defined(FIPS)
1883 VALUE "InternalName", "libosslfips\\0"
1884 VALUE "OriginalFilename", "libosslfips.dll\\0"
1885 #endif 1867 #endif
1886 VALUE "ProductName", "The OpenSSL Toolkit\\0" 1868 VALUE "ProductName", "The OpenSSL Toolkit\\0"
1887 VALUE "ProductVersion", "$version\\0" 1869 VALUE "ProductVersion", "$version\\0"
1888 // Optional: 1870 // Optional:
1889 //VALUE "Comments", "\\0" 1871 //VALUE "Comments", "\\0"
1890 » VALUE "LegalCopyright", "Copyright © 1998-2007 The OpenSSL Project. Copyright © 1995-1998 Eric A. Young, Tim J. Hudson. All rights reserved.\\0" 1872 » VALUE "LegalCopyright", "Copyright © 1998-2005 The OpenSSL Project. Copyright © 1995-1998 Eric A. Young, Tim J. Hudson. All rights reserved.\\0"
1891 //VALUE "LegalTrademarks", "\\0" 1873 //VALUE "LegalTrademarks", "\\0"
1892 //VALUE "PrivateBuild", "\\0" 1874 //VALUE "PrivateBuild", "\\0"
1893 //VALUE "SpecialBuild", "\\0" 1875 //VALUE "SpecialBuild", "\\0"
1894 END 1876 END
1895 END 1877 END
1896 BLOCK "VarFileInfo" 1878 BLOCK "VarFileInfo"
1897 BEGIN 1879 BEGIN
1898 VALUE "Translation", 0x409, 0x4b0 1880 VALUE "Translation", 0x409, 0x4b0
1899 END 1881 END
1900 END 1882 END
(...skipping 16 matching lines...) Expand all
1917 print <<\EOF if ($no_shared_warn); 1899 print <<\EOF if ($no_shared_warn);
1918 1900
1919 You gave the option 'shared'. Normally, that would give you shared libraries. 1901 You gave the option 'shared'. Normally, that would give you shared libraries.
1920 Unfortunately, the OpenSSL configuration doesn't include shared library support 1902 Unfortunately, the OpenSSL configuration doesn't include shared library support
1921 for this platform yet, so it will pretend you gave the option 'no-shared'. If 1903 for this platform yet, so it will pretend you gave the option 'no-shared'. If
1922 you can inform the developpers (openssl-dev\@openssl.org) how to support shared 1904 you can inform the developpers (openssl-dev\@openssl.org) how to support shared
1923 libraries on this platform, they will at least look at it and try their best 1905 libraries on this platform, they will at least look at it and try their best
1924 (but please first make sure you have tried with a current version of OpenSSL). 1906 (but please first make sure you have tried with a current version of OpenSSL).
1925 EOF 1907 EOF
1926 1908
1927 print <<\EOF if ($fipscanisterinternal eq "y");
1928
1929 WARNING: OpenSSL has been configured using unsupported option(s) to internally
1930 generate a fipscanister.o object module for TESTING PURPOSES ONLY; that
1931 compiled module is NOT FIPS 140-2 validated and CANNOT be used to replace the
1932 OpenSSL FIPS Object Module as identified by the CMVP
1933 (http://csrc.nist.gov/cryptval/) in any application requiring the use of FIPS
1934 140-2 validated software.
1935
1936 This is an OpenSSL 0.9.8 test version.
1937
1938 See the file README.FIPS for details of how to build a test library.
1939
1940 EOF
1941
1942 exit(0); 1909 exit(0);
1943 1910
1944 sub usage 1911 sub usage
1945 { 1912 {
1946 print STDERR $usage; 1913 print STDERR $usage;
1947 print STDERR "\npick os/compiler from:\n"; 1914 print STDERR "\npick os/compiler from:\n";
1948 my $j=0; 1915 my $j=0;
1949 my $i; 1916 my $i;
1950 my $k=0; 1917 my $k=0;
1951 foreach $i (sort keys %table) 1918 foreach $i (sort keys %table)
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
2007 rename("$f.new",$f) || die "unable to rename $f.new\n"; 1974 rename("$f.new",$f) || die "unable to rename $f.new\n";
2008 } 1975 }
2009 1976
2010 sub print_table_entry 1977 sub print_table_entry
2011 { 1978 {
2012 my $target = shift; 1979 my $target = shift;
2013 1980
2014 (my $cc,my $cflags,my $unistd,my $thread_cflag,my $sys_id,my $lflags, 1981 (my $cc,my $cflags,my $unistd,my $thread_cflag,my $sys_id,my $lflags,
2015 my $bn_ops,my $cpuid_obj,my $bn_obj,my $des_obj,my $aes_obj, my $bf_obj, 1982 my $bn_ops,my $cpuid_obj,my $bn_obj,my $des_obj,my $aes_obj, my $bf_obj,
2016 my $md5_obj,my $sha1_obj,my $cast_obj,my $rc4_obj,my $rmd160_obj, 1983 my $md5_obj,my $sha1_obj,my $cast_obj,my $rc4_obj,my $rmd160_obj,
2017 » my $rc5_obj,my $dso_scheme,my $shared_target,my $shared_cflag, 1984 » my $rc5_obj,my $wp_obj,my $cmll_obj,my $perlasm_scheme,my $dso_scheme,my $shared_target,my $shared_cflag,
2018 » my $shared_ldflag,my $shared_extension,my $ranlib,my $arflags)= 1985 » my $shared_ldflag,my $shared_extension,my $ranlib,my $arflags,my $multil ib)=
2019 split(/\s*:\s*/,$table{$target} . ":" x 30 , -1); 1986 split(/\s*:\s*/,$table{$target} . ":" x 30 , -1);
2020 1987
2021 print <<EOF 1988 print <<EOF
2022 1989
2023 *** $target 1990 *** $target
2024 \$cc = $cc 1991 \$cc = $cc
2025 \$cflags = $cflags 1992 \$cflags = $cflags
2026 \$unistd = $unistd 1993 \$unistd = $unistd
2027 \$thread_cflag = $thread_cflag 1994 \$thread_cflag = $thread_cflag
2028 \$sys_id = $sys_id 1995 \$sys_id = $sys_id
2029 \$lflags = $lflags 1996 \$lflags = $lflags
2030 \$bn_ops = $bn_ops 1997 \$bn_ops = $bn_ops
2031 \$cpuid_obj = $cpuid_obj 1998 \$cpuid_obj = $cpuid_obj
2032 \$bn_obj = $bn_obj 1999 \$bn_obj = $bn_obj
2033 \$des_obj = $des_obj 2000 \$des_obj = $des_obj
2034 \$aes_obj = $aes_obj 2001 \$aes_obj = $aes_obj
2035 \$bf_obj = $bf_obj 2002 \$bf_obj = $bf_obj
2036 \$md5_obj = $md5_obj 2003 \$md5_obj = $md5_obj
2037 \$sha1_obj = $sha1_obj 2004 \$sha1_obj = $sha1_obj
2038 \$cast_obj = $cast_obj 2005 \$cast_obj = $cast_obj
2039 \$rc4_obj = $rc4_obj 2006 \$rc4_obj = $rc4_obj
2040 \$rmd160_obj = $rmd160_obj 2007 \$rmd160_obj = $rmd160_obj
2041 \$rc5_obj = $rc5_obj 2008 \$rc5_obj = $rc5_obj
2009 \$wp_obj = $wp_obj
2010 \$cmll_obj = $cmll_obj
2011 \$perlasm_scheme = $perlasm_scheme
2042 \$dso_scheme = $dso_scheme 2012 \$dso_scheme = $dso_scheme
2043 \$shared_target= $shared_target 2013 \$shared_target= $shared_target
2044 \$shared_cflag = $shared_cflag 2014 \$shared_cflag = $shared_cflag
2045 \$shared_ldflag = $shared_ldflag 2015 \$shared_ldflag = $shared_ldflag
2046 \$shared_extension = $shared_extension 2016 \$shared_extension = $shared_extension
2047 \$ranlib = $ranlib 2017 \$ranlib = $ranlib
2048 \$arflags = $arflags 2018 \$arflags = $arflags
2019 \$multilib = $multilib
2049 EOF 2020 EOF
2050 } 2021 }
2051 2022
2052 sub test_sanity 2023 sub test_sanity
2053 { 2024 {
2054 my $errorcnt = 0; 2025 my $errorcnt = 0;
2055 2026
2056 print STDERR "=" x 70, "\n"; 2027 print STDERR "=" x 70, "\n";
2057 print STDERR "=== SANITY TESTING!\n"; 2028 print STDERR "=== SANITY TESTING!\n";
2058 print STDERR "=== No configuration will be done, all other arguments wil l be ignored!\n"; 2029 print STDERR "=== No configuration will be done, all other arguments wil l be ignored!\n";
2059 print STDERR "=" x 70, "\n"; 2030 print STDERR "=" x 70, "\n";
2060 2031
2061 foreach $target (sort keys %table) 2032 foreach $target (sort keys %table)
2062 { 2033 {
2063 @fields = split(/\s*:\s*/,$table{$target} . ":" x 30 , -1); 2034 @fields = split(/\s*:\s*/,$table{$target} . ":" x 30 , -1);
2064 2035
2065 » » if ($fields[$idx_dso_scheme-1] =~ /^(dl|dlfcn|win32|vms)$/) 2036 » » if ($fields[$idx_dso_scheme-1] =~ /^(beos|dl|dlfcn|win32|vms)$/)
2066 { 2037 {
2067 $errorcnt++; 2038 $errorcnt++;
2068 print STDERR "SANITY ERROR: '$target' has the dso_scheme [$idx_dso_scheme] values\n"; 2039 print STDERR "SANITY ERROR: '$target' has the dso_scheme [$idx_dso_scheme] values\n";
2069 print STDERR " in the previous field\n"; 2040 print STDERR " in the previous field\n";
2070 } 2041 }
2071 » » elsif ($fields[$idx_dso_scheme+1] =~ /^(dl|dlfcn|win32|vms)$/) 2042 » » elsif ($fields[$idx_dso_scheme+1] =~ /^(beos|dl|dlfcn|win32|vms) $/)
2072 { 2043 {
2073 $errorcnt++; 2044 $errorcnt++;
2074 print STDERR "SANITY ERROR: '$target' has the dso_scheme [$idx_dso_scheme] values\n"; 2045 print STDERR "SANITY ERROR: '$target' has the dso_scheme [$idx_dso_scheme] values\n";
2075 print STDERR " in the following field\n"; 2046 print STDERR " in the following field\n";
2076 } 2047 }
2077 » » elsif ($fields[$idx_dso_scheme] !~ /^(dl|dlfcn|win32|vms|)$/) 2048 » » elsif ($fields[$idx_dso_scheme] !~ /^(beos|dl|dlfcn|win32|vms|)$ /)
2078 { 2049 {
2079 $errorcnt++; 2050 $errorcnt++;
2080 print STDERR "SANITY ERROR: '$target' has the dso_scheme [$idx_dso_scheme] field = ",$fields[$idx_dso_scheme],"\n"; 2051 print STDERR "SANITY ERROR: '$target' has the dso_scheme [$idx_dso_scheme] field = ",$fields[$idx_dso_scheme],"\n";
2081 » » » print STDERR " valid values are 'dl', 'dlfc n', 'win32' and 'vms'\n"; 2052 » » » print STDERR " valid values are 'beos', 'dl ', 'dlfcn', 'win32' and 'vms'\n";
2082 } 2053 }
2083 } 2054 }
2084 print STDERR "No sanity errors detected!\n" if $errorcnt == 0; 2055 print STDERR "No sanity errors detected!\n" if $errorcnt == 0;
2085 return $errorcnt; 2056 return $errorcnt;
2086 } 2057 }
2087
2088 # Attempt to detect MSYS environment
2089
2090 sub is_msys
2091 {
2092 return 1 if (exists $ENV{"TERM"} && $ENV{"TERM"} eq "msys");
2093 return 0;
2094 }
OLDNEW
« no previous file with comments | « openssl/CHANGES.SSLeay ('k') | openssl/FAQ » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698