diff options
author | Richard Levitte <levitte@openssl.org> | 2019-09-12 23:58:07 +0200 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2019-09-16 16:29:57 +0200 |
commit | 593d5c2fadd3c1322fa995e9ac9ced3af4d6468d (patch) | |
tree | 923d5668965ea6e87226257dca540ab8481b8d8b /Configurations/descrip.mms.tmpl | |
parent | 6ef03ea98fac501e6d6e33bac6ad3c92ea074712 (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.tmpl | 24 |
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"; |