Asm build portability.
[openssl.git] / util / pl / unix.pl
index b837fefe230b39fba414f57d13b5295b8fd58bff..72d3b441e142cd83ad490931c2a28ce8a9099de5 100644 (file)
@@ -26,6 +26,7 @@ else
                { $cflags="-O"; }
        }
 $obj='.o';
                { $cflags="-O"; }
        }
 $obj='.o';
+$asm_suffix='.s';
 $ofile='-o ';
 
 # EXE linking stuff
 $ofile='-o ';
 
 # EXE linking stuff
@@ -69,6 +70,7 @@ $bf_enc_src="";
          'rc4-x86_64' => 'crypto/rc4',
          'rc4-md5-x86_64' => 'crypto/rc4',
          'ghash-x86_64' => 'crypto/modes',
          'rc4-x86_64' => 'crypto/rc4',
          'rc4-md5-x86_64' => 'crypto/rc4',
          'ghash-x86_64' => 'crypto/modes',
+          'aesni-gcm-x86_64' => 'crypto/modes',
          );
 
 # If I were feeling more clever, these could probably be extracted
          );
 
 # If I were feeling more clever, these could probably be extracted
@@ -241,18 +243,19 @@ sub fixrules
 
 sub copy_scripts
   {
 
 sub copy_scripts
   {
-  my ($src, @targets) = @_;
+  my ($sed, $src, @targets) = @_;
 
   my $s = '';
   foreach my $t (@targets)
     {
     # Copy first so we get file modes...
 
   my $s = '';
   foreach my $t (@targets)
     {
     # Copy first so we get file modes...
-    $s .= "\$(TEST_D)/$t: \$(SRC_D)/$src/$t\n\tcp \$(SRC_D)/$src/$t \$(TEST_D)/$t\n\tsed -e 's/\\.\\.\\/apps/..\\/\$(OUT_D)/' -e 's/\\.\\.\\/util/..\\/\$(TEST_D)/' < \$(SRC_D)/$src/$t > \$(TEST_D)/$t\n\n";
+    $s .= "\$(TEST_D)/$t: \$(SRC_D)/$src/$t\n\tcp \$(SRC_D)/$src/$t \$(TEST_D)/$t\n";
+    $s .= "\tsed -e 's/\\.\\.\\/apps/..\\/\$(OUT_D)/' -e 's/\\.\\.\\/util/..\\/\$(TEST_D)/' < \$(SRC_D)/$src/$t > \$(TEST_D)/$t\n" if $sed;
+    $s .= "\n";
     }
   return $s;
   }
 
     }
   return $s;
   }
 
-
 sub get_tests
   {
   my ($makefile) = @_;
 sub get_tests
   {
   my ($makefile) = @_;
@@ -261,6 +264,7 @@ sub get_tests
   my %targets;
   my %deps;
   my %tests;
   my %targets;
   my %deps;
   my %tests;
+  my %alltests;
   while (my $line = <M>)
     {
     chomp $line;
   while (my $line = <M>)
     {
     chomp $line;
@@ -275,14 +279,15 @@ sub get_tests
       foreach my $t (@t)
        {
        $targets{$t} = '';
       foreach my $t (@t)
        {
        $targets{$t} = '';
+       $alltests{$t} = undef;
         }
       }
 
         }
       }
 
-    if (($line =~ /^(\S+):(.*)$/ && exists $targets{$1})
-       || $line =~ /^(test_ss .*):(.*)/)
+    if (($line =~ /^(?<t>\S+):(?<d>.*)$/ && exists $targets{$1})
+       || $line =~ /^(?<t>test_(ss|gen) .*):(?<d>.*)/)
       {
       {
-      my $t = $1;
-      $deps{$t} = $2;
+      my $t = $+{t};
+      $deps{$t} = $+{d};
       $deps{$t} =~ s/#.*$//;
       for (;;)
        {
       $deps{$t} =~ s/#.*$//;
       for (;;)
        {
@@ -301,10 +306,10 @@ sub get_tests
       }
     }
 
       }
     }
 
-  delete $targets{test_jpake} if $no_jpake;
+  delete $alltests{test_jpake} if $no_jpake;
   delete $targets{test_ige} if $no_ige;
   delete $targets{test_ige} if $no_ige;
-  delete $targets{test_md2} if $no_md2;
-  delete $targets{test_rc5} if $no_rc5;
+  delete $alltests{test_md2} if $no_md2;
+  delete $alltests{test_rc5} if $no_rc5;
 
   my $tests;
   foreach my $t (keys %tests)
 
   my $tests;
   foreach my $t (keys %tests)
@@ -312,22 +317,11 @@ sub get_tests
     $tests .= "$t = $tests{$t}\n";
     }
 
     $tests .= "$t = $tests{$t}\n";
     }
 
-  my $all = 'test:';
   my $each;
   foreach my $t (keys %targets)
     {
     next if $t eq '';
 
   my $each;
   foreach my $t (keys %targets)
     {
     next if $t eq '';
 
-    if ($t =~ /^test_ss/)
-      {
-      $t =~ s/\s+/ \$(TEST_D)\//g;
-      $all .= ' test_ss';
-      }
-    else
-      {
-      $all .= " $t";
-      }
-
     my $d = $deps{$t};
     $d =~ s/\.\.\/apps/\$(BIN_D)/g;
     $d =~ s/\.\.\/util/\$(TEST_D)/g;
     my $d = $deps{$t};
     $d =~ s/\.\.\/apps/\$(BIN_D)/g;
     $d =~ s/\.\.\/util/\$(TEST_D)/g;
@@ -340,12 +334,15 @@ sub get_tests
     $r =~ s/\.\.\/(\S+)/\$(SRC_D)\/$1/g;
     $r = fixrules($r);
 
     $r =~ s/\.\.\/(\S+)/\$(SRC_D)\/$1/g;
     $r = fixrules($r);
 
-    $each .= "$t: test_scripts $d\n$r\n";
+    next if $r eq '';
+
+    $t =~ s/\s+/ \$(TEST_D)\//g;
+
+    $each .= "$t: test_scripts $d\n\t\@echo '$t test started'\n$r\t\@echo '$t test done'\n\n";
     }
 
   # FIXME: Might be a clever way to figure out what needs copying
   my @copies = ( 'bctest',
     }
 
   # FIXME: Might be a clever way to figure out what needs copying
   my @copies = ( 'bctest',
-                'evptests.txt',
                 'testgen',
                 'cms-test.pl',
                 'tx509',
                 'testgen',
                 'cms-test.pl',
                 'tx509',
@@ -369,21 +366,33 @@ sub get_tests
                 'v3-cert1.pem',
                 'v3-cert2.pem',
                 'testreq2.pem',
                 'v3-cert1.pem',
                 'v3-cert2.pem',
                 'testreq2.pem',
+                'testp7.pem',
+                'pkcs7-1.pem',
+                'trsa',
+                'testrsa.pem',
+                'testsid.pem',
+                'testss',
               );
               );
-  my $copies = copy_scripts('test', @copies);
+  my $copies = copy_scripts(1, 'test', @copies);
+  $copies .= copy_scripts(0, 'test', ('smcont.txt'));
 
   my @utils = ( 'shlib_wrap.sh',
                'opensslwrap.sh',
              );
 
   my @utils = ( 'shlib_wrap.sh',
                'opensslwrap.sh',
              );
-  $copies .= copy_scripts('util', @utils);
+  $copies .= copy_scripts(1, 'util', @utils);
 
   my @apps = ( 'CA.sh',
               'openssl.cnf',
             );
 
   my @apps = ( 'CA.sh',
               'openssl.cnf',
             );
-  $copies .= copy_scripts('apps', @apps);
+  $copies .= copy_scripts(1, 'apps', @apps);
 
 
-  $scripts = "test_scripts: \$(TEST_D)/CA.sh \$(TEST_D)/opensslwrap.sh \$(TEST_D)/openssl.cnf ocsp\n";
+  $copies .= copy_scripts(1, 'crypto/evp', ('evptests.txt'));
+
+  $scripts = "test_scripts: \$(TEST_D)/CA.sh \$(TEST_D)/opensslwrap.sh \$(TEST_D)/openssl.cnf \$(TEST_D)/shlib_wrap.sh ocsp smime\n";
   $scripts .= "\nocsp:\n\tcp -R test/ocsp-tests \$(TEST_D)\n";
   $scripts .= "\nocsp:\n\tcp -R test/ocsp-tests \$(TEST_D)\n";
+  $scripts .= "\smime:\n\tcp -R test/smime-certs \$(TEST_D)\n";
+
+  my $all = 'test: ' . join(' ', keys %alltests);
 
   return "$scripts\n$copies\n$tests\n$all\n\n$each";
   }
 
   return "$scripts\n$copies\n$tests\n$all\n\n$each";
   }