summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2019-01-30 18:58:01 +0100
committerRichard Levitte <levitte@openssl.org>2019-01-31 16:19:49 +0100
commit77adb75e16142cd4da2af8814090a4f2c2bd5aea (patch)
treeb59a8159809fbedd9034c64ef2d2c647da31b996
parent77550dbf7af4d31b915d076ee968cfc75e14a411 (diff)
Build: Remove BEGINRAW / ENDRAW / OVERRIDE
It was an ugly hack to avoid certain problems that are no more. Also added GENERATE lines for perlasm scripts that didn't have that explicitly. Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/8125)
-rw-r--r--Configurations/README42
-rw-r--r--Configurations/README.design11
-rw-r--r--Configurations/common.tmpl4
-rwxr-xr-xConfigure29
-rw-r--r--crypto/aes/build.info11
-rw-r--r--crypto/chacha/build.info9
-rw-r--r--crypto/ec/build.info5
-rw-r--r--crypto/modes/build.info7
-rw-r--r--crypto/poly1305/build.info7
-rw-r--r--crypto/rc4/build.info8
-rw-r--r--crypto/sha/build.info22
11 files changed, 22 insertions, 133 deletions
diff --git a/Configurations/README b/Configurations/README
index c1f80fe49e..65841b38b6 100644
--- a/Configurations/README
+++ b/Configurations/README
@@ -486,48 +486,6 @@ be used in that case:
NOTE: GENERATE lines are limited to one command only per GENERATE.
-As a last resort, it's possible to have raw build file lines, between
-BEGINRAW and ENDRAW lines as follows:
-
- BEGINRAW[Makefile(unix)]
- haha.h: {- $builddir -}/Makefile
- echo "/* haha */" > haha.h
- ENDRAW[Makefile(unix)]
-
-The word within square brackets is the build_file configuration item
-or the build_file configuration item followed by the second word in the
-build_scheme configuration item for the configured target within
-parenthesis as shown above. For example, with the following relevant
-configuration items:
-
- build_file => "build.ninja"
- build_scheme => [ "unified", "unix" ]
-
-... these lines will be considered:
-
- BEGINRAW[build.ninja]
- build haha.h: echo "/* haha */" > haha.h
- ENDRAW[build.ninja]
-
- BEGINRAW[build.ninja(unix)]
- build hoho.h: echo "/* hoho */" > hoho.h
- ENDRAW[build.ninja(unix)]
-
-Should it be needed because the recipes within a RAW section might
-clash with those generated by Configure, it's possible to tell it
-not to generate them with the use of OVERRIDES, for example:
-
- SOURCE[libfoo]=foo.c bar.c
-
- OVERRIDES=bar.o
- BEGINRAW[Makefile(unix)]
- bar.o: bar.c
- $(CC) $(CFLAGS) -DSPECIAL -c -o $@ $<
- ENDRAW[Makefile(unix)]
-
-See the documentation further up for more information on configuration
-items.
-
Finally, you can have some simple conditional use of the build.info
information, looking like this:
diff --git a/Configurations/README.design b/Configurations/README.design
index c0b05bd5b2..43b6a6620e 100644
--- a/Configurations/README.design
+++ b/Configurations/README.design
@@ -112,9 +112,6 @@ Two things are worth an extra note:
'DEPEND[cversion.o]' mentions an object file. DEPEND indexes is the
only location where it's valid to mention them
-Lines in 'BEGINRAW'..'ENDRAW' sections must always mention files as
-seen from the top directory, no exception.
-
# ssl/build.info
LIBS=../libssl
SOURCE[../libssl]=tls.c
@@ -234,11 +231,6 @@ indexes:
programs => a list of programs. These are directly inferred from
the PROGRAMS variable in build.info files.
- rawlines => a list of build-file lines. These are a direct copy of
- the BEGINRAW..ENDRAW lines in build.info files. Note:
- only the BEGINRAW..ENDRAW section for the current
- platform are copied, the rest are ignored.
-
scripts => a list of scripts. There are directly inferred from
the SCRIPTS variable in build.info files.
@@ -352,9 +344,6 @@ section above would be digested into a %unified_info table:
[
"apps/openssl",
],
- "rawlines" =>
- [
- ],
"sources" =>
{
"apps/openssl" =>
diff --git a/Configurations/common.tmpl b/Configurations/common.tmpl
index 53384c7307..a15971ef98 100644
--- a/Configurations/common.tmpl
+++ b/Configurations/common.tmpl
@@ -217,8 +217,4 @@
foreach (@{$unified_info{scripts}}) { doscript($_); }
foreach (sort keys %{$unified_info{dirinfo}}) { dodir($_); }
-
- # Finally, should there be any applicable BEGINRAW/ENDRAW sections,
- # they are added here.
- $OUT .= $_."\n" foreach @{$unified_info{rawlines}};
-}
diff --git a/Configure b/Configure
index 53460fe8ac..8052643155 100755
--- a/Configure
+++ b/Configure
@@ -1714,9 +1714,7 @@ if ($builder eq "unified") {
my @engines = ();
my @scripts = ();
my @extra = ();
- my @overrides = ();
my @intermediates = ();
- my @rawlines = ();
my %attributes = ();
my %sources = ();
@@ -1872,9 +1870,6 @@ if ($builder eq "unified") {
qr/^\s*EXTRA\s*=\s*(.*)\s*$/
=> sub { push @extra, tokenize($1)
if !@skip || $skip[$#skip] > 0 },
- qr/^\s*OVERRIDES\s*=\s*(.*)\s*$/
- => sub { push @overrides, tokenize($1)
- if !@skip || $skip[$#skip] > 0 },
qr/^\s*ORDINALS\[((?:\\.|[^\\\]])+)\]\s*=\s*(.*)\s*$/,
=> sub { push @{$ordinals{$1}}, tokenize($2)
@@ -1901,23 +1896,6 @@ if ($builder eq "unified") {
=> sub { warn "RENAME is no longer supported\n" },
qr/^\s*SHARED_NAME\[((?:\\.|[^\\\]])+)\]\s*=\s*(.*)\s*$/
=> sub { warn "SHARED_NAME is no longer supported\n" },
- qr/^\s*BEGINRAW\[((?:\\.|[^\\\]])+)\]\s*$/
- => sub {
- my $lineiterator = shift;
- my $target_kind = $1;
- while (defined $lineiterator->()) {
- s|\R$||;
- if (/^\s*ENDRAW\[((?:\\.|[^\\\]])+)\]\s*$/) {
- die "ENDRAW doesn't match BEGINRAW"
- if $1 ne $target_kind;
- last;
- }
- next if @skip && $skip[$#skip] <= 0;
- push @rawlines, $_
- if ($target_kind eq $target{build_file}
- || $target_kind eq $target{build_file}."(".$builder_platform.")");
- }
- },
qr/^\s*(?:#.*)?$/ => sub { },
"OTHERWISE" => sub { die "Something wrong with this line:\n$_\nat $sourced/$f" },
"BEFORE" => sub {
@@ -1953,8 +1931,7 @@ EOF
libraries => [ @libraries ],
engines => [ @engines ],
scripts => [ @scripts ],
- extra => [ @extra ],
- overrides => [ @overrides ] );
+ extra => [ @extra ] );
foreach my $k (keys %infos) {
foreach (@{$infos{$k}}) {
my $item = cleanfile($buildd, $_, $blddir);
@@ -1963,8 +1940,6 @@ EOF
}
}
- push @{$unified_info{rawlines}}, @rawlines;
-
# Check that we haven't defined any library as both shared and
# explicitly static. That is forbidden.
my @doubles = ();
@@ -2259,7 +2234,7 @@ EOF
### Make unified_info a bit more efficient
# One level structures
- foreach (("programs", "libraries", "engines", "scripts", "extra", "overrides")) {
+ foreach (("programs", "libraries", "modules", "scripts", "extra")) {
$unified_info{$_} = [ sort keys %{$unified_info{$_}} ];
}
# Two level structures
diff --git a/crypto/aes/build.info b/crypto/aes/build.info
index 0f04863640..1aa7a18dfb 100644
--- a/crypto/aes/build.info
+++ b/crypto/aes/build.info
@@ -52,13 +52,4 @@ INCLUDE[bsaes-armv7.o]=..
GENERATE[aes-s390x.S]=asm/aes-s390x.pl $(PERLASM_SCHEME)
INCLUDE[aes-s390x.o]=..
-BEGINRAW[Makefile]
-##### AES assembler implementations
-
-# GNU make "catch all"
-{- $builddir -}/aes-%.S: {- $sourcedir -}/asm/aes-%.pl
- CC="$(CC)" $(PERL) $< $(PERLASM_SCHEME) $@
-{- $builddir -}/bsaes-%.S: {- $sourcedir -}/asm/bsaes-%.pl
- CC="$(CC)" $(PERL) $< $(PERLASM_SCHEME) $@
-
-ENDRAW[Makefile]
+GENERATE[aes-c64xplus.S]=asm/aes-c64xplus.pl $(PERLASM_SCHEME)
diff --git a/crypto/chacha/build.info b/crypto/chacha/build.info
index e1d6116466..bbd9ca8b33 100644
--- a/crypto/chacha/build.info
+++ b/crypto/chacha/build.info
@@ -10,10 +10,5 @@ INCLUDE[chacha-armv4.o]=..
GENERATE[chacha-armv8.S]=asm/chacha-armv8.pl $(PERLASM_SCHEME)
INCLUDE[chacha-armv8.o]=..
INCLUDE[chacha-s390x.o]=..
-
-BEGINRAW[Makefile(unix)]
-##### CHACHA assembler implementations
-
-{- $builddir -}/chacha-%.S: {- $sourcedir -}/asm/chacha-%.pl
- CC="$(CC)" $(PERL) $< $(PERLASM_SCHEME) $@
-ENDRAW[Makefile(unix)]
+GENERATE[chacha-c64xplus.S]=asm/chacha-c64xplus.pl $(PERLASM_SCHEME)
+GENERATE[chacha-s390x.S]=asm/chacha-s390x.pl $(PERLASM_SCHEME)
diff --git a/crypto/ec/build.info b/crypto/ec/build.info
index a1e673e347..dd1c891e19 100644
--- a/crypto/ec/build.info
+++ b/crypto/ec/build.info
@@ -29,11 +29,6 @@ GENERATE[ecp_nistz256-ppc64.s]=asm/ecp_nistz256-ppc64.pl $(PERLASM_SCHEME)
GENERATE[x25519-x86_64.s]=asm/x25519-x86_64.pl $(PERLASM_SCHEME)
GENERATE[x25519-ppc64.s]=asm/x25519-ppc64.pl $(PERLASM_SCHEME)
-BEGINRAW[Makefile]
-{- $builddir -}/ecp_nistz256-%.S: {- $sourcedir -}/asm/ecp_nistz256-%.pl
- CC="$(CC)" $(PERL) $< $(PERLASM_SCHEME) $@
-ENDRAW[Makefile]
-
INCLUDE[curve448/arch_32/f_impl.o]=curve448/arch_32 curve448
INCLUDE[curve448/f_generic.o]=curve448/arch_32 curve448
INCLUDE[curve448/scalar.o]=curve448/arch_32 curve448
diff --git a/crypto/modes/build.info b/crypto/modes/build.info
index 1820ab26ba..f015a4c302 100644
--- a/crypto/modes/build.info
+++ b/crypto/modes/build.info
@@ -22,9 +22,4 @@ GENERATE[ghashv8-armx.S]=asm/ghashv8-armx.pl $(PERLASM_SCHEME)
INCLUDE[ghashv8-armx.o]=..
GENERATE[ghash-s390x.S]=asm/ghash-s390x.pl $(PERLASM_SCHEME)
INCLUDE[ghash-s390x.o]=..
-
-BEGINRAW[Makefile]
-# GNU make "catch all"
-{- $builddir -}/ghash-%.S: {- $sourcedir -}/asm/ghash-%.pl
- CC="$(CC)" $(PERL) $< $(PERLASM_SCHEME) $@
-ENDRAW[Makefile]
+GENERATE[ghash-c64xplus.S]=asm/ghash-c64xplus.pl $(PERLASM_SCHEME)
diff --git a/crypto/poly1305/build.info b/crypto/poly1305/build.info
index 363d62e6eb..de44bb8803 100644
--- a/crypto/poly1305/build.info
+++ b/crypto/poly1305/build.info
@@ -17,8 +17,5 @@ GENERATE[poly1305-armv8.S]=asm/poly1305-armv8.pl $(PERLASM_SCHEME)
INCLUDE[poly1305-armv8.o]=..
GENERATE[poly1305-mips.S]=asm/poly1305-mips.pl $(PERLASM_SCHEME)
INCLUDE[poly1305-mips.o]=..
-
-BEGINRAW[Makefile(unix)]
-{- $builddir -}/poly1305-%.S: {- $sourcedir -}/asm/poly1305-%.pl
- CC="$(CC)" $(PERL) $< $(PERLASM_SCHEME) $@
-ENDRAW[Makefile(unix)]
+GENERATE[poly1305-c64xplus.S]=asm/poly1305-c64xplus.pl $(PERLASM_SCHEME)
+GENERATE[poly1305-s390x.S]=asm/poly1305-s390x.pl $(PERLASM_SCHEME)
diff --git a/crypto/rc4/build.info b/crypto/rc4/build.info
index 46ee66b61c..9941e6ea15 100644
--- a/crypto/rc4/build.info
+++ b/crypto/rc4/build.info
@@ -10,9 +10,5 @@ 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)
GENERATE[rc4-parisc.s]=asm/rc4-parisc.pl $(PERLASM_SCHEME)
-
-BEGINRAW[Makefile]
-# GNU make "catch all"
-{- $builddir -}/rc4-%.s: {- $sourcedir -}/asm/rc4-%.pl
- CC="$(CC)" $(PERL) $< $(PERLASM_SCHEME) $@
-ENDRAW[Makefile]
+GENERATE[rc4-c64xplus.S]=asm/rc4-c64xplus.pl $(PERLASM_SCHEME)
+GENERATE[rc4-s390x.S]=asm/rc4-s390x.pl $(PERLASM_SCHEME)
diff --git a/crypto/sha/build.info b/crypto/sha/build.info
index 5dd5a9941d..58d15bbb6d 100644
--- a/crypto/sha/build.info
+++ b/crypto/sha/build.info
@@ -26,6 +26,7 @@ GENERATE[sha256-mb-x86_64.s]=asm/sha256-mb-x86_64.pl $(PERLASM_SCHEME)
GENERATE[sha512-x86_64.s]=asm/sha512-x86_64.pl $(PERLASM_SCHEME)
GENERATE[keccak1600-x86_64.s]=asm/keccak1600-x86_64.pl $(PERLASM_SCHEME)
+GENERATE[sha1-sparcv9a.S]=asm/sha1-sparcv9a.pl $(PERLASM_SCHEME)
GENERATE[sha1-sparcv9.S]=asm/sha1-sparcv9.pl $(PERLASM_SCHEME)
INCLUDE[sha1-sparcv9.o]=..
GENERATE[sha256-sparcv9.S]=asm/sha512-sparcv9.pl $(PERLASM_SCHEME)
@@ -76,14 +77,15 @@ GENERATE[sha512-s390x.S]=asm/sha512-s390x.pl $(PERLASM_SCHEME)
INCLUDE[sha512-s390x.o]=..
GENERATE[keccak1600-s390x.S]=asm/keccak1600-s390x.pl $(PERLASM_SCHEME)
-BEGINRAW[Makefile(unix)]
-##### SHA assembler implementations
+GENERATE[sha1-c64xplus.S]=asm/sha1-c64xplus.pl $(PERLASM_SCHEME)
+GENERATE[sha256-c64xplus.S]=asm/sha256-c64xplus.pl $(PERLASM_SCHEME)
+GENERATE[sha512-c64xplus.S]=asm/sha512-c64xplus.pl $(PERLASM_SCHEME)
+GENERATE[keccak1600-c64x.S]=asm/keccak1600-c64x.pl $(PERLASM_SCHEME)
-# GNU make "catch all"
-{- $builddir -}/sha1-%.S: {- $sourcedir -}/asm/sha1-%.pl
- CC="$(CC)" $(PERL) $< $(PERLASM_SCHEME) $@
-{- $builddir -}/sha256-%.S: {- $sourcedir -}/asm/sha512-%.pl
- CC="$(CC)" $(PERL) $< $(PERLASM_SCHEME) $@
-{- $builddir -}/sha512-%.S: {- $sourcedir -}/asm/sha512-%.pl
- CC="$(CC)" $(PERL) $< $(PERLASM_SCHEME) $@
-ENDRAW[Makefile(unix)]
+# These are not yet used
+GENERATE[keccak1600-avx2.S]=asm/keccak1600-avx2.pl $(PERLASM_SCHEME)
+GENERATE[keccak1600-avx512.S]=asm/keccak1600-avx512.pl $(PERLASM_SCHEME)
+GENERATE[keccak1600-avx512vl.S]=asm/keccak1600-avx512vl.pl $(PERLASM_SCHEME)
+GENERATE[keccak1600-mmx.S]=asm/keccak1600-mmx.pl $(PERLASM_SCHEME)
+GENERATE[keccak1600p8-ppc.S]=asm/keccak1600p8-ppc.pl $(PERLASM_SCHEME)
+GENERATE[sha1-thumb.S]=asm/sha1-thumb.pl $(PERLASM_SCHEME)