summaryrefslogtreecommitdiffstats
path: root/Configurations/common.tmpl
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2016-03-10 09:04:09 +0100
committerRichard Levitte <levitte@openssl.org>2016-03-10 10:02:29 +0100
commitd46057277f3b805e5f198e31fc81a892bf5c9141 (patch)
tree1af8070e94fbdf7cc4b799936380c68000341274 /Configurations/common.tmpl
parent8cffddc0f2c59768e724a4c8dc68822cfea5cacc (diff)
Pass down inclusion directories to source file generators
The source file generators sometimes use $(CC) to post-process generated source, and getting the inclusion directories may be necessary at times, so we pass them down. RT#4406 Reviewed-by: Rich Salz <rsalz@openssl.org>
Diffstat (limited to 'Configurations/common.tmpl')
-rw-r--r--Configurations/common.tmpl11
1 files changed, 9 insertions, 2 deletions
diff --git a/Configurations/common.tmpl b/Configurations/common.tmpl
index c2362d0d93..d89817efd2 100644
--- a/Configurations/common.tmpl
+++ b/Configurations/common.tmpl
@@ -32,17 +32,24 @@
@newlist;
}
+ # dogenerate is responsible for producing all the recipes that build
+ # generated source files. It recurses in case a dependency is also a
+ # generated source file.
sub dogenerate {
my $src = shift;
return "" if $cache{$src};
+ my $obj = shift;
+ my $bin = shift;
my %opts = @_;
if ($unified_info{generate}->{$src}) {
$OUT .= generatesrc(src => $src,
generator => $unified_info{generate}->{$src},
deps => $unified_info{depends}->{$src},
+ incs => [ @{$unified_info{includes}->{$bin}},
+ @{$unified_info{includes}->{$obj}} ],
%opts);
foreach (@{$unified_info{depends}->{$src}}) {
- dogenerate($_, %opts);
+ dogenerate($_, $obj, $bin, %opts);
}
}
$cache{$src} = 1;
@@ -65,7 +72,7 @@
%opts);
foreach ((@{$unified_info{sources}->{$obj}},
@{$unified_info{depends}->{$obj}})) {
- dogenerate($_, %opts);
+ dogenerate($_, $obj, $bin, %opts);
}
}
$cache{$obj} = 1;