diff options
Diffstat (limited to 'openssl/util/mkfiles.pl')
-rwxr-xr-x | openssl/util/mkfiles.pl | 143 |
1 files changed, 143 insertions, 0 deletions
diff --git a/openssl/util/mkfiles.pl b/openssl/util/mkfiles.pl new file mode 100755 index 0000000..7d9a9d5 --- /dev/null +++ b/openssl/util/mkfiles.pl @@ -0,0 +1,143 @@ +#!/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/cmac", +"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/bn", +"crypto/rsa", +"crypto/dsa", +"crypto/dso", +"crypto/dh", +"crypto/ec", +"crypto/ecdh", +"crypto/ecdsa", +"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/jpake", +"crypto/txt_db", +"crypto/pkcs7", +"crypto/pkcs12", +"crypto/comp", +"crypto/engine", +"crypto/ocsp", +"crypto/ui", +"crypto/krb5", +#"crypto/store", +"crypto/pqueue", +"crypto/whrlpool", +"crypto/ts", +"crypto/srp", +"ssl", +"apps", +"engines", +"engines/ccgost", +"test", +"tools" +); + +%top; + +foreach (@dirs) { + &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>) + { + chop; + s/#.*//; + if (/^(\S+)\s*=\s*(.*)$/) + { + $o=""; + ($s,$b)=($1,$2); + for (;;) + { + if ($b =~ /\\$/) + { + chop($b); + $o.=$b." "; + $b=<IN>; + chop($b); + } + 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); +} |