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 4330edd..4932314 100755 (executable)
@@ -109,7 +109,13 @@ EOF
 }
 
 my $output = shift;
 }
 
 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
 
 $code .= <<EOF;
 .text
index 3855382..41bf3b2 100644 (file)
 # operand.
 
 $output=shift;
 # 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"; }
 
 sub L() { $code.=".byte        ".join(',',@_)."\n"; }
 sub LL(){ $code.=".byte        ".join(',',@_).",".join(',',@_)."\n"; }
index a8049de..18a2867 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
 
 print<<___;
 .text