exptest dumps core. Optimizer bug?
[openssl.git] / Configure
index 4ea12475d54f28ca1e07593021a65f13d1a38f39..b4f12225b14595ca7d6902bb4e511a80aca2e0d2 100755 (executable)
--- a/Configure
+++ b/Configure
@@ -20,7 +20,7 @@ my $usage="Usage: Configure [-Dxxx] [-lxxx] [-Lxxx] [-fxxx] [-Kxxx] [rsaref] [no
 # rsaref        use RSAref
 # no-asm        do not use assembler
 # 386           generate 80386 code
-# no-CIPHER     build without specified algorithm
+# no-<cipher>   build without specified algorithm (rsa, idea, rc5, ...)
 # -D, -L, -l, -f, -K: compiler options are passed through 
 # 
 # DES_PTR      use pointer lookup vs arrays in the DES in crypto/des/des_locl.h
@@ -106,7 +106,7 @@ my %table=(
 # -fast slows things like DES down quite a lot
 "solaris-sparc-sc4","cc:-xO5 -Xa -DB_ENDIAN:-lsocket -lnsl:\
        BN_LLONG RC4_CHAR DES_PTR DES_RISC1 DES_UNROLL BF_PTR:::",
-"solaris-usparc-sc4","cc:-xtarget=ultra -xarch=v8plus -Xa -xO5 -DB_ENDIAN:\
+"solaris-usparc-sc4","cc:-xtarget=ultra -xarch=v8plus -Xa -xO2 -DB_ENDIAN:\
        -lsocket -lnsl:\
        BN_LLONG RC4_CHAR DES_PTR DES_RISC1 DES_UNROLL BF_PTR:asm/sparcv8.o::",
 #"solaris-sparc-sc4-pic","cc:-xO5 -Xa -DB_ENDIAN -KPIC:-lsocket -lnsl:\
@@ -229,8 +229,8 @@ my %table=(
 "CygWin32", "gcc:-DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O3 -m486 -Wall::BN_LLONG $x86_gcc_des $x86_gcc_opts:",
 
 # Ultrix from Bernhard Simon <simon@zid.tuwien.ac.at>
-"ultrix","cc:-std1 -O -Olimit 1000 -DL_ENDIAN::::::",
-"ultrix-gcc","cc:-O3 -DL_ENDIAN::::::",
+"ultrix-cc","cc:-std1 -O -Olimit 1000 -DL_ENDIAN::::::",
+"ultrix-gcc","gcc:-O3 -DL_ENDIAN::::::",
 # K&R C is no longer supported; you need gcc on old Ultrix installations
 ##"ultrix","cc:-O2 -DNOPROTO -DNOCONST -DL_ENDIAN::::::",
 
@@ -391,6 +391,23 @@ if ($rmd160_obj =~ /\.o$/)
        $cflags.=" -DRMD160_ASM";
        }
 
+my $version = "unknown";
+my $major = "unknown";
+my $minor = "unknown";
+
+open(IN,'<crypto/opensslv.h') || die "unable to read opensslv.h:$!\n";
+while (<IN>)
+       {
+       $version=$1 if /OPENSSL.VERSION.TEXT.*OpenSSL (\S+) /;
+       }
+close(IN);
+
+if ($version =~ /(^[0-9]*)\.([\0-9\.]*)/)
+       {
+       $major=$1;
+       $minor=$2;
+       }
+
 open(IN,'<Makefile.org') || die "unable to read Makefile.org:$!\n";
 open(OUT,">$Makefile") || die "unable to create $Makefile:$!\n";
 my $sdirs=0;
@@ -405,6 +422,9 @@ while (<IN>)
                        s/$dir//;
                        }
                }
+       s/^VERSION=.*/VERSION=$version/;
+       s/^MAJOR=.*/MAJOR=$major/;
+       s/^MINOR=.*/MINOR=$minor/;
        s/^INSTALLTOP=.*$/INSTALLTOP=$installprefix/;
        s/^OPENSSLDIR=.*$/OPENSSLDIR=$openssldir/;
        s/^PLATFORM=.*$/PLATFORM=$target/;
@@ -563,7 +583,11 @@ if($IsWindows) {
        printf OUT "#define DATE \"%s\"\n", scalar gmtime();
        close(OUT);
 } else {
-       (system 'make -f Makefile.ssl links') == 0 or exit $?;
+       if ( $perl =~ /./ ) {
+               (system "make -f Makefile.ssl PERL=\'$perl\' links") == 0 or exit $?;
+       } else {
+               (system 'make -f Makefile.ssl links') == 0 or exit $?;
+       }
        (system 'make depend') == 0 or exit $? if $depflags ne "";
        &dofile("tools/c_rehash",$openssldir,'^DIR=',   'DIR=%s',);
        &dofile("util/mk1mf.pl",$openssldir,