"linux-elf", "gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -m486 -Wall -Wuninitialized::BN_LLONG $x86_gcc_des $x86_gcc_opts:$x86_elf_asm",
"debug-linux-elf","gcc:-DREF_CHECK -DCRYPTO_MDEBUG -DL_ENDIAN -DTERMIO -g -m486 -Wall:-lefence:BN_LLONG $x86_gcc_des $x86_gcc_opts:$x86_elf_asm",
"linux-aout", "gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -m486 -Wall::BN_LLONG $x86_gcc_des $x86_gcc_opts:$x86_out_asm",
-"linux-mips", "gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall
--Wuninitialized:::BN_LLONG:",
+"linux-mips", "gcc:-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall -Wuninitialized::BN_LLONG:::",
+"linux-ppc", "gcc:-DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall::::",
"NetBSD-sparc", "gcc:-DTERMIOS -O3 -fomit-frame-pointer -mv8 -Wall -DB_ENDIAN::BN_LLONG MD2_CHAR RC4_INDEX DES_UNROLL:::",
"NetBSD-m68", "gcc:-DTERMIOS -O3 -fomit-frame-pointer -Wall -DB_ENDIAN::BN_LLONG MD2_CHAR RC4_INDEX DES_UNROLL:::",
"NetBSD-x86", "gcc:-DTERMIOS -D_ANSI_SOURCE -O3 -fomit-frame-pointer -m486 -Wall::BN_LLONG $x86_gcc_des $x86_gcc_opts:",
# Miscellaneous hacks: this is designed to allow environments where the "one
# makefile" option does not auto build all files.
-# The first six fields are the hard coded versions of the stuff generated by
-# ctx_size for pem.h: that is EVP_ENCODE_CTX_SIZE, EVP_MD_SIZE EVP_MD_CTX_SIZE,
-# EVP_CIPHER_SIZE, EVP_CIPHER_CTX_SIZE and EVP_MAX_MD_SIZE respectively.
+## # The first six fields are the hard coded versions of the stuff generated by
+## # ctx_size for pem.h: that is EVP_ENCODE_CTX_SIZE, EVP_MD_SIZE EVP_MD_CTX_SIZE,
+## # EVP_CIPHER_SIZE, EVP_CIPHER_CTX_SIZE and EVP_MAX_MD_SIZE respectively.
# If the seventh field is 1 then auto generate
# crypto/date.h
# Need to add Win16 and others here.
my $md5_obj="";
my $sha1_obj="";
my $rmd160_obj="";
+my $processor="";
+my $ranlib;
+my $perl;
+
+$ranlib=&which("ranlib") or $ranlib="true";
+$perl=&which("perl5") or $perl=&which("perl");
if ($#ARGV < 0)
{
{
if ($_ =~ /^no-asm$/)
{ $no_asm=1; }
+ elsif ($_ =~ /^386$/)
+ { $processor=386; }
+ elsif ($_ =~ /^rsaref$/)
+ {
+ $libs.= "-lRSAglue -lrsaref ";
+ $flags.= "-DRSAref ";
+ }
elsif ($_ =~ /^-/)
{
if ($_ =~ /^-[lL](.*)$/)
s/^MD5_ASM_OBJ=.*$/MD5_ASM_OBJ= $md5_obj/;
s/^SHA1_ASM_OBJ=.*$/SHA1_ASM_OBJ= $sha1_obj/;
s/^RMD160_ASM_OBJ=.*$/RMD160_ASM_OBJ= $rmd160_obj/;
+ s/^PROCESSOR=.*/PROCESSOR= $processor/;
+ s/^RANLIB=.*/RANLIB= $ranlib/;
+ s/^PERL=.*/PERL= $perl/;
print OUT $_."\n";
}
close(IN);
print "MD5_OBJ_ASM =$md5_obj\n";
print "SHA1_OBJ_ASM =$sha1_obj\n";
print "RMD160_OBJ_ASM=$rmd160_obj\n";
+print "PROCESSOR =$processor\n";
+print "RANLIB =$ranlib\n";
+print "PERL =$perl\n";
my $des_ptr=0;
my $des_risc1=0;
$max_md_size, $date_fix) =
split(/\s*:\s*/,$misc_table{$target} . ":", -1);
-#print "EVP_ENCODE_CTX_SIZE $enc_ctx\n";
-#print "EVP_MD_SIZE $md_size\n";
-#print "EVP_MD_CTX_SIZE $md_ctx_size\n";
-#print "EVP_CIPHER_SIZE $cipher_size\n";
-#print "EVP_CIPHER_CTX_SIZE $cipher_ctx_size\n";
-#print "EVP_MAX_MD_SIZE $max_md_size\n";
+## #print "EVP_ENCODE_CTX_SIZE $enc_ctx\n";
+## #print "EVP_MD_SIZE $md_size\n";
+## #print "EVP_MD_CTX_SIZE $md_ctx_size\n";
+## #print "EVP_CIPHER_SIZE $cipher_size\n";
+## #print "EVP_CIPHER_CTX_SIZE $cipher_ctx_size\n";
+## #print "EVP_MAX_MD_SIZE $max_md_size\n";
#printf "Date fix: %s\n", $date_fix ? "Yes" : "No";
# Fix the date
close(OUT);
}
-open (IN, "crypto/pem/pem.org") || die "Can't open crypto/pem/pem.org";
-open (OUT, ">crypto/pem/pem.h") || die "Can't create crypto/pem/pem.h";
-
-# Now fix up pem.h
-while(<IN>) {
- chop;
- s/^(#define EVP_ENCODE_CTX_SIZE).*$/$1 $enc_ctx/;
- s/^(#define EVP_MD_SIZE).*$/$1 $md_size/;
- s/^(#define EVP_MD_CTX_SIZE).*$/$1 $md_ctx_size/;
- s/^(#define EVP_CIPHER_SIZE).*$/$1 $cipher_size/;
- s/^(#define EVP_CIPHER_CTX_SIZE).*$/$1 $cipher_ctx_size/;
- s/^(#define EVP_MAX_MD_SIZE).*$/$1 $max_md_size/;
- print OUT "$_\n";
-}
-
-close (IN);
-close (OUT);
+## open (IN, "crypto/pem/pem.org") || die "Can't open crypto/pem/pem.org";
+## open (OUT, ">crypto/pem/pem.h") || die "Can't create crypto/pem/pem.h";
+##
+## # Now fix up pem.h
+## while(<IN>) {
+## chop;
+## s/^(#define EVP_ENCODE_CTX_SIZE).*$/$1 $enc_ctx/;
+## s/^(#define EVP_MD_SIZE).*$/$1 $md_size/;
+## s/^(#define EVP_MD_CTX_SIZE).*$/$1 $md_ctx_size/;
+## s/^(#define EVP_CIPHER_SIZE).*$/$1 $cipher_size/;
+## s/^(#define EVP_CIPHER_CTX_SIZE).*$/$1 $cipher_ctx_size/;
+## s/^(#define EVP_MAX_MD_SIZE).*$/$1 $max_md_size/;
+## print OUT "$_\n";
+## }
+##
+## close (IN);
+## close (OUT);
}
sub file_new { my($a)=@_; $a =~ s/(\.[^.]+$|$)/.new/; $a; }
sub file_old { my($a)=@_; $a =~ s/(\.[^.]+$|$)/.old/; $a; }
+
+sub which
+ {
+ my($name)=@_;
+ my $path;
+ foreach $path (split /:/, $ENV{PATH})
+ {
+ if (-x "$path/$name")
+ {
+ return "$path/$name" unless ($name eq "perl" and
+ system("$path/$name -e " . '\'exit($]<5.0);\''));
+ }
+ }
+ }
+