use saner default parameters for scrypt
[openssl.git] / util / mkfiles.pl
index d8cac3a3b43520ec8e1c5d5382d171ad8ac64669..1e5f84e04965fc137df3b8ef75415008ecc0138b 100755 (executable)
@@ -24,14 +24,16 @@ my @dirs = (
 "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",
@@ -44,6 +46,7 @@ my @dirs = (
 "crypto/pem",
 "crypto/x509",
 "crypto/x509v3",
+"crypto/cms",
 "crypto/conf",
 "crypto/txt_db",
 "crypto/pkcs7",
@@ -52,8 +55,15 @@ my @dirs = (
 "crypto/engine",
 "crypto/ocsp",
 "crypto/ui",
-"crypto/krb5",
-"crypto/store",
+#"crypto/store",
+"crypto/whrlpool",
+"crypto/ts",
+"crypto/srp",
+"crypto/ct",
+"crypto/async",
+"crypto/chacha",
+"crypto/poly1305",
+"crypto/kdf",
 "ssl",
 "apps",
 "engines",
@@ -61,8 +71,13 @@ my @dirs = (
 "tools"
 );
 
+%top;
+
+my $fipscanisteronly = 0;
+
 foreach (@dirs) {
-       &files_dir ($_, "Makefile.ssl");
+       next if ($fipscanisteronly && !(-d $_));
+       &files_dir ($_, "Makefile");
 }
 
 exit(0);
@@ -79,9 +94,9 @@ my $s="";
 
 while (<IN>)
        {
-       chop;
+       s|\R$||;
        s/#.*//;
-       if (/^(\S+)\s*=\s*(.*)$/)
+       if (/^([^\s=]+)\s*=\s*(.*)$/)
                {
                $o="";
                ($s,$b)=($1,$2);
@@ -89,10 +104,10 @@ while (<IN>)
                        {
                        if ($b =~ /\\$/)
                                {
-                               chop($b);
+                               $b=$`;
                                $o.=$b." ";
-                               $b=<IN>;
-                               chop($b);
+                               $b = "" unless defined($b = <IN>);
+                               $b =~ s{\R$}{};
                                }
                        else
                                {
@@ -104,8 +119,8 @@ while (<IN>)
                $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);
                }
        }
 
@@ -115,7 +130,20 @@ 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;
+       }
 }