Harmonize do_rehash_rule with updated test/recipies/25-test_verify.t.
[openssl.git] / util / pl / unix.pl
index b8e1ff7d9e6dc89dbccdf368d5a8b25f7aa6996a..c1fa1ffb8854e0535a19964cae86a77f6becb9a0 100644 (file)
@@ -26,6 +26,7 @@ else
                { $cflags="-O"; }
        }
 $obj='.o';
+$asm_suffix='.s';
 $ofile='-o ';
 
 # EXE linking stuff
@@ -58,7 +59,6 @@ $bf_enc_src="";
          'x86_64-mont' => 'crypto/bn',
          'x86_64-mont5' => 'crypto/bn',
          'x86_64-gf2m' => 'crypto/bn',
-         'modexp512-x86_64' => 'crypto/bn',
          'aes-x86_64' => 'crypto/aes',
          'vpaes-x86_64' => 'crypto/aes',
          'bsaes-x86_64' => 'crypto/aes',
@@ -69,6 +69,16 @@ $bf_enc_src="";
          'rc4-x86_64' => 'crypto/rc4',
          'rc4-md5-x86_64' => 'crypto/rc4',
          'ghash-x86_64' => 'crypto/modes',
+         'aesni-gcm-x86_64' => 'crypto/modes',
+         'aesni-sha256-x86_64' => 'crypto/aes',
+          'rsaz-x86_64' => 'crypto/bn',
+          'rsaz-avx2' => 'crypto/bn',
+         'aesni-mb-x86_64' => 'crypto/aes',
+         'sha1-mb-x86_64' => 'crypto/sha',
+         'sha256-mb-x86_64' => 'crypto/sha',
+         'ecp_nistz256-x86_64' => 'crypto/ec',
+         'wp-x86_64' => 'crypto/whrlpool',
+         'cmll-x86_64' => 'crypto/camellia',
          );
 
 # If I were feeling more clever, these could probably be extracted
@@ -79,6 +89,9 @@ sub platform_perlasm_compile_target
 
        for $p (keys %perl1)
                {
+# FIXME: export CC so rsaz-avx2 can test for it, since BSD make does
+# not export variables, unlike GNU make. But this also requires fixing
+# the .s.o rule to use CC!
                if ($target eq "\$(OBJ_D)/$p.o")
                        {
                        return << "EOF";
@@ -127,7 +140,7 @@ sub special_compile_target
                {
                return << "EOF";
 \$(TMP_D)/x86_64-gcc.o:        crypto/bn/asm/x86_64-gcc.c
-       \$(CC) \$(CFLAGS) -c -o \$@ crypto/bn/asm/x86_64-gcc.c
+       \$(CC) \$(LIB_CFLAGS) -c -o \$@ crypto/bn/asm/x86_64-gcc.c
 EOF
                }
        return undef;
@@ -152,7 +165,7 @@ sub do_link_rule
        {
        local($target,$files,$dep_libs,$libs)=@_;
        local($ret,$_);
-       
+
        $file =~ s/\//$o/g if $o ne '/';
        $n=&bname($target);
        $ret.="$target: $files $dep_libs\n";
@@ -173,4 +186,29 @@ sub which
                }
        }
 
+sub do_rehash_rule {
+    my ($target, $deps) = @_;
+    my $ret = <<"EOF";
+$target: $deps
+       (OPENSSL="`pwd`/util/opensslwrap.sh"; \\
+       OPENSSL_DEBUG_MEMORY=on; \\
+       export OPENSSL OPENSSL_DEBUG_MEMORY; \\
+       \$(PERL) tools/c_rehash certs/demo; \\
+       touch $target)
+EOF
+    return $ret
+}
+sub do_test_rule {
+    my ($target, $deps, $test_cmd) = @_;
+    my $ret = <<"EOF";
+$target: $deps force.$target
+       TOP=. BIN_D=\$(BIN_D) TEST_D=\$(TEST_D) \\
+           PERL=\$(PERL) \$(PERL) test/$test_cmd
+force.$target:
+
+EOF
+    return $ret;
+}
+
+
 1;