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

index 342b98d316315054d5db326107830de826c3ec19..48091d21f0e793dca2bb3b25b3fc76c45933bd1c 100644 (file)
@@ -49,13 +49,13 @@ lib:        $(LIBOBJ)
        @touch lib
 
 ecp_nistz256-x86.s:    asm/ecp_nistz256-x86.pl
-       $(PERL) asm/ecp_nistz256-x86.pl $(PERLASM_SCHEME) $(CFLAGS) $(PROCESSOR) $@
+       $(PERL) asm/ecp_nistz256-x86.pl $(PERLASM_SCHEME) $(CFLAGS) $(PROCESSOR) $@
 
 ecp_nistz256-x86_64.s: asm/ecp_nistz256-x86_64.pl
-       $(PERL) asm/ecp_nistz256-x86_64.pl $(PERLASM_SCHEME) $@
+       $(PERL) asm/ecp_nistz256-x86_64.pl $(PERLASM_SCHEME) $@
 
 ecp_nistz256-avx2.s:   asm/ecp_nistz256-avx2.pl
-       $(PERL) asm/ecp_nistz256-avx2.pl $(PERLASM_SCHEME) $@
+       $(PERL) asm/ecp_nistz256-avx2.pl $(PERLASM_SCHEME) $@
 
 ecp_nistz256-sparcv9.S:        asm/ecp_nistz256-sparcv9.pl
        $(PERL) asm/ecp_nistz256-sparcv9.pl $(PERLASM_SCHEME) $@
index 4d55f82ef8efae4b7fb2af8dcdbe4d9d6eae4035..7aa9b0f78ce8e2dc6949cff3a13bc34658fc3fd4 100755 (executable)
@@ -35,6 +35,9 @@ $0 =~ m/(.*[\/\\])[^\/\\]+$/; $dir=$1;
 push(@INC,"${dir}","${dir}../../perlasm");
 require "x86asm.pl";
 
+$output=pop;
+open STDOUT,">$output";
+
 &asm_init($ARGV[0],"ecp_nistz256-x86.pl",$ARGV[$#ARGV] eq "386");
 
 $sse2=0;
@@ -1829,3 +1832,5 @@ for ($i=0;$i<7;$i++) {
 } &function_end("ecp_nistz256_point_add_affine");
 
 &asm_finish();
+
+close STDOUT;
index 469a7ddc5ea408dd5a232ef08275c777602eea3e..e8588a11c1312e3986df053b94ed24fc34f15364 100644 (file)
@@ -8,19 +8,15 @@ SOURCE[../../libcrypto]=\
         ecdsa_ossl.c ecdsa_sign.c ecdsa_vrf.c ec_25519.c curve25519.c \
         {- $target{ec_asm_src} -}
 
-BEGINRAW[Makefile]
-{- $builddir -}/ecp_nistz256-x86.s:    {- $sourcedir -}/asm/ecp_nistz256-x86.pl
-       CC="$(CC)" $(PERL) {- $sourcedir -}/asm/ecp_nistz256-x86.pl $(PERLASM_SCHEME) $(CFLAGS) $(PROCESSOR) > $@
+GENERATE[ecp_nistz256-x86.s]=asm/ecp_nistz256-x86.pl $(PERLASM_SCHEME) $(CFLAGS) $(PROCESSOR)
 
-{- $builddir -}/ecp_nistz256-x86_64.s: {- $sourcedir -}/asm/ecp_nistz256-x86_64.pl
-       CC="$(CC)" $(PERL) {- $sourcedir -}/asm/ecp_nistz256-x86_64.pl $(PERLASM_SCHEME) > $@
+GENERATE[ecp_nistz256-x86_64.s]=asm/ecp_nistz256-x86_64.pl $(PERLASM_SCHEME)
 
-{- $builddir -}/ecp_nistz256-avx2.s:   {- $sourcedir -}/asm/ecp_nistz256-avx2.pl
-       CC="$(CC)" $(PERL) {- $sourcedir -}/asm/ecp_nistz256-avx2.pl $(PERLASM_SCHEME) > $@
+GENERATE[ecp_nistz256-avx2.s]=asm/ecp_nistz256-avx2.pl $(PERLASM_SCHEME)
 
-{- $builddir -}/ecp_nistz256-sparcv9.S:        {- $sourcedir -}/asm/ecp_nistz256-sparcv9.pl
-       CC="$(CC)" $(PERL) {- $sourcedir -}/asm/ecp_nistz256-sparcv9.pl $(PERLASM_SCHEME) $@
+GENERATE[ecp_nistz256-sparcv9.S]=asm/ecp_nistz256-sparcv9.pl $(PERLASM_SCHEME)
 
+BEGINRAW[Makefile]
 {- $builddir -}/ecp_nistz256-%.S:      {- $sourcedir -}/asm/ecp_nistz256-%.pl
        CC="$(CC)" $(PERL) $< $(PERLASM_SCHEME) $@
 ENDRAW[Makefile]