diff options
author | Richard Levitte <levitte@openssl.org> | 2016-04-21 14:30:08 +0200 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2016-04-25 18:06:06 +0200 |
commit | 8d34daf0ce3bd2fc08dda0f1b0d1213dec452a1d (patch) | |
tree | bddf80d3549bba3a35ffabe413e4ec150f78528d /Configurations/unix-Makefile.tmpl | |
parent | 79356a83b78a2d936dcd022847465d9ebf6c67b1 (diff) | |
download | openssl-new-8d34daf0ce3bd2fc08dda0f1b0d1213dec452a1d.tar.gz |
Build system: add include directories and dependencies for generators
In the case of generating a file like this:
GENERATE[foo.S]=mkfoo.pl arg1 arg2
the 'mkfoo.pl' generator itself might need to include other files,
such as perl modules within our source tree. We can reuse already
existing syntax for it, like this:
INCLUDE[mkfoo.pl]=module/path
or:
DEPEND[mkfoo.pl]=modules/mymodule.pm
This change implements the support for such constructs, and for the
DEPEND statement, for any value that indicates a perl module (.pm
file), it will automatically infer an INCLUDE statement for its
directory, just like it does for C header files, so you won't have do
write this:
DEPEND[mkfoo.pl]=modules/mymodule.pm
INCLUDE[mkfoo.pl]=modules
Reviewed-by: Emilia Käsper <emilia@openssl.org>
Diffstat (limited to 'Configurations/unix-Makefile.tmpl')
-rw-r--r-- | Configurations/unix-Makefile.tmpl | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl index 1676b71b42..900c09fc1d 100644 --- a/Configurations/unix-Makefile.tmpl +++ b/Configurations/unix-Makefile.tmpl @@ -808,19 +808,20 @@ configdata.pm: $(SRCDIR)/Configurations/unix-Makefile.tmpl $(SRCDIR)/Configurati sub generatesrc { my %args = @_; my $generator = join(" ", @{$args{generator}}); + my $generator_incs = join("", map { " -I".$_ } @{$args{generator_incs}}); my $incs = join("", map { " -I".$_ } @{$args{incs}}); - my $deps = join(" ", @{$args{deps}}); + my $deps = join(" ", @{$args{generator_deps}}, @{$args{deps}}); if ($args{src} !~ /\.[sS]$/) { return <<"EOF"; $args{src}: $args{generator}->[0] $deps - \$(PERL) $generator > \$@ + \$(PERL)$generator_incs $generator > \$@ EOF } else { if ($args{generator}->[0] =~ /\.pl$/) { - $generator = 'CC="$(CC)" $(PERL) '.$generator; + $generator = 'CC="$(CC)" $(PERL)'.$generator_incs.' '.$generator; } elsif ($args{generator}->[0] =~ /\.m4$/) { - $generator = 'm4 -B 8192 '.$generator.' >' + $generator = 'm4 -B 8192'.$generator_incs.' '.$generator.' >' } elsif ($args{generator}->[0] =~ /\.S$/) { $generator = undef; } else { |