Hi,

 The following patch allows passing of CC and optimization CFLAGS.
Passing of CC is needed to support cross-compilation.  Passing of CFLAGS
is not absolutely necessary but it's common practice as it allows better
tuning for specific needs.  Two options, namely "--cc" and "--opt-cflags"
are introduced.

 The distinction between essential and optimization CFLAGS enforced adding
a field to machine description records and deciding which options are
which.  As a rule of thumb, I assumed all preprocessor and ISA/ABI flags
are essential and all the other flags, namely debugging, warning and
optimization ones, are user-selectable.  I believe I figured most if not
all of the flags correctly.  I'm much familiar with gcc, so hosts using
gcc are likely to be fine.  I was able to find private or online
references to HP/UX, OSF/1, Solaris and Unixware proprietary compilers. 
They are set up fine probably, too.  I handled the remaining ones
heuristically, thanksfully only a few of them left and most of them used
no options at all.  I've proof-read a resulting TABLE to chase any colon
omissions -- I believe there are none. 

 Apart from the above changes, the patch incorporates the following
updates (there was no way to create two independent patches):

1. A "linux-i386" host has been added.  This is a copy of the "linux-elf" 
host.  The former is easier selectable in a script.  Besides, the latter
has an ambiguous name (virtually every modern Linux system is ELF, so the
name does certainly not imply i386/Linux).

2. A "linux-mips" host has been corrected (it's big-endian, not
little-endian) and a "linux-mipsel" host has been add (now that is
little-endian).  Both entries have been updated to have "bn_ops" set like
other MIPS hosts using gcc.  Also shared library recipes have been added
for them. 

 The changes were tested successfully by building the package natively on
an i386/Linux build system as well as cross-building it for a MIPSel/Linux
host on the same i386/Linux system. 

 Maciej

-- 
+  Maciej W. Rozycki, Technical University of Gdansk, Poland   +
+--------------------------------------------------------------+
+        e-mail: [EMAIL PROTECTED], PGP key available        +

openssl-0.9.6b-config.patch
diff -up --recursive --new-file openssl-0.9.6b.macro/Configure openssl-0.9.6b/Configure
--- openssl-0.9.6b.macro/Configure      Mon Jul  9 14:08:37 2001
+++ openssl-0.9.6b/Configure    Sat Oct 27 13:52:46 2001
@@ -10,7 +10,7 @@ use strict;
 
 # see INSTALL for instructions.
 
-my $usage="Usage: Configure [no-<cipher> ...] [-Dxxx] [-lxxx] [-Lxxx] [-fxxx] [-Kxxx] 
[rsaref] [no-threads] [no-asm] [no-dso] [386] [--prefix=DIR] [--openssldir=OPENSSLDIR] 
os/compiler[:flags]\n";
+my $usage="Usage: Configure [no-<cipher> ...] [-Dxxx] [-lxxx] [-Lxxx] [-fxxx] [-Kxxx] 
+[rsaref] [no-threads] [no-asm] [no-dso] [386] [--prefix=DIR] 
+[--openssldir=OPENSSLDIR] [--cc=CC] [--opt-cflags=FLAGS] os/compiler[:flags]\n";
 
 # Options:
 #
@@ -23,6 +23,11 @@ my $usage="Usage: Configure [no-<cipher>
 #               default).  This needn't be set in advance, you can
 #               just as well use "make INSTALL_PREFIX=/whatever install".
 #
+# --cc         C compiler to use instead of a default predefined in the
+#              table below
+# --opt-cflags C optimization flags to use instead of defaults predefined
+#              in the table below
+#
 # rsaref        use RSAref
 # [no-]threads  [don't] try to create a library that is suitable for
 #               multithreaded applications (default is "threads" if we
@@ -97,34 +102,34 @@ my $alpha_asm="::::::::";
 # -DB_ENDIAN slows things down on a sparc for md5, but helps sha1.
 # So the md5_locl.h file has an undef B_ENDIAN if sun is defined
 
-#config-string $cc : $cflags : $unistd : $thread_cflag : $lflags : $bn_ops : $bn_obj 
: $des_obj : $bf_obj : $md5_obj : $sha1_obj : $cast_obj : $rc4_obj : $rmd160_obj : 
$rc5_obj : $dso_scheme : $shared_target : $shared_cflag
+#config-string $cc : $cflags : $opt_cflags : $unistd : $thread_cflag : $lflags : 
+$bn_ops : $bn_obj : $des_obj : $bf_obj : $md5_obj : $sha1_obj : $cast_obj : $rc4_obj 
+: $rmd160_obj : $rc5_obj : $dso_scheme : $shared_target : $shared_cflag
 
 my %table=(
 # File 'TABLE' (created by 'make TABLE') contains the data from this list,
 # formatted for better readability.
 
 
-#"b",          "${tcc}:${tflags}::${tlib}:${bits1}:${tbn_mul}::",
-#"bl-4c-2c",   "${tcc}:${tflags}::${tlib}:${bits1}BN_LLONG RC4_CHAR 
MD2_CHAR:${tbn_mul}::",
-#"bl-4c-ri",   "${tcc}:${tflags}::${tlib}:${bits1}BN_LLONG RC4_CHAR 
RC4_INDEX:${tbn_mul}::",
-#"b2-is-ri-dp",        "${tcc}:${tflags}::${tlib}:${bits2}IDEA_SHORT RC4_INDEX 
DES_PTR:${tbn_mul}::",
+#"b",          "${tcc}:${tflags}:::${tlib}:${bits1}:${tbn_mul}::",
+#"bl-4c-2c",   "${tcc}:${tflags}:::${tlib}:${bits1}BN_LLONG RC4_CHAR 
+MD2_CHAR:${tbn_mul}::",
+#"bl-4c-ri",   "${tcc}:${tflags}:::${tlib}:${bits1}BN_LLONG RC4_CHAR 
+RC4_INDEX:${tbn_mul}::",
+#"b2-is-ri-dp",        "${tcc}:${tflags}:::${tlib}:${bits2}IDEA_SHORT RC4_INDEX 
+DES_PTR:${tbn_mul}::",
 
 # Our development configs
-"purify",      "purify gcc:-g -DPURIFY -Wall::(unknown):-lsocket -lnsl::::",
-"debug",       "gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG 
-DCRYPTO_MDEBUG -ggdb -g2 -Wformat -Wshadow -Wmissing-prototypes 
-Wmissing-declarations -Werror::(unknown):-lefence::::",
-"debug-ben",   "gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG 
-DCRYPTO_MDEBUG -DPEDANTIC -DDEBUG_SAFESTACK -O2 -pedantic -Wall -Wshadow -Werror 
-pipe::(unknown):::::",
-"debug-ben-debug",     "gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG 
-DCRYPTO_MDEBUG -DPEDANTIC -DDEBUG_SAFESTACK -g3 -O2 -pedantic -Wall -Wshadow -Werror 
-pipe::(unknown):::::",
-"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):::::",
-"debug-rse","cc:-DTERMIOS -DL_ENDIAN -pipe -O -g -ggdb3 -Wall::(unknown)::BN_LLONG 
${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}",
-"debug-bodo",  "gcc:-DL_ENDIAN -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG 
-DCRYPTO_MDEBUG_ALL -DBIO_PAIR_DEBUG -g -m486 -pedantic -Wshadow 
-Wall::-D_REENTRANT::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}",
-"debug-ulf",   "gcc:-DL_ENDIAN -DREF_CHECK -DCONF_DEBUG -DBN_DEBUG -DBN_CTX_DEBUG 
-DCRYPTO_MDEBUG_ALL -g -O2 -m486 -Wall -Werror -Wshadow 
-pipe::-D_REENTRANT::${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}",
-"debug-steve", "gcc:-DL_ENDIAN -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG 
-DDEBUG_SAFESTACK -DCRYPTO_MDEBUG_ALL -DPEDANTIC -g -O2 -m486 -pedantic -Wall -Werror 
-Wshadow -pipe::-D_REENTRANT::${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}",
-"debug-levitte-linux-elf","gcc:-DUSE_ALLOCATING_PRINT -DRL_DEBUG -DREF_CHECK 
-DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DNO_ASM -DL_ENDIAN -DTERMIO 
-D_POSIX_SOURCE -ggdb -g3 -m486 -pedantic -ansi -Wall -Wshadow -Wid-clash-31 
-pipe::-D_REENTRANT:-ldl:::::::::::dlfcn",
-"dist",                "cc:-O::(unknown):::::",
+"purify",      "purify gcc:-DPURIFY:-g -Wall::(unknown):-lsocket -lnsl::::",
+"debug",       "gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG 
+-DCRYPTO_MDEBUG:-ggdb -g2 -Wformat -Wshadow -Wmissing-prototypes 
+-Wmissing-declarations -Werror::(unknown):-lefence::::",
+"debug-ben",   "gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG 
+-DCRYPTO_MDEBUG -DPEDANTIC -DDEBUG_SAFESTACK:-O2 -pedantic -Wall -Wshadow -Werror 
+-pipe::(unknown):::::",
+"debug-ben-debug",     "gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG 
+-DCRYPTO_MDEBUG -DPEDANTIC -DDEBUG_SAFESTACK:-g3 -O2 -pedantic -Wall -Wshadow -Werror 
+-pipe::(unknown):::::",
+"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):::::",
+"debug-rse","cc:-DTERMIOS -DL_ENDIAN:-pipe -O -g -ggdb3 -Wall::(unknown)::BN_LLONG 
+${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}",
+"debug-bodo",  "gcc:-DL_ENDIAN -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG 
+-DCRYPTO_MDEBUG_ALL -DBIO_PAIR_DEBUG:-g -m486 -pedantic -Wshadow 
+-Wall::-D_REENTRANT::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}",
+"debug-ulf",   "gcc:-DL_ENDIAN -DREF_CHECK -DCONF_DEBUG -DBN_DEBUG -DBN_CTX_DEBUG 
+-DCRYPTO_MDEBUG_ALL:-g -O2 -m486 -Wall -Werror -Wshadow 
+-pipe::-D_REENTRANT::${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}",
+"debug-steve", "gcc:-DL_ENDIAN -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG 
+-DDEBUG_SAFESTACK -DCRYPTO_MDEBUG_ALL -DPEDANTIC:-g -O2 -m486 -pedantic -Wall -Werror 
+-Wshadow -pipe::-D_REENTRANT::${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}",
+"debug-levitte-linux-elf","gcc:-DUSE_ALLOCATING_PRINT -DRL_DEBUG -DREF_CHECK 
+-DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DNO_ASM -DL_ENDIAN -DTERMIO 
+-D_POSIX_SOURCE:-ggdb -g3 -m486 -pedantic -ansi -Wall -Wshadow -Wid-clash-31 
+-pipe::-D_REENTRANT:-ldl:::::::::::dlfcn",
+"dist",                "cc::-O::(unknown):::::",
 
 # Basic configs that should work on any (32 and less bit) box
-"gcc",         "gcc:-O3::(unknown)::BN_LLONG:::",
-"cc",          "cc:-O::(unknown):::::",
+"gcc",         "gcc::-O3::(unknown)::BN_LLONG:::",
+"cc",          "cc::-O::(unknown):::::",
 
 #### Solaris x86 setups
 # -DNO_INLINE_ASM switches off inline assembler. We have to do it
@@ -132,65 +137,65 @@ my %table=(
 # surrounds it with #APP #NO_APP comment pair which (at least Solaris
 # 7_x86) /usr/ccs/bin/as fails to assemble with "Illegal mnemonic"
 # error message.
-"solaris-x86-gcc","gcc:-O3 -fomit-frame-pointer -m486 -Wall -DL_ENDIAN 
-DNO_INLINE_ASM::-D_REENTRANT:-lsocket -lnsl -ldl:BN_LLONG ${x86_gcc_des} 
${x86_gcc_opts}:${x86_sol_asm}:dlfcn:gnu-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"solaris-x86-gcc","gcc:-DL_ENDIAN -DNO_INLINE_ASM:-O3 -fomit-frame-pointer -m486 
+-Wall::-D_REENTRANT:-lsocket -lnsl -ldl:BN_LLONG ${x86_gcc_des} 
+${x86_gcc_opts}:${x86_sol_asm}:dlfcn:gnu-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 
 #### Solaris x86 with Sun C setups
-"solaris-x86-cc","cc:-fast -O -Xa::-D_REENTRANT:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR 
RC4_CHUNK DES_PTR DES_UNROLL 
BF_PTR::::::::::dlfcn:solaris-shared:-KPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"solaris-x86-cc","cc:-Xa:-fast -O::-D_REENTRANT:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR 
+RC4_CHUNK DES_PTR DES_UNROLL 
+BF_PTR::::::::::dlfcn:solaris-shared:-KPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 
 #### SPARC Solaris with GNU C setups
-"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::::::::::dlfcn:gnu-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-"solaris-sparcv8-gcc","gcc:-mv8 -O3 -fomit-frame-pointer -Wall -DB_ENDIAN 
-DBN_DIV2W::-D_REENTRANT:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL 
BF_PTR:asm/sparcv8.o:::::::::dlfcn:gnu-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-"solaris-sparcv9-gcc","gcc:-mcpu=ultrasparc -O3 -fomit-frame-pointer -Wall -DB_ENDIAN 
-DBN_DIV2W -DULTRASPARC::-D_REENTRANT:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK 
DES_UNROLL 
BF_PTR:asm/sparcv8plus.o:::asm/md5-sparcv8plus.o::::::dlfcn:gnu-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"solaris-sparcv7-gcc","gcc:-DB_ENDIAN -DBN_DIV2W:-O3 -fomit-frame-pointer 
+-Wall::-D_REENTRANT:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL 
+BF_PTR::::::::::dlfcn:gnu-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"solaris-sparcv8-gcc","gcc:-DB_ENDIAN -DBN_DIV2W -mv8:-O3 -fomit-frame-pointer 
+-Wall::-D_REENTRANT:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL 
+BF_PTR:asm/sparcv8.o:::::::::dlfcn:gnu-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"solaris-sparcv9-gcc","gcc:-DB_ENDIAN -DBN_DIV2W -DULTRASPARC -mcpu=ultrasparc:-O3 
+-fomit-frame-pointer -Wall::-D_REENTRANT:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR 
+RC4_CHUNK DES_UNROLL 
+BF_PTR:asm/sparcv8plus.o:::asm/md5-sparcv8plus.o::::::dlfcn:gnu-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 # gcc pre-2.8 doesn't understand -mcpu=ultrasparc, so fall down to -mv8
 # but keep the assembler modules.
-"solaris-sparcv9-gcc27","gcc:-mv8 -O3 -fomit-frame-pointer -Wall -DB_ENDIAN 
-DBN_DIV2W -DULTRASPARC::-D_REENTRANT:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK 
DES_UNROLL 
BF_PTR:asm/sparcv8plus-gcc27.o:::asm/md5-sparcv8plus-gcc27.o::::::dlfcn:gnu-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"solaris-sparcv9-gcc27","gcc:-DB_ENDIAN -DBN_DIV2W -DULTRASPARC -mv8:-O3 
+-fomit-frame-pointer -Wall::-D_REENTRANT:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR 
+RC4_CHUNK DES_UNROLL 
+BF_PTR:asm/sparcv8plus-gcc27.o:::asm/md5-sparcv8plus-gcc27.o::::::dlfcn:gnu-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 ####
-"debug-solaris-sparcv8-gcc","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG 
-DCRYPTO_MDEBUG_ALL -O -g -mv8 -Wall -DB_ENDIAN::-D_REENTRANT:-lsocket -lnsl 
-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL 
BF_PTR:asm/sparcv8.o:::::::::dlfcn:gnu-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-"debug-solaris-sparcv9-gcc","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG 
-DCRYPTO_MDEBUG_ALL -O -g -mcpu=ultrasparc -Wall -DB_ENDIAN::-D_REENTRANT:-lsocket 
-lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL 
BF_PTR:asm/sparcv8plus.o:::::::::dlfcn:gnu-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"debug-solaris-sparcv8-gcc","gcc:-DB_ENDIAN -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG 
+-DBN_CTX_DEBUG -DCRYPTO_MDEBUG_ALL -mv8:-O -g -Wall::-D_REENTRANT:-lsocket -lnsl 
+-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL 
+BF_PTR:asm/sparcv8.o:::::::::dlfcn:gnu-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"debug-solaris-sparcv9-gcc","gcc:-DB_ENDIAN -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG 
+-DBN_CTX_DEBUG -DCRYPTO_MDEBUG_ALL -mcpu=ultrasparc:-O -g 
+-Wall::-D_REENTRANT:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL 
+BF_PTR:asm/sparcv8plus.o:::::::::dlfcn:gnu-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 
 #### SPARC Solaris with Sun C setups
 # DO NOT use /xO[34] on sparc with SC3.0.  It is broken, and will not pass the tests
-"solaris-sparc-sc3","cc:-fast -O -Xa -DB_ENDIAN::-D_REENTRANT:-lsocket -lnsl 
-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_UNROLL 
BF_PTR::::::::::dlfcn:solaris-shared:-KPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"solaris-sparc-sc3","cc:-DB_ENDIAN -Xa:-fast -O::-D_REENTRANT:-lsocket -lnsl 
+-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_UNROLL 
+BF_PTR::::::::::dlfcn:solaris-shared:-KPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 # SC4.0 doesn't pass 'make test', upgrade to SC5.0 or SC4.2.
 # SC4.2 is ok, better than gcc even on bn as long as you tell it -xarch=v8
 # SC5.0 note: Compiler common patch 107357-01 or later is required!
-"solaris-sparcv7-cc","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::::::::::dlfcn:solaris-shared:-KPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-"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:asm/sparcv8.o:::::::::dlfcn:solaris-shared:-KPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-"solaris-sparcv9-cc","cc:-xtarget=ultra -xarch=v8plus -xO5 -xstrconst -xdepend -Xa 
-DB_ENDIAN -DBN_DIV2W -DULTRASPARC::-D_REENTRANT:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR 
RC4_CHUNK_LL DES_PTR DES_RISC1 DES_UNROLL 
BF_PTR:asm/sparcv8plus.o:::asm/md5-sparcv8plus.o::::::dlfcn:solaris-shared:-KPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-"solaris64-sparcv9-cc","cc:-xtarget=ultra -xarch=v9 -xO5 -xstrconst -xdepend -Xa 
-DB_ENDIAN -DULTRASPARC::-D_REENTRANT:-lsocket -lnsl -ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR 
RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL 
BF_PTR::::asm/md5-sparcv9.o::::::dlfcn:solaris-shared:-KPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):/usr/ccs/bin/ar
 rs",
+"solaris-sparcv7-cc","cc:-DB_ENDIAN -DBN_DIV2W -Xa -xstrconst:-xO5 
+-xdepend::-D_REENTRANT:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR 
+DES_RISC1 DES_UNROLL 
+BF_PTR::::::::::dlfcn:solaris-shared:-KPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"solaris-sparcv8-cc","cc:-DB_ENDIAN -DBN_DIV2W -xarch=v8 -Xa -xstrconst:-xO5 
+-xdepend::-D_REENTRANT:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR 
+DES_RISC1 DES_UNROLL 
+BF_PTR:asm/sparcv8.o:::::::::dlfcn:solaris-shared:-KPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"solaris-sparcv9-cc","cc:-DB_ENDIAN -DBN_DIV2W -DULTRASPARC -xtarget=ultra 
+-xarch=v8plus -Xa -xstrconst:-xO5 -xdepend::-D_REENTRANT:-lsocket -lnsl -ldl:BN_LLONG 
+RC4_CHAR RC4_CHUNK_LL DES_PTR DES_RISC1 DES_UNROLL 
+BF_PTR:asm/sparcv8plus.o:::asm/md5-sparcv8plus.o::::::dlfcn:solaris-shared:-KPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"solaris64-sparcv9-cc","cc:-DB_ENDIAN -DULTRASPARC -xtarget=ultra -xarch=v9 -Xa 
+-xstrconst:-xO5 -xdepend::-D_REENTRANT:-lsocket -lnsl -ldl:SIXTY_FOUR_BIT_LONG 
+RC4_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL 
+BF_PTR::::asm/md5-sparcv9.o::::::dlfcn:solaris-shared:-KPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):/usr/ccs/bin/ar
+ rs",
 ####
-"debug-solaris-sparcv8-cc","cc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG 
-DCRYPTO_MDEBUG_ALL -xarch=v8 -g -O -xstrconst -Xa -DB_ENDIAN 
-DBN_DIV2W::-D_REENTRANT:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR 
DES_RISC1 DES_UNROLL 
BF_PTR:asm/sparcv8.o:::::::::dlfcn:solaris-shared:-KPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-"debug-solaris-sparcv9-cc","cc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG 
-DCRYPTO_MDEBUG_ALL -xtarget=ultra -xarch=v8plus -g -O -xstrconst -Xa -DB_ENDIAN 
-DBN_DIV2W -DULTRASPARC::-D_REENTRANT:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR 
RC4_CHUNK_LL DES_PTR DES_RISC1 DES_UNROLL 
BF_PTR:asm/sparcv8plus.o:::asm/md5-sparcv8plus.o::::::dlfcn:solaris-shared:-KPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"debug-solaris-sparcv8-cc","cc:-DB_ENDIAN -DBN_DIV2W -DBN_DEBUG -DREF_CHECK 
+-DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG_ALL -xarch=v8 -Xa -xstrconst:-g 
+-O::-D_REENTRANT:-lsocket -lnsl -ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_PTR DES_RISC1 
+DES_UNROLL 
+BF_PTR:asm/sparcv8.o:::::::::dlfcn:solaris-shared:-KPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"debug-solaris-sparcv9-cc","cc:-DB_ENDIAN -DBN_DIV2W -DULTRASPARC -DBN_DEBUG 
+-DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG_ALL -xtarget=ultra 
+-xarch=v8plus -Xa -xstrconst:-g -O::-D_REENTRANT:-lsocket -lnsl -ldl:BN_LLONG 
+RC4_CHAR RC4_CHUNK_LL DES_PTR DES_RISC1 DES_UNROLL 
+BF_PTR:asm/sparcv8plus.o:::asm/md5-sparcv8plus.o::::::dlfcn:solaris-shared:-KPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 
 #### SPARC Linux setups
-"linux-sparcv7","gcc:-DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer 
-Wall::-D_REENTRANT::BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR::",
+"linux-sparcv7","gcc:-DB_ENDIAN -DTERMIO:-O3 -fomit-frame-pointer 
+-Wall::-D_REENTRANT::BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR::",
 # Ray Miller <[EMAIL PROTECTED]> has patiently
 # assisted with debugging of following two configs.
-"linux-sparcv8","gcc:-mv8 -DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall 
-DBN_DIV2W::-D_REENTRANT::BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL 
BF_PTR:asm/sparcv8.o::::",
+"linux-sparcv8","gcc:-DB_ENDIAN -DTERMIO -DBN_DIV2W -mv8:-O3 -fomit-frame-pointer 
+-Wall::-D_REENTRANT::BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:asm/sparcv8.o::::",
 # it's a real mess with -mcpu=ultrasparc option under Linux, but
 # -Wa,-Av8plus should do the trick no matter what.
-"linux-sparcv9","gcc:-mcpu=ultrasparc -DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer 
-Wall -Wa,-Av8plus -DULTRASPARC -DBN_DIV2W::-D_REENTRANT::BN_LLONG RC4_CHAR RC4_CHUNK 
DES_UNROLL BF_PTR:asm/sparcv8plus.o:::asm/md5-sparcv8plus.o:",
+"linux-sparcv9","gcc:-DB_ENDIAN -DTERMIO -DULTRASPARC -DBN_DIV2W -mcpu=ultrasparc 
+-Wa,-Av8plus:-O3 -fomit-frame-pointer -Wall::-D_REENTRANT::BN_LLONG RC4_CHAR 
+RC4_CHUNK DES_UNROLL BF_PTR:asm/sparcv8plus.o:::asm/md5-sparcv8plus.o:",
 # !!!Folowing can't be even tested yet!!!
 #    We have to wait till 64-bit glibc for SPARC is operational!!!
-#"linux64-sparcv9","sparc64-linux-gcc:-m64 -mcpu=v9 -DB_ENDIAN -DTERMIO -O3 
-fomit-frame-pointer -Wall -DULTRASPARC -DBN_DIV2W::-D_REENTRANT::BN_LLONG RC4_CHAR 
RC4_CHUNK DES_UNROLL BF_PTR::::asm/md5-sparcv9.o:",
+#"linux64-sparcv9","sparc64-linux-gcc:-DB_ENDIAN -DULTRASPARC -DBN_DIV2W -DTERMIO 
+-m64 -mcpu=v9:-O3 -fomit-frame-pointer -Wall::-D_REENTRANT::BN_LLONG RC4_CHAR 
+RC4_CHUNK DES_UNROLL BF_PTR::::asm/md5-sparcv9.o:",
 
 # Sunos configs, assuming sparc for the gcc one.
-##"sunos-cc", "cc:-O4 -DNOPROTO -DNOCONST::(unknown)::DES_UNROLL:::",
-"sunos-gcc","gcc:-O3 -mv8 -Dssize_t=int::(unknown)::BN_LLONG RC4_CHAR RC4_CHUNK 
DES_UNROLL DES_PTR DES_RISC1:::",
+##"sunos-cc", "cc:-DNOPROTO -DNOCONST:-O4::(unknown)::DES_UNROLL:::",
+"sunos-gcc","gcc:-Dssize_t=int -mv8:-O3::(unknown)::BN_LLONG RC4_CHAR RC4_CHUNK 
+DES_UNROLL DES_PTR DES_RISC1:::",
 
 #### IRIX 5.x configs
 # -mips2 flag is added by ./config when appropriate.
-"irix-gcc","gcc:-O3 -DTERMIOS -DB_ENDIAN::(unknown)::BN_LLONG MD2_CHAR RC4_INDEX 
RC4_CHAR RC4_CHUNK DES_UNROLL DES_RISC2 DES_PTR BF_PTR:::",
-"irix-cc", "cc:-O2 -use_readonly_const -DTERMIOS -DB_ENDIAN::(unknown)::BN_LLONG 
RC4_CHAR RC4_CHUNK DES_PTR DES_RISC2 DES_UNROLL BF_PTR:::",
+"irix-gcc","gcc:-DTERMIOS -DB_ENDIAN:-O3::(unknown)::BN_LLONG MD2_CHAR RC4_INDEX 
+RC4_CHAR RC4_CHUNK DES_UNROLL DES_RISC2 DES_PTR BF_PTR:::",
+"irix-cc", "cc:-DTERMIOS -DB_ENDIAN -use_readonly_const:-O2::(unknown)::BN_LLONG 
+RC4_CHAR RC4_CHUNK DES_PTR DES_RISC2 DES_UNROLL BF_PTR:::",
 #### IRIX 6.x configs
 # Only N32 and N64 ABIs are supported. If you need O32 ABI build, invoke
 # './Configure irix-[g]cc' manually.
 # -mips4 flag is added by ./config when appropriate.
-"irix-mips3-gcc","gcc:-mabi=n32 -mmips-as -O3 -DTERMIOS -DB_ENDIAN 
-DBN_DIV3W::-D_SGI_MP_SOURCE::MD2_CHAR RC4_INDEX RC4_CHAR RC4_CHUNK_LL DES_UNROLL 
DES_RISC2 DES_PTR BF_PTR SIXTY_FOUR_BIT:${mips3_irix_asm}",
-"irix-mips3-cc", "cc:-n32 -O2 -use_readonly_const -DTERMIOS -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_irix_asm}",
+"irix-mips3-gcc","gcc:-DTERMIOS -DB_ENDIAN -DBN_DIV3W -mabi=n32 
+-mmips-as:-O3::-D_SGI_MP_SOURCE::MD2_CHAR RC4_INDEX RC4_CHAR RC4_CHUNK_LL DES_UNROLL 
+DES_RISC2 DES_PTR BF_PTR SIXTY_FOUR_BIT:${mips3_irix_asm}",
+"irix-mips3-cc", "cc:-DTERMIOS -DB_ENDIAN -DBN_DIV3W -n32 
+-use_readonly_const:-O2::-D_SGI_MP_SOURCE::DES_PTR RC4_CHAR RC4_CHUNK_LL DES_RISC2 
+DES_UNROLL BF_PTR SIXTY_FOUR_BIT:${mips3_irix_asm}",
 # N64 ABI builds.
-"irix64-mips4-gcc","gcc:-mabi=64 -mips4 -mmips-as -O3 -DTERMIOS -DB_ENDIAN 
-DBN_DIV3W::-D_SGI_MP_SOURCE::RC4_CHAR RC4_CHUNK DES_RISC2 DES_UNROLL 
SIXTY_FOUR_BIT_LONG:${mips3_irix_asm}",
-"irix64-mips4-cc", "cc:-64 -mips4 -O2 -use_readonly_const -DTERMIOS -DB_ENDIAN 
-DBN_DIV3W::-D_SGI_MP_SOURCE::RC4_CHAR RC4_CHUNK DES_RISC2 DES_UNROLL 
SIXTY_FOUR_BIT_LONG:${mips3_irix_asm}",
+"irix64-mips4-gcc","gcc:-DTERMIOS -DB_ENDIAN -DBN_DIV3W -mabi=64 -mips4 
+-mmips-as:-O3::-D_SGI_MP_SOURCE::RC4_CHAR RC4_CHUNK DES_RISC2 DES_UNROLL 
+SIXTY_FOUR_BIT_LONG:${mips3_irix_asm}",
+"irix64-mips4-cc", "cc:-DTERMIOS -DB_ENDIAN -DBN_DIV3W -64 -mips4 
+-use_readonly_const:-O2::-D_SGI_MP_SOURCE::RC4_CHAR RC4_CHUNK DES_RISC2 DES_UNROLL 
+SIXTY_FOUR_BIT_LONG:${mips3_irix_asm}",
 
 #### Unified HP-UX ANSI C configs.
 # Special notes:
@@ -220,60 +225,60 @@ my %table=(
 #   crypto/sha/sha_lcl.h.
 #                                      <[EMAIL PROTECTED]>
 #
-#!#"hpux-parisc-cc","cc:-Ae +O3 +ESlit -z -DB_ENDIAN -DBN_DIV2W 
-DMD32_XARRAY:::-ldld:BN_LLONG DES_PTR DES_UNROLL DES_RISC1::::::::::dl",
+#!#"hpux-parisc-cc","cc:-DB_ENDIAN -DBN_DIV2W -DMD32_XARRAY -Ae +ESlit 
+-z:+O3:::-ldld:BN_LLONG DES_PTR DES_UNROLL DES_RISC1::::::::::dl",
 # Since there is mention of this in shlib/hpux10-cc.sh
-"hpux-parisc-cc-o4","cc:-Ae +O4 +ESlit -z -DB_ENDIAN -DBN_DIV2W 
-DMD32_XARRAY:::-ldld:BN_LLONG DES_PTR DES_UNROLL DES_RISC1::::::::::dl",
-"hpux-parisc-gcc","gcc:-O3 -DB_ENDIAN -DBN_DIV2W:::-ldld:BN_LLONG DES_PTR DES_UNROLL 
DES_RISC1::::::::::dl",
-"hpux64-parisc-cc","cc:-Ae +DD64 +O3 +ESlit -z -DB_ENDIAN 
-DMD32_XARRAY::-D_REENTRANT:-ldl:SIXTY_FOUR_BIT_LONG MD2_CHAR RC4_INDEX RC4_CHAR 
DES_UNROLL DES_RISC1 DES_INT::::::::::dlfcn",
+"hpux-parisc-cc-o4","cc:-DB_ENDIAN -DBN_DIV2W -DMD32_XARRAY -Ae +ESlit 
+-z:+O4:::-ldld:BN_LLONG DES_PTR DES_UNROLL DES_RISC1::::::::::dl",
+"hpux-parisc-gcc","gcc:-DB_ENDIAN -DBN_DIV2W:-O3:::-ldld:BN_LLONG DES_PTR DES_UNROLL 
+DES_RISC1::::::::::dl",
+"hpux64-parisc-cc","cc:-DB_ENDIAN -DMD32_XARRAY -Ae +DD64 +ESlit 
+-z:+O3::-D_REENTRANT:-ldl:SIXTY_FOUR_BIT_LONG MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL 
+DES_RISC1 DES_INT::::::::::dlfcn",
 
 # More attempts at unified 10.X and 11.X targets for HP C compiler.
 #
 # Chris Ruemmler <[EMAIL PROTECTED]>
 # Kevin Steves <[EMAIL PROTECTED]>
-"hpux-parisc-cc","cc:+O3 +Optrs_strongly_typed +Olibcalls -Ae +ESlit -DB_ENDIAN 
-DBN_DIV2W -DMD32_XARRAY::-D_REENTRANT:-ldld:MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL 
DES_RISC1 DES_INT::::::::::dl",
-"hpux-parisc2-cc","cc:+DA2.0 +DS2.0 +O3 +Optrs_strongly_typed +Olibcalls -Ae +ESlit 
-DB_ENDIAN -DMD32_XARRAY::-D_REENTRANT:-ldld:SIXTY_FOUR_BIT MD2_CHAR RC4_INDEX 
RC4_CHAR DES_UNROLL DES_RISC1 DES_INT:asm/pa-risc2.o:::::::::dl",
-"hpux64-parisc2-cc","cc:+DD64 +O3 +Optrs_strongly_typed +Olibcalls -Ae +ESlit 
-DB_ENDIAN -DMD32_XARRAY::-D_REENTRANT:-ldl:SIXTY_FOUR_BIT_LONG MD2_CHAR RC4_INDEX 
RC4_CHAR DES_UNROLL DES_RISC1 DES_INT:asm/pa-risc2W.o:::::::::dlfcn",
-"hpux-parisc1_1-cc","cc:+DA1.1 +DS1.1 +O3 +Optrs_strongly_typed +Olibcalls -Ae +ESlit 
-DB_ENDIAN -DMD32_XARRAY::-D_REENTRANT:-ldld:MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL 
DES_RISC1 DES_INT::::::::::dl",
+"hpux-parisc-cc","cc:-DB_ENDIAN -DBN_DIV2W -DMD32_XARRAY -Ae +ESlit:+O3 
++Optrs_strongly_typed +Olibcalls::-D_REENTRANT:-ldld:MD2_CHAR RC4_INDEX RC4_CHAR 
+DES_UNROLL DES_RISC1 DES_INT::::::::::dl",
+"hpux-parisc2-cc","cc:-DB_ENDIAN -DMD32_XARRAY +DA2.0 +DS2.0 -Ae +ESlit:+O3 
++Optrs_strongly_typed +Olibcalls::-D_REENTRANT:-ldld:SIXTY_FOUR_BIT MD2_CHAR 
+RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT:asm/pa-risc2.o:::::::::dl",
+"hpux64-parisc2-cc","cc:-DB_ENDIAN -DMD32_XARRAY +DD64 -Ae +ESlit:+O3 
++Optrs_strongly_typed +Olibcalls::-D_REENTRANT:-ldl:SIXTY_FOUR_BIT_LONG MD2_CHAR 
+RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC1 DES_INT:asm/pa-risc2W.o:::::::::dlfcn",
+"hpux-parisc1_1-cc","cc:-DB_ENDIAN -DMD32_XARRAY +DA1.1 +DS1.1 -Ae +ESlit:+O3 
++Optrs_strongly_typed +Olibcalls::-D_REENTRANT:-ldld:MD2_CHAR RC4_INDEX RC4_CHAR 
+DES_UNROLL DES_RISC1 DES_INT::::::::::dl",
 
 # HPUX 9.X config.
 # Don't use the bundled cc.  It is broken.  Use HP ANSI C if possible, or
 # egcs.  gcc 2.8.1 is also broken.
 
-"hpux-cc",     "cc:-DB_ENDIAN -DBN_DIV2W -DMD32_XARRAY -Ae +ESlit +O3 
-z::(unknown):-ldld:BN_LLONG DES_PTR DES_UNROLL DES_RISC1::::::::::dl",
+"hpux-cc",     "cc:-DB_ENDIAN -DBN_DIV2W -DMD32_XARRAY -Ae +ESlit 
+-z:+O3::(unknown):-ldld:BN_LLONG DES_PTR DES_UNROLL DES_RISC1::::::::::dl",
 # If hpux-cc fails (e.g. during "make test"), try the next one; otherwise,
 # please report your OS and compiler version to the [EMAIL PROTECTED]
 # mailing list.
-"hpux-brokencc",       "cc:-DB_ENDIAN -DBN_DIV2W -Ae +ESlit +O2 
-z::(unknown):-ldld:DES_PTR DES_UNROLL DES_RISC1::::::::::dl",
+"hpux-brokencc",       "cc:-DB_ENDIAN -DBN_DIV2W -Ae +ESlit 
+-z:+O2::(unknown):-ldld:DES_PTR DES_UNROLL DES_RISC1::::::::::dl",
 
-"hpux-gcc",    "gcc:-DB_ENDIAN -DBN_DIV2W -O3::(unknown):-ldld:BN_LLONG DES_PTR 
DES_UNROLL DES_RISC1::::::::::dl",
+"hpux-gcc",    "gcc:-DB_ENDIAN -DBN_DIV2W:-O3::(unknown):-ldld:BN_LLONG DES_PTR 
+DES_UNROLL DES_RISC1::::::::::dl",
 # If hpux-gcc fails, try this one:
-"hpux-brokengcc",      "gcc:-DB_ENDIAN -DBN_DIV2W -O3::(unknown):-ldld:DES_PTR 
DES_UNROLL DES_RISC1::::::::::dl",
+"hpux-brokengcc",      "gcc:-DB_ENDIAN -DBN_DIV2W:-O3::(unknown):-ldld:DES_PTR 
+DES_UNROLL DES_RISC1::::::::::dl",
 
 # HPUX 10.X config.  Supports threads.
-"hpux10-cc",   "cc:-DB_ENDIAN -DBN_DIV2W -DMD32_XARRAY -Ae +ESlit +O3 
-z::-D_REENTRANT:-ldld:BN_LLONG DES_PTR DES_UNROLL DES_RISC1::::::::::dl",
+"hpux10-cc",   "cc:-DB_ENDIAN -DBN_DIV2W -DMD32_XARRAY -Ae +ESlit 
+-z:+O3::-D_REENTRANT:-ldld:BN_LLONG DES_PTR DES_UNROLL DES_RISC1::::::::::dl",
 # If hpux10-cc fails, try this one (if still fails, try deleting BN_LLONG):
-"hpux10-brokencc",     "cc:-DB_ENDIAN -DBN_DIV2W -Ae +ESlit +O2 
-z::-D_REENTRANT:-ldld:BN_LLONG DES_PTR DES_UNROLL DES_RISC1::::::::::dl",
+"hpux10-brokencc",     "cc:-DB_ENDIAN -DBN_DIV2W -Ae +ESlit 
+-z:+O2::-D_REENTRANT:-ldld:BN_LLONG DES_PTR DES_UNROLL DES_RISC1::::::::::dl",
 
-"hpux10-gcc",  "gcc:-DB_ENDIAN -DBN_DIV2W -O3::-D_REENTRANT:-ldld:BN_LLONG DES_PTR 
DES_UNROLL DES_RISC1::::::::::dl",
+"hpux10-gcc",  "gcc:-DB_ENDIAN -DBN_DIV2W:-O3::-D_REENTRANT:-ldld:BN_LLONG DES_PTR 
+DES_UNROLL DES_RISC1::::::::::dl",
 # If hpux10-gcc fails, try this one:
-"hpux10-brokengcc",    "gcc:-DB_ENDIAN -DBN_DIV2W -O3::-D_REENTRANT:-ldld:DES_PTR 
DES_UNROLL DES_RISC1::::::::::dl",
+"hpux10-brokengcc",    "gcc:-DB_ENDIAN -DBN_DIV2W:-O3::-D_REENTRANT:-ldld:DES_PTR 
+DES_UNROLL DES_RISC1::::::::::dl",
 
 # HPUX 11.X from www.globus.org.
 # Only works on PA-RISC 2.0 cpus, and not optimized.  Why?
-#"hpux11-32bit-cc","cc:+DA2.0 -DB_ENDIAN -D_HPUX_SOURCE -Aa -Ae 
+ESlit::-D_REENTRANT::DES_PTR DES_UNROLL DES_RISC1:::",
-#"hpux11-64bit-cc","cc:+DA2.0W -g -D_HPUX_SOURCE -Aa -Ae 
+ESlit::-D_REENTRANT::SIXTY_FOUR_BIT_LONG MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL 
DES_RISC1 DES_INT :::",
+#"hpux11-32bit-cc","cc:-DB_ENDIAN -D_HPUX_SOURCE +DA2.0 -Aa -Ae 
++ESlit:::-D_REENTRANT::DES_PTR DES_UNROLL DES_RISC1:::",
+#"hpux11-64bit-cc","cc:-D_HPUX_SOURCE +DA2.0W -Aa -Ae 
++ESlit:-g::-D_REENTRANT::SIXTY_FOUR_BIT_LONG MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL 
+DES_RISC1 DES_INT :::",
 # Use unified settings above instead.
 
 #### HP MPE/iX http://jazz.external.hp.com/src/openssl/
-"MPE/iX-gcc", "gcc:-D_ENDIAN -DBN_DIV2W -O3 -DMPE -D_POSIX_SOURCE -D_SOCKET_SOURCE 
-I/SYSLOG/PUB::(unknown):-L/SYSLOG/PUB -lsyslog -lsocket -lcurses:BN_LLONG DES_PTR 
DES_UNROLL DES_RISC1:::",
+"MPE/iX-gcc", "gcc:-D_ENDIAN -DBN_DIV2W -DMPE -D_POSIX_SOURCE -D_SOCKET_SOURCE 
+-I/SYSLOG/PUB:-O3::(unknown):-L/SYSLOG/PUB -lsyslog -lsocket -lcurses:BN_LLONG 
+DES_PTR DES_UNROLL DES_RISC1:::",
 
 # Dec Alpha, OSF/1 - the alpha164-cc is the flags for a 21164A with
 # the new compiler
 # For gcc, the following gave a %50 speedup on a 164 over the 'DES_INT' version
-"alpha-gcc","gcc:-O3::(unknown)::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_UNROLL 
DES_RISC1:${alpha_asm}:dlfcn:tru64-shared::.so",
-"alpha-cc", "cc:-std1 -tune host -O4 
-readonly_strings::(unknown)::SIXTY_FOUR_BIT_LONG 
RC4_CHUNK:${alpha_asm}:dlfcn:tru64-shared::.so",
-"alpha164-cc", "cc:-std1 -tune host -fast 
-readonly_strings::(unknown)::SIXTY_FOUR_BIT_LONG 
RC4_CHUNK:${alpha_asm}:dlfcn:tru64-shared::.so",
-"FreeBSD-alpha","gcc:-DTERMIOS -O 
-fomit-frame-pointer::(unknown)::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_PTR 
DES_RISC2::::::::::dlfcn:bsd-gcc-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"alpha-gcc","gcc::-O3::(unknown)::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_UNROLL 
+DES_RISC1:${alpha_asm}:dlfcn:tru64-shared::.so",
+"alpha-cc", "cc:-std1 -readonly_strings:-tune host 
+-O4::(unknown)::SIXTY_FOUR_BIT_LONG RC4_CHUNK:${alpha_asm}:dlfcn:tru64-shared::.so",
+"alpha164-cc", "cc:-std1 -readonly_strings:-tune host 
+-fast::(unknown)::SIXTY_FOUR_BIT_LONG RC4_CHUNK:${alpha_asm}:dlfcn:tru64-shared::.so",
+"FreeBSD-alpha","gcc:-DTERMIOS:-O 
+-fomit-frame-pointer::(unknown)::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_PTR 
+DES_RISC2::::::::::dlfcn:bsd-gcc-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 
 #### Alpha Linux with GNU C and Compaq C setups
 # Special notes:
@@ -288,62 +293,64 @@ my %table=(
 #
 #                                      <[EMAIL PROTECTED]>
 #
-"linux-alpha-gcc","gcc:-O3 -DL_ENDIAN -DTERMIO::-D_REENTRANT:-ldl:SIXTY_FOUR_BIT_LONG 
RC4_CHUNK DES_RISC1 
DES_UNROLL:${alpha_asm}:dlfcn:linux-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-"linux-alpha+bwx-gcc","gcc:-O3 -DL_ENDIAN 
-DTERMIO::-D_REENTRANT:-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_RISC1 
DES_UNROLL:${alpha_asm}:dlfcn:linux-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-"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_asm}",
-"linux-alpha+bwx-ccc","ccc:-fast -readonly_strings -DL_ENDIAN 
-DTERMIO::-D_REENTRANT::SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_PTR 
DES_RISC1 DES_UNROLL:${alpha_asm}",
+"linux-alpha-gcc","gcc:-DL_ENDIAN -DTERMIO:-O3::-D_REENTRANT:-ldl:SIXTY_FOUR_BIT_LONG 
+RC4_CHUNK DES_RISC1 
+DES_UNROLL:${alpha_asm}:dlfcn:linux-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"linux-alpha+bwx-gcc","gcc:-DL_ENDIAN 
+-DTERMIO:-O3::-D_REENTRANT:-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_RISC1 
+DES_UNROLL:${alpha_asm}:dlfcn:linux-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"linux-alpha-ccc","ccc:-DL_ENDIAN -DTERMIO 
+-readonly_strings:-fast::-D_REENTRANT::SIXTY_FOUR_BIT_LONG RC3_CHUNK DES_INT DES_PTR 
+DES_RISC1 DES_UNROLL:${alpha_asm}",
+"linux-alpha+bwx-ccc","ccc:-DL_ENDIAN -DTERMIO 
+-readonly_strings:-fast::-D_REENTRANT::SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT 
+DES_PTR DES_RISC1 DES_UNROLL:${alpha_asm}",
 
 # assembler versions -- currently defunct:
-##"OpenBSD-alpha","gcc:-DTERMIOS -O3 
-fomit-frame-pointer::(unknown):SIXTY_FOUR_BIT_LONG DES_INT DES_PTR 
DES_RISC2:${alpha_asm}",
+##"OpenBSD-alpha","gcc:-DTERMIOS:-O3 
+-fomit-frame-pointer::(unknown):SIXTY_FOUR_BIT_LONG DES_INT DES_PTR 
+DES_RISC2:${alpha_asm}",
 
 # The intel boxes :-), It would be worth seeing if bsdi-gcc can use the
 # bn86-elf.o file file since it is hand tweaked assembler.
-"linux-elf",   "gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -m486 
-Wall::-D_REENTRANT:-ldl:BN_LLONG ${x86_gcc_des} 
${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-"debug-linux-elf","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG 
-DCRYPTO_MDEBUG -DL_ENDIAN -DTERMIO -g -m486 -Wall::-D_REENTRANT:-lefence 
-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn",
-"debug-linux-elf-noefence","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG 
-DCRYPTO_MDEBUG -DL_ENDIAN -DTERMIO -g -m486 -Wall::-D_REENTRANT:-ldl:BN_LLONG 
${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn",
-"linux-aout",  "gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -m486 
-Wall::(unknown)::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_out_asm}",
-"linux-mips",   "gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer 
-Wall::(unknown)::BN_LLONG:::",
-"linux-ppc",    "gcc:-DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer 
-Wall::-D_REENTRANT::BN_LLONG::",
-"linux-m68k",   "gcc:-DB_ENDIAN -DTERMIO -O2 -fomit-frame-pointer 
-Wall::-D_REENTRANT::BN_LLONG::",
-"linux-s390",  "gcc:-DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer 
-Wall::-D_REENTRANT::BN_LLONG::",
-"linux-ia64",   "gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer 
-Wall::(unknown)::SIXTY_FOUR_BIT_LONG::",
-"NetBSD-sparc",        "gcc:-DTERMIOS -O3 -fomit-frame-pointer -mv8 -Wall 
-DB_ENDIAN::(unknown)::BN_LLONG MD2_CHAR RC4_INDEX 
DES_UNROLL::::::::::dlfcn:bsd-gcc-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-"NetBSD-m68",  "gcc:-DTERMIOS -O3 -fomit-frame-pointer -Wall 
-DB_ENDIAN::(unknown)::BN_LLONG MD2_CHAR RC4_INDEX 
DES_UNROLL::::::::::dlfcn:bsd-gcc-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-"NetBSD-x86",  "gcc:-DTERMIOS -O3 -fomit-frame-pointer -m486 
-Wall::(unknown)::BN_LLONG ${x86_gcc_des} 
${x86_gcc_opts}::::::::::dlfcn:bsd-gcc-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-"FreeBSD-elf",  "gcc:-DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O3 -m486 
-Wall::(unknown)::BN_LLONG ${x86_gcc_des} 
${x86_gcc_opts}:${x86_elf_asm}:dlfcn:bsd-gcc-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-"FreeBSD",      "gcc:-DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O3 -m486 
-Wall::(unknown)::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_out_asm}",
-"bsdi-gcc",     "gcc:-O3 -ffast-math -DL_ENDIAN -DPERL5 -m486::(unknown)::RSA_LLONG 
${x86_gcc_des} ${x86_gcc_opts}:${x86_bsdi_asm}",
-"bsdi-elf-gcc",     "gcc:-DPERL5 -DL_ENDIAN -fomit-frame-pointer -O3 -m486 
-Wall::(unknown):-ldl:BN_LLONG ${x86_gcc_des} 
${x86_gcc_opts}:${x86_elf_asm}:dlfcn:bsd-gcc-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-"nextstep",    "cc:-O -Wall:<libc.h>:(unknown)::BN_LLONG ${x86_gcc_des} 
${x86_gcc_opts}:::",
-"nextstep3.3", "cc:-O3 -Wall:<libc.h>:(unknown)::BN_LLONG ${x86_gcc_des} 
${x86_gcc_opts}:::",
+"linux-elf",   "gcc:-DL_ENDIAN -DTERMIO:-O3 -fomit-frame-pointer -m486 
+-Wall::-D_REENTRANT:-ldl:BN_LLONG ${x86_gcc_des} 
+${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"linux-i386",  "gcc:-DL_ENDIAN -DTERMIO:-O3 -fomit-frame-pointer -m486 
+-Wall::-D_REENTRANT:-ldl:BN_LLONG ${x86_gcc_des} 
+${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"debug-linux-elf","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG 
+-DCRYPTO_MDEBUG -DL_ENDIAN -DTERMIO:-g -m486 -Wall::-D_REENTRANT:-lefence 
+-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn",
+"debug-linux-elf-noefence","gcc:-DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG 
+-DCRYPTO_MDEBUG -DL_ENDIAN -DTERMIO:-g -m486 -Wall::-D_REENTRANT:-ldl:BN_LLONG 
+${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn",
+"linux-aout",  "gcc:-DL_ENDIAN -DTERMIO:-O3 -fomit-frame-pointer -m486 
+-Wall::(unknown)::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_out_asm}",
+"linux-mips",   "gcc:-DB_ENDIAN -DTERMIO:-O3 -fomit-frame-pointer 
+-Wall::-D_REENTRANT:-ldl:BN_LLONG MD2_CHAR RC4_INDEX RC4_CHAR RC4_CHUNK DES_UNROLL 
+DES_RISC2 DES_PTR::::::::::dlfcn:linux-shared::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"linux-mipsel", "gcc:-DL_ENDIAN -DTERMIO:-O3 -fomit-frame-pointer 
+-Wall::-D_REENTRANT:-ldl:BN_LLONG MD2_CHAR RC4_INDEX RC4_CHAR RC4_CHUNK DES_UNROLL 
+DES_RISC2 DES_PTR::::::::::dlfcn:linux-shared::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"linux-ppc",    "gcc:-DB_ENDIAN -DTERMIO:-O3 -fomit-frame-pointer 
+-Wall::-D_REENTRANT::BN_LLONG::",
+"linux-m68k",   "gcc:-DB_ENDIAN -DTERMIO:-O2 -fomit-frame-pointer 
+-Wall::-D_REENTRANT::BN_LLONG::",
+"linux-s390",  "gcc:-DB_ENDIAN -DTERMIO:-O3 -fomit-frame-pointer 
+-Wall::-D_REENTRANT::BN_LLONG::",
+"linux-ia64",   "gcc:-DL_ENDIAN -DTERMIO:-O3 -fomit-frame-pointer 
+-Wall::(unknown)::SIXTY_FOUR_BIT_LONG::",
+"NetBSD-sparc",        "gcc:-DB_ENDIAN -DTERMIOS -mv8:-O3 -fomit-frame-pointer 
+-Wall::(unknown)::BN_LLONG MD2_CHAR RC4_INDEX 
+DES_UNROLL::::::::::dlfcn:bsd-gcc-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"NetBSD-m68",  "gcc:-DB_ENDIAN -DTERMIOS:-O3 -fomit-frame-pointer 
+-Wall::(unknown)::BN_LLONG MD2_CHAR RC4_INDEX 
+DES_UNROLL::::::::::dlfcn:bsd-gcc-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"NetBSD-x86",  "gcc:-DTERMIOS:-O3 -fomit-frame-pointer -m486 
+-Wall::(unknown)::BN_LLONG ${x86_gcc_des} 
+${x86_gcc_opts}::::::::::dlfcn:bsd-gcc-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"FreeBSD-elf",  "gcc:-DTERMIOS -DL_ENDIAN:-fomit-frame-pointer -O3 -m486 
+-Wall::(unknown)::BN_LLONG ${x86_gcc_des} 
+${x86_gcc_opts}:${x86_elf_asm}:dlfcn:bsd-gcc-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"FreeBSD",      "gcc:-DTERMIOS -DL_ENDIAN:-fomit-frame-pointer -O3 -m486 
+-Wall::(unknown)::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_out_asm}",
+"bsdi-gcc",     "gcc:-DL_ENDIAN -DPERL5:-O3 -ffast-math -m486::(unknown)::RSA_LLONG 
+${x86_gcc_des} ${x86_gcc_opts}:${x86_bsdi_asm}",
+"bsdi-elf-gcc",     "gcc:-DPERL5 -DL_ENDIAN:-fomit-frame-pointer -O3 -m486 
+-Wall::(unknown):-ldl:BN_LLONG ${x86_gcc_des} 
+${x86_gcc_opts}:${x86_elf_asm}:dlfcn:bsd-gcc-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"nextstep",    "cc::-O -Wall:<libc.h>:(unknown)::BN_LLONG ${x86_gcc_des} 
+${x86_gcc_opts}:::",
+"nextstep3.3", "cc::-O3 -Wall:<libc.h>:(unknown)::BN_LLONG ${x86_gcc_des} 
+${x86_gcc_opts}:::",
 # NCR MP-RAS UNIX ver 02.03.01
-"ncr-scde","cc:-O6 -Xa -Hoff=BEHAVED -686 -Hwide -Hiw::(unknown):-lsocket 
-lnsl:${x86_gcc_des} ${x86_gcc_opts}:::",
+"ncr-scde","cc:-Xa -Hoff=BEHAVED -Hwide -Hiw:-O6 -686::(unknown):-lsocket 
+-lnsl:${x86_gcc_des} ${x86_gcc_opts}:::",
 
 # QNX 4
-"qnx4",        "cc:-DL_ENDIAN -DTERMIO::(unknown)::${x86_gcc_des} ${x86_gcc_opts}:",
+"qnx4",        "cc:-DL_ENDIAN -DTERMIO:::(unknown)::${x86_gcc_des} ${x86_gcc_opts}:",
 
 # Linux on ARM
-"linux-elf-arm","gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer 
-Wall::-D_REENTRANT::BN_LLONG::::::::::dlfcn:linux-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"linux-elf-arm","gcc:-DL_ENDIAN -DTERMIO:-O3 -fomit-frame-pointer 
+-Wall::-D_REENTRANT::BN_LLONG::::::::::dlfcn:linux-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 
 # UnixWare 2.0x fails destest with -O
-"unixware-2.0","cc:-DFILIO_H::-Kthread:-lsocket -lnsl -lx:${x86_gcc_des} 
${x86_gcc_opts}:::",
-"unixware-2.0-pentium","cc:-DFILIO_H -Kpentium::-Kthread:-lsocket -lnsl -lx:MD2_CHAR 
RC4_INDEX ${x86_gcc_des}::",
+"unixware-2.0","cc:-DFILIO_H:::-Kthread:-lsocket -lnsl -lx:${x86_gcc_des} 
+${x86_gcc_opts}:::",
+"unixware-2.0-pentium","cc:-DFILIO_H:-Kpentium::-Kthread:-lsocket -lnsl -lx:MD2_CHAR 
+RC4_INDEX ${x86_gcc_des}::",
 
 # UnixWare 2.1
-"unixware-2.1","cc:-O -DFILIO_H::-Kthread:-lsocket -lnsl -lx:${x86_gcc_des} 
${x86_gcc_opts}:::",
-"unixware-2.1-pentium","cc:-O -DFILIO_H -Kpentium::-Kthread:-lsocket -lnsl 
-lx:MD2_CHAR RC4_INDEX ${x86_gcc_des}::",
-"unixware-2.1-p6","cc:-O -DFILIO_H -Kp6::-Kthread:-lsocket -lnsl -lx:MD2_CHAR 
RC4_INDEX ${x86_gcc_des}::",
+"unixware-2.1","cc:-DFILIO_H:-O::-Kthread:-lsocket -lnsl -lx:${x86_gcc_des} 
+${x86_gcc_opts}:::",
+"unixware-2.1-pentium","cc:-DFILIO_H:-O -Kpentium::-Kthread:-lsocket -lnsl 
+-lx:MD2_CHAR RC4_INDEX ${x86_gcc_des}::",
+"unixware-2.1-p6","cc:-DFILIO_H:-O -Kp6::-Kthread:-lsocket -lnsl -lx:MD2_CHAR 
+RC4_INDEX ${x86_gcc_des}::",
 
 # UnixWare 7
-"unixware-7","cc:-O -DFILIO_H -Kalloca::-Kthread:-lsocket -lnsl:BN_LLONG MD2_CHAR 
RC4_INDEX ${x86_gcc_des}::",
-"unixware-7-pentium","cc:-O -DFILIO_H -Kalloca -Kpentium::-Kthread:-lsocket 
-lnsl:BN_LLONG MD2_CHAR RC4_INDEX ${x86_gcc_des}::",
-"unixware-7-pentium_pro","cc:-O -DFILIO_H -Kalloca -Kpentium_pro::-Kthread:-lsocket 
-lnsl:BN_LLONG MD2_CHAR RC4_INDEX ${x86_gcc_des}::",
+"unixware-7","cc:-DFILIO_H:-O -Kalloca::-Kthread:-lsocket -lnsl:BN_LLONG MD2_CHAR 
+RC4_INDEX ${x86_gcc_des}::",
+"unixware-7-pentium","cc:-DFILIO_H:-O -Kalloca -Kpentium::-Kthread:-lsocket 
+-lnsl:BN_LLONG MD2_CHAR RC4_INDEX ${x86_gcc_des}::",
+"unixware-7-pentium_pro","cc:-DFILIO_H:-O -Kalloca -Kpentium_pro::-Kthread:-lsocket 
+-lnsl:BN_LLONG MD2_CHAR RC4_INDEX ${x86_gcc_des}::",
 
 # IBM's AIX.
-"aix-cc",   "cc:-O -DAIX -DB_ENDIAN -qmaxmem=16384::(unknown)::BN_LLONG RC4_CHAR:::",
-"aix-gcc",  "gcc:-O3 -DAIX -DB_ENDIAN::(unknown)::BN_LLONG RC4_CHAR:::",
-"aix43-cc",   "cc:-O -DAIX -DB_ENDIAN -qmaxmem=16384::(unknown)::BN_LLONG 
RC4_CHAR::::::::::dlfcn:",
-"aix43-gcc",  "gcc:-O3 -DAIX -DB_ENDIAN::(unknown)::BN_LLONG 
RC4_CHAR::::::::::dlfcn:",
+"aix-cc",   "cc:-DAIX -DB_ENDIAN -qmaxmem=16384:-O::(unknown)::BN_LLONG RC4_CHAR:::",
+"aix-gcc",  "gcc:-DAIX -DB_ENDIAN:-O3::(unknown)::BN_LLONG RC4_CHAR:::",
+"aix43-cc",   "cc:-DAIX -DB_ENDIAN -qmaxmem=16384:-O::(unknown)::BN_LLONG 
+RC4_CHAR::::::::::dlfcn:",
+"aix43-gcc",  "gcc:-DAIX -DB_ENDIAN:-O3::(unknown)::BN_LLONG 
+RC4_CHAR::::::::::dlfcn:",
 
 #
 # Cray T90 (SDSC)
@@ -356,7 +363,7 @@ my %table=(
 #'Taking the address of a bit field is not allowed. '
 #'An expression with bit field exists as the operand of "sizeof" '
 # (written by Wayne Schroeder <[EMAIL PROTECTED]>)
-"cray-t90-cc", "cc: -DBIT_FIELD_LIMITS -DTERMIOS::(unknown)::SIXTY_FOUR_BIT_LONG 
DES_INT:::",
+"cray-t90-cc", "cc:-DBIT_FIELD_LIMITS -DTERMIOS:::(unknown)::SIXTY_FOUR_BIT_LONG 
+DES_INT:::",
 
 #
 # Cray T3E (Research Center Juelich, [EMAIL PROTECTED])
@@ -366,69 +373,69 @@ my %table=(
 # for some st_addr stuff, and then sizeof and address-of fails
 # I could not use the ams/alpha.o option because the Cray assembler, 'cam'
 # did not like it.
-"cray-t3e", "cc: -DBIT_FIELD_LIMITS -DTERMIOS::(unknown)::SIXTY_FOUR_BIT_LONG 
RC4_CHUNK DES_INT:::",
+"cray-t3e", "cc: -DBIT_FIELD_LIMITS -DTERMIOS:::(unknown)::SIXTY_FOUR_BIT_LONG 
+RC4_CHUNK DES_INT:::",
 
 # DGUX, 88100.
-"dgux-R3-gcc", "gcc:-O3 -fomit-frame-pointer::(unknown)::RC4_INDEX DES_UNROLL:::",
-"dgux-R4-gcc", "gcc:-O3 -fomit-frame-pointer::(unknown):-lnsl -lsocket:RC4_INDEX 
DES_UNROLL:::",
-"dgux-R4-x86-gcc",     "gcc:-O3 -fomit-frame-pointer -DL_ENDIAN::(unknown):-lnsl 
-lsocket:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}",
+"dgux-R3-gcc", "gcc::-O3 -fomit-frame-pointer::(unknown)::RC4_INDEX DES_UNROLL:::",
+"dgux-R4-gcc", "gcc::-O3 -fomit-frame-pointer::(unknown):-lnsl -lsocket:RC4_INDEX 
+DES_UNROLL:::",
+"dgux-R4-x86-gcc",     "gcc:-DL_ENDIAN:-O3 -fomit-frame-pointer::(unknown):-lnsl 
+-lsocket:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}",
 
 # SCO 3 - Tim Rice <[EMAIL PROTECTED]>
-"sco3-gcc",  "gcc:-O3 -fomit-frame-pointer -Dssize_t=int 
-DNO_SYS_UN_H::(unknown):-lsocket:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:::", # the 
SCO assembler doesn't seem to like our assembler files ...
+"sco3-gcc",  "gcc:-Dssize_t=int -DNO_SYS_UN_H:-O3 
+-fomit-frame-pointer::(unknown):-lsocket:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:::", 
+# the SCO assembler doesn't seem to like our assembler files ...
 
 # SCO 5 - Ben Laurie <[EMAIL PROTECTED]> says the -O breaks the
 # SCO cc.
-"sco5-cc",  "cc:::(unknown):-lsocket:${x86_gcc_des} ${x86_gcc_opts}:::", # des 
options?
-"sco5-cc-pentium",  "cc:-Kpentium::(unknown):-lsocket:${x86_gcc_des} 
${x86_gcc_opts}:::", # des options?
-"sco5-gcc",  "gcc:-O3 -fomit-frame-pointer::(unknown):-lsocket:BN_LLONG 
${x86_gcc_des} ${x86_gcc_opts}:::", # the SCO assembler doesn't seem to like our 
assembler files ...
+"sco5-cc",  "cc::::(unknown):-lsocket:${x86_gcc_des} ${x86_gcc_opts}:::", # des 
+options?
+"sco5-cc-pentium",  "cc::-Kpentium::(unknown):-lsocket:${x86_gcc_des} 
+${x86_gcc_opts}:::", # des options?
+"sco5-gcc",  "gcc::-O3 -fomit-frame-pointer::(unknown):-lsocket:BN_LLONG 
+${x86_gcc_des} ${x86_gcc_opts}:::", # the SCO assembler doesn't seem to like our 
+assembler files ...
 
 # Sinix/ReliantUNIX RM400
 # NOTE: The CDS++ Compiler up to V2.0Bsomething has the IRIX_CC_BUG optimizer 
problem. Better use -g  */
-"ReliantUNIX","cc:-KPIC -g -DSNI -DTERMIOS -DB_ENDIAN::-Kthread:-lsocket -lnsl -lc 
-L/usr/ucblib -lucb:BN_LLONG DES_PTR DES_RISC2 DES_UNROLL BF_PTR:::",
-"SINIX","cc:-O -DSNI::(unknown):-lsocket -lnsl -lc -L/usr/ucblib -lucb:RC4_INDEX 
RC4_CHAR:::",
-"SINIX-N","/usr/ucb/cc:-O2 -misaligned::(unknown):-lucb:RC4_INDEX RC4_CHAR:::",
+"ReliantUNIX","cc:-DSNI -DTERMIOS -DB_ENDIAN -KPIC:-g::-Kthread:-lsocket -lnsl -lc 
+-L/usr/ucblib -lucb:BN_LLONG DES_PTR DES_RISC2 DES_UNROLL BF_PTR:::",
+"SINIX","cc:-DSNI:-O::(unknown):-lsocket -lnsl -lc -L/usr/ucblib -lucb:RC4_INDEX 
+RC4_CHAR:::",
+"SINIX-N","/usr/ucb/cc:-misaligned:-O2::(unknown):-lucb:RC4_INDEX RC4_CHAR:::",
 
 # SIEMENS BS2000/OSD: an EBCDIC-based mainframe
-"BS2000-OSD","c89:-O -XLLML -XLLMK -XL -DB_ENDIAN -DTERMIOS 
-DCHARSET_EBCDIC::(unknown):-lsocket -lnsl:THIRTY_TWO_BIT DES_PTR DES_UNROLL MD2_CHAR 
RC4_INDEX RC4_CHAR BF_PTR:::",
+"BS2000-OSD","c89:-DB_ENDIAN -DTERMIOS -DCHARSET_EBCDIC -XLLML -XLLMK 
+-XL:-O::(unknown):-lsocket -lnsl:THIRTY_TWO_BIT DES_PTR DES_UNROLL MD2_CHAR RC4_INDEX 
+RC4_CHAR BF_PTR:::",
 
 # Windows NT, Microsoft Visual C++ 4.0
 
-"VC-NT","cl:::::BN_LLONG RC4_INDEX ${x86_gcc_opts}::::::::::win32",
-"VC-WIN32","cl:::::BN_LLONG RC4_INDEX ${x86_gcc_opts}::::::::::win32",
-"VC-WIN16","cl:::(unknown)::MD2_CHAR DES_UNROLL DES_PTR RC4_INDEX THIRTY_TWO_BIT:::",
-"VC-W31-16","cl:::(unknown)::BN_LLONG MD2_CHAR DES_UNROLL DES_PTR RC4_INDEX 
SIXTEEN_BIT:::",
-"VC-W31-32","cl:::::BN_LLONG MD2_CHAR DES_UNROLL DES_PTR RC4_INDEX THIRTY_TWO_BIT:::",
-"VC-MSDOS","cl:::(unknown)::BN_LLONG MD2_CHAR DES_UNROLL DES_PTR RC4_INDEX 
SIXTEEN_BIT:::",
+"VC-NT","cl::::::BN_LLONG RC4_INDEX ${x86_gcc_opts}::::::::::win32",
+"VC-WIN32","cl::::::BN_LLONG RC4_INDEX ${x86_gcc_opts}::::::::::win32",
+"VC-WIN16","cl::::(unknown)::MD2_CHAR DES_UNROLL DES_PTR RC4_INDEX THIRTY_TWO_BIT:::",
+"VC-W31-16","cl::::(unknown)::BN_LLONG MD2_CHAR DES_UNROLL DES_PTR RC4_INDEX 
+SIXTEEN_BIT:::",
+"VC-W31-32","cl::::::BN_LLONG MD2_CHAR DES_UNROLL DES_PTR RC4_INDEX 
+THIRTY_TWO_BIT:::",
+"VC-MSDOS","cl::::(unknown)::BN_LLONG MD2_CHAR DES_UNROLL DES_PTR RC4_INDEX 
+SIXTEEN_BIT:::",
 
 # Borland C++ 4.5
-"BC-32","bcc32:::::BN_LLONG DES_PTR RC4_INDEX::::::::::win32",
-"BC-16","bcc:::(unknown)::BN_LLONG DES_PTR RC4_INDEX SIXTEEN_BIT:::",
+"BC-32","bcc32::::::BN_LLONG DES_PTR RC4_INDEX::::::::::win32",
+"BC-16","bcc::::(unknown)::BN_LLONG DES_PTR RC4_INDEX SIXTEEN_BIT:::",
 
 # Mingw32
 # (Note: the real CFLAGS for Windows builds are defined by util/mk1mf.pl
 # and its library files in util/pl/*)
-"Mingw32", "gcc:-DL_ENDIAN -fomit-frame-pointer -O3 -m486 -Wall::::BN_LLONG 
${x86_gcc_des} ${x86_gcc_opts}::::::::::win32",
+"Mingw32", "gcc:-DL_ENDIAN:-fomit-frame-pointer -O3 -m486 -Wall::::BN_LLONG 
+${x86_gcc_des} ${x86_gcc_opts}::::::::::win32",
 
 # CygWin32
-"CygWin32", "gcc:-DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O3 -m486 
-Wall::::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}::::::::::win32",
+"CygWin32", "gcc:-DTERMIOS -DL_ENDIAN:-fomit-frame-pointer -O3 -m486 
+-Wall::::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}::::::::::win32",
 
 # Ultrix from Bernhard Simon <[EMAIL PROTECTED]>
-"ultrix-cc","cc:-std1 -O -Olimit 1000 -DL_ENDIAN::(unknown)::::::",
-"ultrix-gcc","gcc:-O3 -DL_ENDIAN::(unknown)::::::",
+"ultrix-cc","cc:-DL_ENDIAN -std1 -Olimit 1000:-O::(unknown)::::::",
+"ultrix-gcc","gcc:-DL_ENDIAN:-O3::(unknown)::::::",
 # K&R C is no longer supported; you need gcc on old Ultrix installations
-##"ultrix","cc:-O2 -DNOPROTO -DNOCONST -DL_ENDIAN::(unknown)::::::",
+##"ultrix","cc:-DNOPROTO -DNOCONST -DL_ENDIAN:-O2::(unknown)::::::",
 
 # Some OpenBSD from Bob Beck <[EMAIL PROTECTED]>
-"OpenBSD-alpha","gcc:-DTERMIOS -O3 
-fomit-frame-pointer::(unknown)::SIXTY_FOUR_BIT_LONG DES_INT DES_PTR 
DES_RISC2::::::::::dlfcn:bsd-gcc-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-"OpenBSD-x86",  "gcc:-DL_ENDIAN -DTERMIOS -O3 -fomit-frame-pointer 
-m486::(unknown)::BN_LLONG ${x86_gcc_des} 
${x86_gcc_opts}:${x86_out_asm}:dlfcn:bsd-gcc-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-"OpenBSD",      "gcc:-DTERMIOS -O3 -fomit-frame-pointer::(unknown)::BN_LLONG RC2_CHAR 
RC4_INDEX 
DES_UNROLL::::::::::dlfcn:bsd-gcc-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
-"OpenBSD-mips","gcc:-O2 -DL_ENDIAN::(unknown):BN_LLONG MD2_CHAR RC4_INDEX RC4_CHAR 
DES_UNROLL DES_RISC2 DES_PTR 
BF_PTR:::::::::::dlfcn:bsd-gcc-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"OpenBSD-alpha","gcc:-DTERMIOS:-O3 
+-fomit-frame-pointer::(unknown)::SIXTY_FOUR_BIT_LONG DES_INT DES_PTR 
+DES_RISC2::::::::::dlfcn:bsd-gcc-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"OpenBSD-x86",  "gcc:-DL_ENDIAN -DTERMIOS:-O3 -fomit-frame-pointer 
+-m486::(unknown)::BN_LLONG ${x86_gcc_des} 
+${x86_gcc_opts}:${x86_out_asm}:dlfcn:bsd-gcc-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"OpenBSD",      "gcc:-DTERMIOS:-O3 -fomit-frame-pointer::(unknown)::BN_LLONG RC2_CHAR 
+RC4_INDEX 
+DES_UNROLL::::::::::dlfcn:bsd-gcc-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
+"OpenBSD-mips","gcc:-DL_ENDIAN:-O2::(unknown):BN_LLONG MD2_CHAR RC4_INDEX RC4_CHAR 
+DES_UNROLL DES_RISC2 DES_PTR 
+BF_PTR:::::::::::dlfcn:bsd-gcc-shared:-fPIC:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
 
 ##### MacOS X (a.k.a. Rhapsody) setup
-"rhapsody-ppc-cc","cc:-O3 -DB_ENDIAN::(unknown)::BN_LLONG RC4_CHAR RC4_CHUNK 
DES_UNROLL BF_PTR:::",
+"rhapsody-ppc-cc","cc:-DB_ENDIAN:-O3::(unknown)::BN_LLONG RC4_CHAR RC4_CHUNK 
+DES_UNROLL BF_PTR:::",
 
 ##### Sony NEWS-OS 4.x
-"newsos4-gcc","gcc:-O -DB_ENDIAN -DNEWS4::(unknown):-lmld -liberty:BN_LLONG RC4_CHAR 
RC4_CHUNK DES_PTR DES_RISC1 DES_UNROLL BF_PTR::::",
+"newsos4-gcc","gcc:-DB_ENDIAN -DNEWS4:-O::(unknown):-lmld -liberty:BN_LLONG RC4_CHAR 
+RC4_CHUNK DES_PTR DES_RISC1 DES_UNROLL BF_PTR::::",
 
 );
 
@@ -439,6 +446,8 @@ my $prefix="";
 my $openssldir="";
 my $exe_ext="";
 my $install_prefix="";
+my $ov_cc="";
+my $ov_opt_cflags="";
 my $no_threads=0;
 my $no_shared=1;
 my $threads=0;
@@ -595,6 +604,14 @@ PROCESS_ARGS:
                                {
                                $install_prefix=$1;
                                }
+                       elsif (/^--cc=(.*)$/)
+                               {
+                               $ov_cc=$1;
+                               }
+                       elsif (/^--opt.cflags=(.*)$/)
+                               {
+                               $ov_opt_cflags=$1;
+                               }
                        else
                                {
                                print STDERR $usage;
@@ -655,9 +672,11 @@ $openssldir=$prefix . "/" . $openssldir 
 
 print "IsWindows=$IsWindows\n";
 
-(my $cc,my $cflags,my $unistd,my $thread_cflag,my $lflags,my $bn_ops,my $bn_obj,my 
$des_obj,my $bf_obj,
+(my $cc,my $cflags,my $opt_cflags,my $unistd,my $thread_cflag,my $lflags,my 
+$bn_ops,my $bn_obj,my $des_obj,my $bf_obj,
  $md5_obj,$sha1_obj,my $cast_obj,my $rc4_obj,$rmd160_obj,my $rc5_obj,my 
$dso_scheme,my $shared_target,my $shared_cflag,my $shared_extension,my $ranlib)=
        split(/\s*:\s*/,$table{$target} . ":" x 30 , -1);
+$cc="$ov_cc" if ($ov_cc ne "");
+$opt_cflags="$ov_opt_cflags" if ($ov_opt_cflags ne "");
 $cflags="$flags$cflags" if ($flags ne "");
 
 # The DSO code currently always implements all functions so that no
@@ -782,6 +801,8 @@ if ($rmd160_obj =~ /\.o$/)
        $cflags.=" -DRMD160_ASM";
        }
 
+$cflags="$cflags $opt_cflags";
+
 my $version = "unknown";
 my $major = "unknown";
 my $minor = "unknown";
@@ -1145,8 +1166,8 @@ sub print_table_entry
        {
        my $target = shift;
 
-       (my $cc,my $cflags,my $unistd,my $thread_cflag,my $lflags,my $bn_ops,
-       my $bn_obj,my $des_obj,my $bf_obj,
+       (my $cc,my $cflags,my $opt_cflags,my $unistd,my $thread_cflag,
+       my $lflags,my $bn_ops,my $bn_obj,my $des_obj,my $bf_obj,
        my $md5_obj,my $sha1_obj,my $cast_obj,my $rc4_obj,my $rmd160_obj,
        my $rc5_obj,my $dso_scheme,my $shared_target,my $shared_cflag,
        my $shared_extension,my $ranlib)=
@@ -1157,6 +1178,7 @@ sub print_table_entry
 *** $target
 \$cc           = $cc
 \$cflags       = $cflags
+\$opt_cflags   = $opt_cflags
 \$unistd       = $unistd
 \$thread_cflag = $thread_cflag
 \$lflags       = $lflags



______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [EMAIL PROTECTED]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to