This removes all scripts that deal with MINFO as well, since that's only used by mk1mf. Reviewed-by: Andy Polyakov <appro@openssl.org>master
@ -1,67 +0,0 @@ | |||
#!/usr/local/bin/perl | |||
# | |||
# used to generate the file MINFO for use by util/mk1mf.pl | |||
# It is basically a list of all variables from the passed makefile | |||
# | |||
while ($ARGV[0] =~ /^([^\s=]+)\s*=\s*(.*)$/) | |||
{ | |||
$sym{$1} = $2; | |||
shift; | |||
} | |||
$s=""; | |||
while (<>) | |||
{ | |||
s|\R$||; | |||
s/#.*//; | |||
if (/^([^\s=]+)\s*=\s*(.*)$/) | |||
{ | |||
$o=""; | |||
($s,$b)=($1,$2); | |||
for (;;) | |||
{ | |||
if ($b =~ /\\$/) | |||
{ | |||
$b=$`; # Keep what is before the backslash | |||
$o.=$b." "; | |||
$b = "" unless defined($b = <>); | |||
$b =~ s{\R$}{}; | |||
} | |||
else | |||
{ | |||
$o.=$b." "; | |||
last; | |||
} | |||
} | |||
$o =~ s/^\s+//; | |||
$o =~ s/\s+$//; | |||
$o =~ s/\s+/ /g; | |||
$o =~ s/\$[({]([^)}]+)[)}]/$sym{$1}/g; | |||
$sym{$s}=$o if !exists $sym{$s}; | |||
} | |||
} | |||
($pwd=`pwd`) =~ s{\R$}{}; | |||
if ($sym{'TOP'} eq ".") | |||
{ | |||
$n=0; | |||
$dir="."; | |||
} | |||
else { | |||
$n=split(/\//,$sym{'TOP'}); | |||
@_=split(/\//,$pwd); | |||
$z=$#_-$n+1; | |||
foreach $i ($z .. $#_) { $dir.=$_[$i]."/"; } | |||
chop($dir); # Remove the last slash | |||
} | |||
print "RELATIVE_DIRECTORY=$dir\n"; | |||
foreach (sort keys %sym) | |||
{ | |||
print "$_=$sym{$_}\n"; | |||
} | |||
print "RELATIVE_DIRECTORY=\n"; |
@ -1,150 +0,0 @@ | |||
#!/usr/local/bin/perl | |||
# | |||
# This is a hacked version of files.pl for systems that can't do a 'make files'. | |||
# Do a perl util/mkminfo.pl >MINFO to build MINFO | |||
# Written by Steve Henson 1999. | |||
# List of directories to process | |||
my @dirs = ( | |||
".", | |||
"crypto", | |||
"crypto/md2", | |||
"crypto/md4", | |||
"crypto/md5", | |||
"crypto/sha", | |||
"crypto/mdc2", | |||
"crypto/hmac", | |||
"crypto/ripemd", | |||
"crypto/des", | |||
"crypto/rc2", | |||
"crypto/rc4", | |||
"crypto/rc5", | |||
"crypto/idea", | |||
"crypto/bf", | |||
"crypto/cast", | |||
"crypto/aes", | |||
"crypto/camellia", | |||
"crypto/seed", | |||
"crypto/modes", | |||
"crypto/cmac", | |||
"crypto/bn", | |||
"crypto/rsa", | |||
"crypto/dsa", | |||
"crypto/dso", | |||
"crypto/dh", | |||
"crypto/ec", | |||
"crypto/buffer", | |||
"crypto/bio", | |||
"crypto/stack", | |||
"crypto/lhash", | |||
"crypto/rand", | |||
"crypto/err", | |||
"crypto/objects", | |||
"crypto/evp", | |||
"crypto/asn1", | |||
"crypto/pem", | |||
"crypto/x509", | |||
"crypto/x509v3", | |||
"crypto/cms", | |||
"crypto/conf", | |||
"crypto/txt_db", | |||
"crypto/pkcs7", | |||
"crypto/pkcs12", | |||
"crypto/comp", | |||
"crypto/engine", | |||
"crypto/ocsp", | |||
"crypto/ui", | |||
#"crypto/store", | |||
"crypto/whrlpool", | |||
"crypto/ts", | |||
"crypto/srp", | |||
"crypto/ct", | |||
"crypto/async", | |||
"crypto/chacha", | |||
"crypto/poly1305", | |||
"crypto/blake2", | |||
"crypto/kdf", | |||
"ssl", | |||
"apps", | |||
"engines", | |||
"test", | |||
"tools" | |||
); | |||
%top; | |||
my $fipscanisteronly = 0; | |||
foreach (@dirs) { | |||
next if ($fipscanisteronly && !(-d $_)); | |||
&files_dir ($_, "Makefile"); | |||
} | |||
exit(0); | |||
sub files_dir | |||
{ | |||
my ($dir, $makefile) = @_; | |||
my %sym; | |||
open (IN, "$dir/$makefile") || die "Can't open $dir/$makefile"; | |||
my $s=""; | |||
while (<IN>) | |||
{ | |||
s|\R$||; | |||
s/#.*//; | |||
if (/^([^\s=]+)\s*=\s*(.*)$/) | |||
{ | |||
$o=""; | |||
($s,$b)=($1,$2); | |||
for (;;) | |||
{ | |||
if ($b =~ /\\$/) | |||
{ | |||
$b=$`; | |||
$o.=$b." "; | |||
$b = "" unless defined($b = <IN>); | |||
$b =~ s{\R$}{}; | |||
} | |||
else | |||
{ | |||
$o.=$b." "; | |||
last; | |||
} | |||
} | |||
$o =~ s/^\s+//; | |||
$o =~ s/\s+$//; | |||
$o =~ s/\s+/ /g; | |||
$o =~ s/\$[({]([^)}]+)[)}]/$top{$1} or $sym{$1}/ge; | |||
$sym{$s}=($top{$s} or $o); | |||
} | |||
} | |||
print "RELATIVE_DIRECTORY=$dir\n"; | |||
foreach (sort keys %sym) | |||
{ | |||
print "$_=$sym{$_}\n"; | |||
} | |||
if ($dir eq "." && defined($sym{"BUILDENV"})) | |||
{ | |||
foreach (split(' ',$sym{"BUILDENV"})) | |||
{ | |||
/^(.+)=/; | |||
$top{$1}=$sym{$1}; | |||
} | |||
} | |||
print "RELATIVE_DIRECTORY=\n"; | |||
close (IN); | |||
if ($dir eq "." && $sym{FIPSCANISTERONLY} eq "y") | |||
{ | |||
$fipscanisteronly = 1; | |||
} | |||
} |
@ -1,104 +0,0 @@ | |||
#!/usr/local/bin/perl | |||
# | |||
# Mingw32.pl -- Mingw | |||
# | |||
$o='/'; | |||
$cp='cp'; | |||
$rm='rm -f'; | |||
$mkdir='gmkdir'; | |||
$o='\\'; | |||
$cp='copy'; | |||
$rm='del'; | |||
$mkdir='mkdir'; | |||
# C compiler stuff | |||
$cc='gcc'; | |||
if ($debug) | |||
{ $cflags="-DL_ENDIAN -DDSO_WIN32 -g2 -ggdb"; } | |||
else | |||
{ $cflags="-DL_ENDIAN -DDSO_WIN32 -fomit-frame-pointer -O3 -mcpu=i486 -Wall"; } | |||
if ($gaswin and !$no_asm) | |||
{ | |||
$bn_asm_obj='$(OBJ_D)\bn-win32.o'; | |||
$bn_asm_src='crypto/bn/asm/bn-win32.s'; | |||
$bnco_asm_obj='$(OBJ_D)\co-win32.o'; | |||
$bnco_asm_src='crypto/bn/asm/co-win32.s'; | |||
$des_enc_obj='$(OBJ_D)\d-win32.o $(OBJ_D)\y-win32.o'; | |||
$des_enc_src='crypto/des/asm/d-win32.s crypto/des/asm/y-win32.s'; | |||
$bf_enc_obj='$(OBJ_D)\b-win32.o'; | |||
$bf_enc_src='crypto/bf/asm/b-win32.s'; | |||
# $cast_enc_obj='$(OBJ_D)\c-win32.o'; | |||
# $cast_enc_src='crypto/cast/asm/c-win32.s'; | |||
$rc4_enc_obj='$(OBJ_D)\r4-win32.o'; | |||
$rc4_enc_src='crypto/rc4/asm/r4-win32.s'; | |||
$rc5_enc_obj='$(OBJ_D)\r5-win32.o'; | |||
$rc5_enc_src='crypto/rc5/asm/r5-win32.s'; | |||
$md5_asm_obj='$(OBJ_D)\m5-win32.o'; | |||
$md5_asm_src='crypto/md5/asm/m5-win32.s'; | |||
$rmd160_asm_obj='$(OBJ_D)\rm-win32.o'; | |||
$rmd160_asm_src='crypto/ripemd/asm/rm-win32.s'; | |||
$sha1_asm_obj='$(OBJ_D)\s1-win32.o'; | |||
$sha1_asm_src='crypto/sha/asm/s1-win32.s'; | |||
$cflags.=" -DBN_ASM -DMD5_ASM -DSHA1_ASM -DOPENSSL_BN_ASM_PART_WORDS"; | |||
} | |||
$obj='.o'; | |||
$ofile='-o '; | |||
# EXE linking stuff | |||
$link='${CC}'; | |||
$lflags='${CFLAGS}'; | |||
$efile='-o '; | |||
$exep=''; | |||
$ex_libs="-lws2_32 -lgdi32"; | |||
# static library stuff | |||
$mklib='ar r'; | |||
$mlflags=''; | |||
$ranlib='ranlib'; | |||
$plib='lib'; | |||
$libp=".a"; | |||
$shlibp=".a"; | |||
$lfile=''; | |||
$asm='as'; | |||
$afile='-o '; | |||
#$bn_asm_obj=""; | |||
#$bn_asm_src=""; | |||
#$des_enc_obj=""; | |||
#$des_enc_src=""; | |||
#$bf_enc_obj=""; | |||
#$bf_enc_src=""; | |||
sub do_lib_rule | |||
{ | |||
local($obj,$target,$name,$shlib)=@_; | |||
local($ret,$_,$Name); | |||
$target =~ s/\//$o/g if $o ne '/'; | |||
$target="$target"; | |||
($Name=$name) =~ tr/a-z/A-Z/; | |||
$ret.="$target: \$(${Name}OBJ)\n"; | |||
$ret.="\tif exist $target \$(RM) $target\n"; | |||
$ret.="\t\$(MKLIB) $target \$(${Name}OBJ)\n"; | |||
$ret.="\t\$(RANLIB) $target\n\n"; | |||
} | |||
sub do_link_rule | |||
{ | |||
local($target,$files,$dep_libs,$libs)=@_; | |||
local($ret,$_); | |||
$file =~ s/\//$o/g if $o ne '/'; | |||
$n=&bname($target); | |||
$ret.="$target: $files $dep_libs\n"; | |||
$ret.="\t\$(LINK_CMD) ${efile}$target \$(LFLAGS) $files $libs\n\n"; | |||
return($ret); | |||
} | |||
1; |
@ -1,104 +0,0 @@ | |||
#!/usr/local/bin/perl | |||
# | |||
# linux.pl - the standard unix makefile stuff. | |||
# | |||
$o='/'; | |||
$cp='/bin/cp'; | |||
$rm='/bin/rm -f'; | |||
# C compiler stuff | |||
$cc='gcc'; | |||
if ($debug) | |||
{ $cflags="-g2 -ggdb -DREF_DEBUG"; } | |||
elsif ($profile) | |||
{ $cflags="-pg -O3"; } | |||
else | |||
{ $cflags="-O3 -fomit-frame-pointer"; } | |||
if (!$no_asm) | |||
{ | |||
$bn_asm_obj='$(OBJ_D)/bn86-elf.o'; | |||
$bn_asm_src='crypto/bn/asm/bn86unix.cpp'; | |||
$bnco_asm_obj='$(OBJ_D)/co86-elf.o'; | |||
$bnco_asm_src='crypto/bn/asm/co86unix.cpp'; | |||
$des_enc_obj='$(OBJ_D)/dx86-elf.o $(OBJ_D)/yx86-elf.o'; | |||
$des_enc_src='crypto/des/asm/dx86unix.cpp crypto/des/asm/yx86unix.cpp'; | |||
$bf_enc_obj='$(OBJ_D)/bx86-elf.o'; | |||
$bf_enc_src='crypto/bf/asm/bx86unix.cpp'; | |||
$cast_enc_obj='$(OBJ_D)/cx86-elf.o'; | |||
$cast_enc_src='crypto/cast/asm/cx86unix.cpp'; | |||
$rc4_enc_obj='$(OBJ_D)/rx86-elf.o'; | |||
$rc4_enc_src='crypto/rc4/asm/rx86unix.cpp'; | |||
$rc5_enc_obj='$(OBJ_D)/r586-elf.o'; | |||
$rc5_enc_src='crypto/rc5/asm/r586unix.cpp'; | |||
$md5_asm_obj='$(OBJ_D)/mx86-elf.o'; | |||
$md5_asm_src='crypto/md5/asm/mx86unix.cpp'; | |||
$rmd160_asm_obj='$(OBJ_D)/rm86-elf.o'; | |||
$rmd160_asm_src='crypto/ripemd/asm/rm86unix.cpp'; | |||
$sha1_asm_obj='$(OBJ_D)/sx86-elf.o'; | |||
$sha1_asm_src='crypto/sha/asm/sx86unix.cpp'; | |||
$cflags.=" -DBN_ASM -DMD5_ASM -DSHA1_ASM -DOPENSSL_BN_ASM_PART_WORDS"; | |||
} | |||
$cflags.=" -DTERMIO -DL_ENDIAN -m486 -Wall"; | |||
if ($shlib) | |||
{ | |||
$shl_cflag=" -DPIC -fpic"; | |||
$shlibp=".so.$ssl_version"; | |||
$so_shlibp=".so"; | |||
} | |||
sub do_shlib_rule | |||
{ | |||
local($obj,$target,$name,$shlib,$so_name)=@_; | |||
local($ret,$_,$Name); | |||
$target =~ s/\//$o/g if $o ne '/'; | |||
($Name=$name) =~ tr/a-z/A-Z/; | |||
$ret.="$target: \$(${Name}OBJ)\n"; | |||
$ret.="\t\$(RM) target\n"; | |||
$ret.="\tgcc \${CFLAGS} -shared -Wl,-soname,$target -o $target \$(${Name}OBJ)\n"; | |||
($t=$target) =~ s/(^.*)\/[^\/]*$/$1/; | |||
if ($so_name ne "") | |||
{ | |||
$ret.="\t\$(RM) \$(LIB_D)$o$so_name\n"; | |||
$ret.="\tln -s $target \$(LIB_D)$o$so_name\n\n"; | |||
} | |||
} | |||
sub do_link_rule | |||
{ | |||
local($target,$files,$dep_libs,$libs)=@_; | |||
local($ret,$_); | |||
$file =~ s/\//$o/g if $o ne '/'; | |||
$n=&bname($target); | |||
$ret.="$target: $files $dep_libs\n"; | |||
$ret.="\t\$(LINK_CMD) ${efile}$target \$(LFLAGS) $files $libs\n\n"; | |||
return($ret); | |||
} | |||
sub do_asm_rule | |||
{ | |||
local($target,$src)=@_; | |||
local($ret,@s,@t,$i); | |||
$target =~ s/\//$o/g if $o ne "/"; | |||
$src =~ s/\//$o/g if $o ne "/"; | |||
@s=split(/\s+/,$src); | |||
@t=split(/\s+/,$target); | |||
for ($i=0; $i<=$#s; $i++) | |||
{ | |||
$ret.="$t[$i]: $s[$i]\n"; | |||
$ret.="\tgcc -E -DELF \$(SRC_D)$o$s[$i]|\$(AS) $afile$t[$i]\n\n"; | |||
} | |||
return($ret); | |||
} | |||
1; |
@ -1,210 +0,0 @@ | |||
#!/usr/local/bin/perl | |||
# | |||
# unix.pl - the standard unix makefile stuff. | |||
# | |||
$o='/'; | |||
$cp='/bin/cp'; | |||
$rm='/bin/rm -f'; | |||
# C compiler stuff | |||
if ($gcc) | |||
{ | |||
$cc='gcc'; | |||
if ($debug) | |||
{ $cflags="-g2 -ggdb"; } | |||
else | |||
{ $cflags="-O3 -fomit-frame-pointer"; } | |||
} | |||
else | |||
{ | |||
$cc='cc'; | |||
if ($debug) | |||
{ $cflags="-g"; } | |||
else | |||
{ $cflags="-O"; } | |||
} | |||
$obj='.o'; | |||
$asm_suffix='.s'; | |||
$ofile='-o '; | |||
# EXE linking stuff | |||
$link='${CC}'; | |||
$lflags='${CFLAG}'; | |||
$efile='-o '; | |||
$exep=''; | |||
$ex_libs=""; | |||
# static library stuff | |||
$mklib='ar r'; | |||
$mlflags=''; | |||
$ranlib=&which("ranlib") or $ranlib="true"; | |||
$plib='lib'; | |||
$libp=".a"; | |||
$shlibp=".a"; | |||
$lfile=''; | |||
$asm='as'; | |||
$afile='-o '; | |||
$bn_asm_obj=""; | |||
$bn_asm_src=""; | |||
$des_enc_obj=""; | |||
$des_enc_src=""; | |||
$bf_enc_obj=""; | |||
$bf_enc_src=""; | |||
%perl1 = ( | |||
'md5-x86_64' => 'crypto/md5', | |||
'x86_64-mont' => 'crypto/bn', | |||
'x86_64-mont5' => 'crypto/bn', | |||
'x86_64-gf2m' => 'crypto/bn', | |||
'aes-x86_64' => 'crypto/aes', | |||
'vpaes-x86_64' => 'crypto/aes', | |||
'bsaes-x86_64' => 'crypto/aes', | |||
'aesni-x86_64' => 'crypto/aes', | |||
'aesni-sha1-x86_64' => 'crypto/aes', | |||
'sha1-x86_64' => 'crypto/sha', | |||
'e_padlock-x86_64' => 'engines', | |||
'rc4-x86_64' => 'crypto/rc4', | |||
'rc4-md5-x86_64' => 'crypto/rc4', | |||
'ghash-x86_64' => 'crypto/modes', | |||
'aesni-gcm-x86_64' => 'crypto/modes', | |||
'aesni-sha256-x86_64' => 'crypto/aes', | |||
'rsaz-x86_64' => 'crypto/bn', | |||
'rsaz-avx2' => 'crypto/bn', | |||
'aesni-mb-x86_64' => 'crypto/aes', | |||
'sha1-mb-x86_64' => 'crypto/sha', | |||
'sha256-mb-x86_64' => 'crypto/sha', | |||
'ecp_nistz256-x86_64' => 'crypto/ec', | |||
'wp-x86_64' => 'crypto/whrlpool', | |||
'cmll-x86_64' => 'crypto/camellia', | |||
); | |||
# If I were feeling more clever, these could probably be extracted | |||
# from makefiles. | |||
sub platform_perlasm_compile_target | |||
{ | |||
local($target, $source, $bname) = @_; | |||
for $p (keys %perl1) | |||
{ | |||
# FIXME: export CC so rsaz-avx2 can test for it, since BSD make does | |||
# not export variables, unlike GNU make. But this also requires fixing | |||
# the .s.o rule to use CC! | |||
if ($target eq "\$(OBJ_D)/$p.o") | |||
{ | |||
return << "EOF"; | |||
\$(TMP_D)/$p.s: $perl1{$p}/asm/$p.pl | |||
\$(PERL) $perl1{$p}/asm/$p.pl \$(PERLASM_SCHEME) \$@ | |||
EOF | |||
} | |||
} | |||
if ($target eq '$(OBJ_D)/x86_64cpuid.o') | |||
{ | |||
return << 'EOF'; | |||
$(TMP_D)/x86_64cpuid.s: crypto/x86_64cpuid.pl | |||
$(PERL) crypto/x86_64cpuid.pl $(PERLASM_SCHEME) $@ | |||
EOF | |||
} | |||
elsif ($target eq '$(OBJ_D)/sha256-x86_64.o') | |||
{ | |||
return << 'EOF'; | |||
$(TMP_D)/sha256-x86_64.s: crypto/sha/asm/sha512-x86_64.pl | |||
$(PERL) crypto/sha/asm/sha512-x86_64.pl $(PERLASM_SCHEME) $@ | |||
EOF | |||
} | |||
elsif ($target eq '$(OBJ_D)/sha512-x86_64.o') | |||
{ | |||
return << 'EOF'; | |||
$(TMP_D)/sha512-x86_64.s: crypto/sha/asm/sha512-x86_64.pl | |||
$(PERL) crypto/sha/asm/sha512-x86_64.pl $(PERLASM_SCHEME) $@ | |||
EOF | |||
} | |||
elsif ($target eq '$(OBJ_D)/sha512-x86_64.o') | |||
{ | |||
return << 'EOF'; | |||
$(TMP_D)/sha512-x86_64.s: crypto/sha/asm/sha512-x86_64.pl | |||
$(PERL) crypto/sha/asm/sha512-x86_64.pl $(PERLASM_SCHEME) $@ | |||
EOF | |||
} | |||
die $target; | |||
} | |||
sub special_compile_target | |||
{ | |||
local($target) = @_; | |||
if ($target eq 'crypto/bn/x86_64-gcc') | |||
{ | |||
return << "EOF"; | |||
\$(TMP_D)/x86_64-gcc.o: crypto/bn/asm/x86_64-gcc.c | |||
\$(CC) \$(LIB_CFLAGS) -c -o \$@ crypto/bn/asm/x86_64-gcc.c | |||
EOF | |||
} | |||
return undef; | |||
} | |||
sub do_lib_rule | |||
{ | |||
local($obj,$target,$name,$shlib)=@_; | |||
local($ret,$_,$Name); | |||
$target =~ s/\//$o/g if $o ne '/'; | |||
$target="$target"; | |||
($Name=$name) =~ tr/a-z/A-Z/; | |||
$ret.="$target: \$(${Name}OBJ)\n"; | |||
$ret.="\t\$(RM) $target\n"; | |||
$ret.="\t\$(MKLIB) $target \$(${Name}OBJ)\n"; | |||
$ret.="\t\$(RANLIB) $target\n\n"; | |||
} | |||
sub do_link_rule | |||
{ | |||
local($target,$files,$dep_libs,$libs)=@_; | |||
local($ret,$_); | |||
$file =~ s/\//$o/g if $o ne '/'; | |||
$n=&bname($target); | |||
$ret.="$target: $files $dep_libs\n"; | |||
$ret.="\t\$(LINK_CMD) ${efile}$target \$(LFLAGS) $files $libs\n\n"; | |||
return($ret); | |||
} | |||
sub which | |||
{ | |||
my ($name)=@_; | |||
my $path; | |||
foreach $path (split /:/, $ENV{PATH}) | |||
{ | |||
if (-x "$path/$name") | |||
{ | |||
return "$path/$name"; | |||
} | |||
} | |||
} | |||
sub do_rehash_rule { | |||
my ($target, $deps) = @_; | |||
my $ret = <<"EOF"; | |||