Unified - adapt the generation of chacha assembler to use GENERATE
authorRichard Levitte <levitte@openssl.org>
Mon, 7 Mar 2016 14:46:17 +0000 (15:46 +0100)
committerRichard Levitte <levitte@openssl.org>
Wed, 9 Mar 2016 10:09:26 +0000 (11:09 +0100)
This gets rid of the BEGINRAW..ENDRAW sections in crypto/chacha/build.info.

This also moves the assembler generating perl scripts to take the
output file name as last command line argument, where necessary.

Reviewed-by: Andy Polyakov <appro@openssl.org>
crypto/chacha/Makefile.in
crypto/chacha/asm/chacha-c64xplus.pl
crypto/chacha/asm/chacha-x86.pl
crypto/chacha/build.info

index 33e41d5940d60f1049efe44d96979c87fba3f502..c34224cfc6841180ae472292a23d115038df45f0 100644 (file)
@@ -37,9 +37,9 @@ lib:  $(LIBOBJ)
        @touch lib
 
 chacha-x86.s:          asm/chacha-x86.pl
-       $(PERL) asm/chacha-x86.pl $(PERLASM_SCHEME) $(CFLAGS) $(PROCESSOR) $@
+       $(PERL) asm/chacha-x86.pl $(PERLASM_SCHEME) $(CFLAGS) $(PROCESSOR) $@
 chacha-x86_64.s:       asm/chacha-x86_64.pl
-       $(PERL) asm/chacha-x86_64.pl $(PERLASM_SCHEME) $@
+       $(PERL) asm/chacha-x86_64.pl $(PERLASM_SCHEME) $@
 chacha-ppc.s:  asm/chacha-ppc.pl
        $(PERL) asm/chacha-ppc.pl $(PERLASM_SCHEME) $@
 
index 55854d0b9eb79800780e3045cbe670ad47d3cbc4..b2ea40666f0adaa6dd1f0656c4e17dc133d58c6b 100755 (executable)
@@ -17,6 +17,9 @@
 # dependent on input length. This module on the other hand is free
 # from such limiation.
 
+$output=pop;
+open STDOUT,">$output";
+
 ($OUT,$INP,$LEN,$KEYB,$COUNTERA)=("A4","B4","A6","B6","A8");
 ($KEYA,$COUNTERB,$STEP)=("A7","B7","A3");
 
index 850c9172641d5220850a832e8d56e65bd7829d77..8b9696ff0252a4982cd35b06125e6901ac4455f9 100755 (executable)
@@ -31,6 +31,9 @@ $0 =~ m/(.*[\/\\])[^\/\\]+$/; $dir=$1;
 push(@INC,"${dir}","${dir}../../perlasm");
 require "x86asm.pl";
 
+$output=pop;
+open STDOUT,">$output";
+
 &asm_init($ARGV[0],"chacha-x86.pl",$ARGV[$#ARGV] eq "386");
 
 $xmm=$ymm=0;
@@ -1130,3 +1133,5 @@ sub XOPROUND {
 }
 
 &asm_finish();
+
+close STDOUT;
index f2db5f0201ef66342a5800370b6d683b5ca8247a..3dd1f747a8688868236a1d7641d449fcb2d73b12 100644 (file)
@@ -1,16 +1,13 @@
 LIBS=../../libcrypto
 SOURCE[../../libcrypto]={- $target{chacha_asm_src} -}
 
+GENERATE[chacha-x86.s]=asm/chacha-x86.pl $(PERLASM_SCHEME) $(CFLAGS) $(PROCESSOR)
+GENERATE[chacha-x86_64.s]=asm/chacha-x86_64.pl $(PERLASM_SCHEME)
+GENERATE[chacha-ppc.s]=asm/chacha-ppc.pl $(PERLASM_SCHEME)
+
 BEGINRAW[Makefile(unix)]
 ##### CHACHA assembler implementations
 
-{- $builddir -}/chacha-x86.s:          {- $sourcedir -}/asm/chacha-x86.pl
-       CC="$(CC)" $(PERL) {- $sourcedir -}/asm/chacha-x86.pl $(PERLASM_SCHEME) $(CFLAGS) $(PROCESSOR) > $@
-{- $builddir -}/chacha-x86_64.s:       {- $sourcedir -}/asm/chacha-x86_64.pl
-       CC="$(CC)" $(PERL) {- $sourcedir -}/asm/chacha-x86_64.pl $(PERLASM_SCHEME) > $@
-{- $builddir -}/chacha-ppc.s:  {- $sourcedir -}/asm/chacha-ppc.pl
-       CC="$(CC)" $(PERL) {- $sourcedir -}/asm/chacha-ppc.pl $(PERLASM_SCHEME) $@
-
 {- $builddir -}/chacha-%.S:    {- $sourcedir -}/asm/chacha-%.pl
        CC="$(CC)" $(PERL) $< $(PERLASM_SCHEME) $@
 ENDRAW[Makefile(unix)]