".",
"crypto",
"crypto/md2",
+"crypto/md4",
"crypto/md5",
"crypto/sha",
"crypto/mdc2",
"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/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/store",
+"crypto/pqueue",
+"crypto/whrlpool",
+"crypto/ts",
+"crypto/srp",
"ssl",
-"rsaref",
"apps",
+"engines",
+"engines/ccgost",
"test",
"tools"
);
+%top;
+
+my $fipscanisteronly = 0;
+
foreach (@dirs) {
- &files_dir ($_, "Makefile.ssl");
+ next if ($fipscanisteronly && !(-d $_));
+ &files_dir ($_, "Makefile");
}
exit(0);
{
chop;
s/#.*//;
- if (/^(\S+)\s*=\s*(.*)$/)
+ if (/^([^\s=]+)\s*=\s*(.*)$/)
{
$o="";
($s,$b)=($1,$2);
$o =~ s/\s+$//;
$o =~ s/\s+/ /g;
- $o =~ s/\$[({]([^)}]+)[)}]/$sym{$1}/g;
- $sym{$s}=$o;
+ $o =~ s/\$[({]([^)}]+)[)}]/$top{$1} or $sym{$1}/ge;
+ $sym{$s}=($top{$s} or $o);
}
}
{
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;
+ }
}