Make all x86_64 modules independent on current working directory.
authorAndy Polyakov <appro@openssl.org>
Sun, 13 Jan 2008 17:42:04 +0000 (17:42 +0000)
committerAndy Polyakov <appro@openssl.org>
Sun, 13 Jan 2008 17:42:04 +0000 (17:42 +0000)
crypto/md5/asm/md5-x86_64.pl
crypto/whrlpool/asm/wp-x86_64.pl
crypto/x86_64cpuid.pl

index 4330eddb1718c5e162612f904b89a91bc2d9b8d0..493231401e994ea699ae91a5facc6afd07ee1d41 100755 (executable)
@@ -109,7 +109,13 @@ EOF
 }
 
 my $output = shift;
-open STDOUT,"| $^X ../perlasm/x86_64-xlate.pl $output";
+
+$0 =~ m/(.*[\/\\])[^\/\\]+$/; my $dir=$1; my $xlate;
+( $xlate="${dir}x86_64-xlate.pl" and -f $xlate ) or
+( $xlate="${dir}../../perlasm/x86_64-xlate.pl" and -f $xlate) or
+die "can't locate x86_64-xlate.pl";
+
+open STDOUT,"| $^X $xlate $output";
 
 $code .= <<EOF;
 .text
index 3855382036bc99b1f923710f5bc45b8dc3e63a5e..41bf3b2025bb2e6f9c8ba13e5bc69c67ab9b65b6 100644 (file)
 # operand.
 
 $output=shift;
-open STDOUT,"| $^X ../perlasm/x86_64-xlate.pl $output";
+
+$0 =~ m/(.*[\/\\])[^\/\\]+$/; my $dir=$1; my $xlate;
+( $xlate="${dir}x86_64-xlate.pl" and -f $xlate ) or
+( $xlate="${dir}../../perlasm/x86_64-xlate.pl" and -f $xlate) or
+die "can't locate x86_64-xlate.pl";
+
+open STDOUT,"| $^X $xlate $output";
 
 sub L() { $code.=".byte        ".join(',',@_)."\n"; }
 sub LL(){ $code.=".byte        ".join(',',@_).",".join(',',@_)."\n"; }
index a8049def1848f541836840406ac193882559e0a4..18a2867036a0b61f89515803e5a954a90f3c6173 100644 (file)
@@ -99,7 +99,9 @@ OPENSSL_wipe_cpu:
 
 ___
 
-open STDOUT,"| $^X perlasm/x86_64-xlate.pl $output";
+$0 =~ m/(.*[\/\\])[^\/\\]+$/; $dir=$1;
+open STDOUT,"| $^X $dir/perlasm/x86_64-xlate.pl $output";
+
 print<<___;
 .text