Unified - adapt the generation of rc4 assembler to use GENERATE
authorRichard Levitte <levitte@openssl.org>
Mon, 7 Mar 2016 14:48:49 +0000 (15:48 +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/rc4/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/rc4/Makefile.in
crypto/rc4/asm/rc4-586.pl
crypto/rc4/asm/rc4-ia64.pl
crypto/rc4/build.info

index fe2ef7d..00e39ec 100644 (file)
@@ -39,15 +39,15 @@ lib:        $(LIBOBJ)
        @touch lib
 
 rc4-586.s:     asm/rc4-586.pl ../perlasm/x86asm.pl
-       $(PERL) asm/rc4-586.pl $(PERLASM_SCHEME) $(CFLAGS) $(PROCESSOR) $@
+       $(PERL) asm/rc4-586.pl $(PERLASM_SCHEME) $(CFLAGS) $(PROCESSOR) $@
 
 rc4-x86_64.s: asm/rc4-x86_64.pl
-       $(PERL) asm/rc4-x86_64.pl $(PERLASM_SCHEME) $@
+       $(PERL) asm/rc4-x86_64.pl $(PERLASM_SCHEME) $@
 rc4-md5-x86_64.s:      asm/rc4-md5-x86_64.pl
-       $(PERL) asm/rc4-md5-x86_64.pl $(PERLASM_SCHEME) $@
+       $(PERL) asm/rc4-md5-x86_64.pl $(PERLASM_SCHEME) $@
 
 rc4-ia64.S: asm/rc4-ia64.pl
-       $(PERL) asm/rc4-ia64.pl $(CFLAGS) $@
+       $(PERL) asm/rc4-ia64.pl $(CFLAGS) $@
 
 rc4-parisc.s:  asm/rc4-parisc.pl
        $(PERL) asm/rc4-parisc.pl $(PERLASM_SCHEME) $@
index d04e177..a517adb 100644 (file)
@@ -63,6 +63,9 @@ $0 =~ m/(.*[\/\\])[^\/\\]+$/; $dir=$1;
 push(@INC,"${dir}","${dir}../../perlasm");
 require "x86asm.pl";
 
+$output=pop;
+open STDOUT,">$output";
+
 &asm_init($ARGV[0],"rc4-586.pl",$x86only = $ARGV[$#ARGV] eq "386");
 
 $xx="eax";
@@ -415,3 +418,4 @@ $idx="edx";
 
 &asm_finish();
 
+close STDOUT;
index 49cd5b5..b83e53a 100644 (file)
 #     random input data).
 #
 
+$output = pop;
+open STDOUT,">$output";
+
 $phases = 4;           # number of stages/phases in the pipelined-loop
 $unroll_count = 6;     # number of times we unrolled it
 $pComI = (1 << 0);
@@ -753,3 +756,5 @@ $code.=<<___;
 ___
 
 print $code;
+
+close STDOUT;
index 8d63bab..b682903 100644 (file)
@@ -2,21 +2,17 @@ LIBS=../../libcrypto
 SOURCE[../../libcrypto]=\
         {- $target{rc4_asm_src} -}
 
-BEGINRAW[Makefile]
-{- $builddir -}/rc4-586.s:     {- $sourcedir -}/asm/rc4-586.pl {- $sourcetop -}/crypto/perlasm/x86asm.pl
-       CC="$(CC)" $(PERL) {- $sourcedir -}/asm/rc4-586.pl $(PERLASM_SCHEME) $(CFLAGS) $(PROCESSOR) > $@
+GENERATE[rc4-586.s]=asm/rc4-586.pl $(PERLASM_SCHEME) $(CFLAGS) $(PROCESSOR)
+DEPEND[rc4-586.s]=../perlasm/x86asm.pl
 
-{- $builddir -}/rc4-x86_64.s: {- $sourcedir -}/asm/rc4-x86_64.pl
-       CC="$(CC)" $(PERL) {- $sourcedir -}/asm/rc4-x86_64.pl $(PERLASM_SCHEME) > $@
-{- $builddir -}/rc4-md5-x86_64.s:      {- $sourcedir -}/asm/rc4-md5-x86_64.pl
-       CC="$(CC)" $(PERL) {- $sourcedir -}/asm/rc4-md5-x86_64.pl $(PERLASM_SCHEME) > $@
+GENERATE[rc4-x86_64.s]=asm/rc4-x86_64.pl $(PERLASM_SCHEME)
+GENERATE[rc4-md5-x86_64.s]=asm/rc4-md5-x86_64.pl $(PERLASM_SCHEME)
 
-{- $builddir -}/rc4-ia64.S: {- $sourcedir -}/asm/rc4-ia64.pl
-       CC="$(CC)" $(PERL) {- $sourcedir -}/asm/rc4-ia64.pl $(CFLAGS) > $@
+GENERATE[rc4-ia64.S]=asm/rc4-ia64.pl $(CFLAGS)
 
-{- $builddir -}/rc4-parisc.s:  {- $sourcedir -}/asm/rc4-parisc.pl
-       CC="$(CC)" $(PERL) {- $sourcedir -}/asm/rc4-parisc.pl $(PERLASM_SCHEME) $@
+GENERATE[rc4-parisc.s]=asm/rc4-parisc.pl $(PERLASM_SCHEME)
 
+BEGINRAW[Makefile]
 {- $builddir -}/rc4-ia64.s: rc4-ia64.S
        @case `awk '/^#define RC4_INT/{print$$NF}' $(SRCDIR)/include/openssl/opensslconf.h` in \
        int)    set -x; $(CC) $(CFLAGS) -DSZ=4 -E rc4-ia64.S > $@ ;; \