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/windows-makefile.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/windows-makefile.tmpl')
-rw-r--r-- | Configurations/windows-makefile.tmpl | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/Configurations/windows-makefile.tmpl b/Configurations/windows-makefile.tmpl index a211c2277d..bfe88f6cc9 100644 --- a/Configurations/windows-makefile.tmpl +++ b/Configurations/windows-makefile.tmpl @@ -570,22 +570,23 @@ $target: "$args{generator}->[0]" $deps EOF } } else { + my $cppflags = { + shlib => '$(LIB_CFLAGS) $(LIB_CPPFLAGS)', + lib => '$(LIB_CFLAGS) $(LIB_CPPFLAGS)', + dso => '$(DSO_CFLAGS) $(DSO_CPPFLAGS)', + bin => '$(BIN_CFLAGS) $(BIN_CPPFLAGS)' + } -> {$args{intent}}; my $target = platform->asm($args{src}); + if ($args{generator}->[0] =~ /\.pl$/) { - $generator = '"$(PERL)"'.$generator_incs.' '.$generator; + $generator = '"$(PERL)"'.$generator_incs.' '.$generator + .' "$(PERLASM_SCHEME)"'.$incs.' '.$cppflags.$defs.' $(PROCESSSOR)'; } elsif ($args{generator}->[0] =~ /\.S$/) { $generator = undef; } else { die "Generator type for $src unknown: $generator\n"; } - my $cppflags = $incs; - $cppflags .= { - shlib => ' $(LIB_CFLAGS) $(LIB_CPPFLAGS)', - lib => ' $(LIB_CFLAGS) $(LIB_CPPFLAGS)', - dso => ' $(DSO_CFLAGS) $(DSO_CPPFLAGS)', - bin => ' $(BIN_CFLAGS) $(BIN_CPPFLAGS)' - } -> {$args{intent}}; if (defined($generator)) { # If the target is named foo.S in build.info, we want to # end up generating foo.s in two steps. @@ -594,7 +595,7 @@ EOF $target: "$args{generator}->[0]" $deps set ASM=\$(AS) $generator \$@.S - \$(CPP) $cppflags $defs \$@.S > \$@.i && move /Y \$@.i \$@ + \$(CPP) $incs $cppflags $defs \$@.S > \$@.i && move /Y \$@.i \$@ del /Q \$@.S EOF } |