summaryrefslogtreecommitdiffstats
path: root/Configurations/descrip.mms.tmpl
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2019-09-12 23:58:07 +0200
committerRichard Levitte <levitte@openssl.org>2019-09-16 16:29:57 +0200
commit593d5c2fadd3c1322fa995e9ac9ced3af4d6468d (patch)
tree923d5668965ea6e87226257dca540ab8481b8d8b /Configurations/descrip.mms.tmpl
parent6ef03ea98fac501e6d6e33bac6ad3c92ea074712 (diff)
Build files: Unify standard arguments for assembler generating scrips
- Make the last argument always be the output file. - Make the first argument always be the flavour, even if there is no flavour (i.e. it might become the empty string). - Make the next to last argument to be $(PROCESSOR) if that one has a value. - Remaining arguments are C prepropressor arguments. Perl scripts that should handle this may use the following code: $output = pop; $flavour = shift; if ($ARGV[$#ARGV] eq '386') { # Do 386 specific things } else { # Do whatever else, with the knowledge the @ARGV contains # C preprocessor arguments } Some scripts don't care about anything than $output, and that's ok. Some scripts do care, but handle it a little differently, and that's ok too (notably, the x86 scripts call asm_init() with the first and the last argument after having popped $output). As long as they handle the argument order right, they are going to be fine. Reviewed-by: Matt Caswell <matt@openssl.org> (Merged from https://github.com/openssl/openssl/pull/9884)
Diffstat (limited to 'Configurations/descrip.mms.tmpl')
-rw-r--r--Configurations/descrip.mms.tmpl24
1 files changed, 15 insertions, 9 deletions
diff --git a/Configurations/descrip.mms.tmpl b/Configurations/descrip.mms.tmpl
index 6cbbb01565..892102dd91 100644
--- a/Configurations/descrip.mms.tmpl
+++ b/Configurations/descrip.mms.tmpl
@@ -787,15 +787,6 @@ $target : $args{generator}->[0] $deps
EOF
}
} else {
- my $target = platform->asm($args{src});
- if ($args{generator}->[0] =~ /\.pl$/) {
- $generator = '$(PERL)'.$generator_incs.' '.$generator;
- } elsif ($args{generator}->[0] =~ /\.S$/) {
- $generator = undef;
- } else {
- die "Generator type for $src unknown: $generator\n";
- }
-
my $cppflags = {
shlib => '$(LIB_CFLAGS) $(LIB_CPPFLAGS)',
lib => '$(LIB_CFLAGS) $(LIB_CPPFLAGS)',
@@ -812,6 +803,17 @@ EOF
my $incs_on = join("\n\t\@ ", @{$incs_cmds[0]}) || '!';
my $incs_off = join("\n\t\@ ", @{$incs_cmds[1]}) || '!';
my $defs = join("", map { ",".$_ } @{$args{defs}});
+ my $target = platform->asm($args{src});
+
+ if ($args{generator}->[0] =~ /\.pl$/) {
+ $generator = '$(PERL)'.$generator_incs.' '.$generator
+ .' '.$cppflags;
+ } elsif ($args{generator}->[0] =~ /\.S$/) {
+ $generator = undef;
+ } else {
+ die "Generator type for $src unknown: $generator\n";
+ }
+
if (defined($generator)) {
# If the target is named foo.S in build.info, we want to
# end up generating foo.s in two steps.
@@ -832,7 +834,11 @@ EOF
# Otherwise....
return <<"EOF";
$target : $args{generator}->[0] $deps
+ \@ $incs_on
+ \@ extradefines = "$defs"
$generator \$\@
+ \@ DELETE/SYMBOL/LOCAL extradefines
+ \@ $incs_off
EOF
}
return <<"EOF";