8308411297
Before this change, variables for which a '=' appeared in the assignment would be parsed as the entire string up until the final '='. For example: BUILD_CMD=shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \ would result in the variable name "BUILD_CMD=shlib_target". This doesn't appear to harm the current generation of MINFO, but creates problems for other Makefile-related work I'm attempting. Change-Id: I1f3a606d67fd5464bb459e8f36c23b3e967b77e1 Signed-off-by: Mike Bland <mbland@acm.org> Signed-off-by: Geoff Thorpe <geoff@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org>
163 lines
2.3 KiB
Perl
Executable file
163 lines
2.3 KiB
Perl
Executable file
#!/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/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",
|
|
"fips",
|
|
"fips/aes",
|
|
"fips/cmac",
|
|
"fips/des",
|
|
"fips/dsa",
|
|
"fips/dh",
|
|
"fips/ecdh",
|
|
"fips/ecdsa",
|
|
"fips/hmac",
|
|
"fips/rand",
|
|
"fips/rsa",
|
|
"fips/utl",
|
|
"fips/sha",
|
|
"ssl",
|
|
"apps",
|
|
"engines",
|
|
"engines/ccgost",
|
|
"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>)
|
|
{
|
|
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);
|
|
if ($dir eq "." && $sym{FIPSCANISTERONLY} eq "y")
|
|
{
|
|
$fipscanisteronly = 1;
|
|
}
|
|
}
|