summaryrefslogtreecommitdiffstats
path: root/Configure
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2018-09-10 02:18:22 +0200
committerRichard Levitte <levitte@openssl.org>2018-09-12 01:59:45 +0200
commit609e4be88e63e489c32438b3b0872fd891829301 (patch)
treeaf95fbfe4a0f66b20dea99012f4b48f0533f6c6b /Configure
parentd6b345708f8f8a04fdb5ca2e58a953b7fec461e1 (diff)
Configure: DON'T trickle down includes from products to sources
Instead, use the include settings from the products later in the process, making it possible to have different includes for two different libraries that share the same source code. Reviewed-by: Paul Dale <paul.dale@oracle.com> Reviewed-by: Tim Hudson <tjh@openssl.org> (Merged from https://github.com/openssl/openssl/pull/7159)
Diffstat (limited to 'Configure')
-rwxr-xr-xConfigure24
1 files changed, 3 insertions, 21 deletions
diff --git a/Configure b/Configure
index 3baa8ce016..f9eda6652f 100755
--- a/Configure
+++ b/Configure
@@ -2189,26 +2189,6 @@ EOF
}
}
- # Trickle down includes placed on libraries, engines and programs to
- # their sources (i.e. object files)
- foreach my $dest (keys %{$unified_info{engines}},
- keys %{$unified_info{libraries}},
- keys %{$unified_info{programs}}) {
- foreach my $k (("source", "build")) {
- next unless defined($unified_info{includes}->{$dest}->{$k});
- my @incs = reverse @{$unified_info{includes}->{$dest}->{$k}};
- foreach my $obj (grep /\.o$/,
- (keys %{$unified_info{sources}->{$dest}},
- keys %{$unified_info{shared_sources}->{$dest}})) {
- foreach my $inc (@incs) {
- unshift @{$unified_info{includes}->{$obj}->{$k}}, $inc
- unless grep { $_ eq $inc } @{$unified_info{includes}->{$obj}->{$k}};
- }
- }
- }
- delete $unified_info{includes}->{$dest};
- }
-
### Make unified_info a bit more efficient
# One level structures
foreach (("programs", "libraries", "engines", "scripts", "extra", "overrides")) {
@@ -2233,9 +2213,11 @@ EOF
push @{$unified_info{includes}->{$dest}}, $inc
unless grep { $_ eq $inc } @{$unified_info{includes}->{$dest}};
}
- } else {
+ } elsif (defined($unified_info{includes}->{$dest}->{source})) {
$unified_info{includes}->{$dest} =
[ @{$unified_info{includes}->{$dest}->{source}} ];
+ } else {
+ delete $unified_info{includes}->{$dest};
}
}
}