BSD/OS 4.x support (bsdi-elf-gcc)
[openssl.git] / Configure
index 390e21e03865ec8b0f33a82c8a0d4c192e84b8e0..da3e103080efb916c73f5cf443c9bba6452e36ac 100755 (executable)
--- a/Configure
+++ b/Configure
@@ -178,6 +178,7 @@ my %table=(
 "FreeBSD",      "gcc:-DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O3 -m486 -Wall:(unknown)::BN_LLONG $x86_gcc_des $x86_gcc_opts:$x86_out_asm",
 "FreeBSD-elf",  "gcc:-DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O3 -m486 -Wall:(unknown)::BN_LLONG $x86_gcc_des $x86_gcc_opts:$x86_elf_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:-O3 -ffast-math -DL_ENDIAN -DPERL5 -m486:(unknown)::RSA_LLONG $x86_gcc_des $x86_gcc_opts:$x86_elf_asm",
 "nextstep",    "cc:-O3 -Wall:(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}:::",
@@ -221,6 +222,7 @@ my %table=(
 # SCO 5 - Ben Laurie <ben@algroup.co.uk> says the -O breaks the
 # SCO cc.
 "sco5-cc",  "cc::(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  */
@@ -366,6 +368,14 @@ foreach (@ARGV)
        $options .= $_ unless $_ eq $target;
 }
 
+if ($target eq "TABLE") {
+       foreach $target (sort keys %table) {
+               print_table_entry($target);
+       }
+       print "\n";
+       exit 0;
+}
+
 &usage if (!defined($table{$target}));
 
 my $IsWindows=scalar grep /^$target$/,@WinTargets;
@@ -650,6 +660,12 @@ if($IsWindows) {
        # Run "make depend" manually if you want to be able to delete
        # the source code files of ciphers you left out.
        &dofile("tools/c_rehash",$openssldir,'^DIR=',   'DIR=%s',);
+       if ( $perl =~ m@^/@) {
+           &dofile("apps/der_chop",$perl,'^#!/', '#!%s');
+       } else {
+           # No path for Perl known ...
+           &dofile("apps/der_chop",'/usr/local/bin/perl','^#!/', '#!%s');
+       }           
 }
 
 my $pwd;
@@ -750,3 +766,32 @@ sub dofile
        rename($f,"$ff.bak") || die "unable to rename $f\n" if -e $f;
        rename("$ff.new",$f) || die "unable to rename $ff.new\n";
        }
+
+sub print_table_entry
+       {
+       my $target = shift;
+
+       (my $cc,my $cflags,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)=
+       split(/\s*:\s*/,$table{$target} . ":" x 20 , -1);
+                       
+       print <<EOF
+
+*** $target
+\$cc           = $cc
+\$cflags       = $cflags
+\$thread_cflag = $thread_cflag
+\$lflags       = $lflags
+\$bn_ops       = $bn_ops
+\$bn_obj       = $bn_obj
+\$des_obj      = $des_obj
+\$bf_obj       = $bf_obj
+\$md5_obj      = $md5_obj
+\$sha1_obj     = $sha1_obj
+\$cast_obj     = $cast_obj
+\$rc4_obj      = $rc4_obj
+\$rmd160_obj   = $rmd160_obj
+\$rc5_obj      = $rc5_obj
+EOF
+       }