Make build.info INCLUDE stmts be both source and build tree relative
INCLUDE statements in build.info files were source tree centric. That meant that to get include directory specs in the build tree, we had to resort to perl fragments that specified the build tree include paths as absolute ones. This change has the INCLUDE statement consider both the source and build tree for any include directory. It means that there may be some extra unnecessary include paths, but it also makes life simpler for anyone who makes changes in the build.info files. Reviewed-by: Rich Salz <rsalz@openssl.org>
This commit is contained in:
parent
352dbbaf4c
commit
4748f89022
1 changed files with 24 additions and 5 deletions
29
Configure
29
Configure
|
@ -1713,8 +1713,8 @@ EOF
|
|||
# sure it can get included
|
||||
if ($dest ne "" && $d =~ /\.(h|pm)$/) {
|
||||
my $i = dirname($d);
|
||||
push @{$unified_info{includes}->{$ddest}}, $i
|
||||
unless grep { $_ eq $i } @{$unified_info{includes}->{$ddest}};
|
||||
push @{$unified_info{includes}->{$ddest}->{source}}, $i
|
||||
unless grep { $_ eq $i } @{$unified_info{includes}->{$ddest}->{source}};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1732,9 +1732,12 @@ EOF
|
|||
}
|
||||
}
|
||||
foreach (@{$includes{$dest}}) {
|
||||
my $i = cleandir($sourced, $_, $blddir);
|
||||
push @{$unified_info{includes}->{$ddest}}, $i
|
||||
unless grep { $_ eq $i } @{$unified_info{includes}->{$ddest}};
|
||||
my $is = cleandir($sourced, $_, $blddir);
|
||||
my $ib = cleandir($buildd, $_, $blddir);
|
||||
push @{$unified_info{includes}->{$ddest}->{source}}, $is
|
||||
unless grep { $_ eq $is } @{$unified_info{includes}->{$ddest}->{source}};
|
||||
push @{$unified_info{includes}->{$ddest}->{build}}, $ib
|
||||
unless grep { $_ eq $ib } @{$unified_info{includes}->{$ddest}->{build}};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1751,6 +1754,22 @@ EOF
|
|||
[ sort keys %{$unified_info{$l1}->{$l2}} ];
|
||||
}
|
||||
}
|
||||
# Includes
|
||||
foreach my $dest (sort keys %{$unified_info{includes}}) {
|
||||
if (defined($unified_info{includes}->{$dest}->{build})) {
|
||||
my @source_includes =
|
||||
( @{$unified_info{includes}->{$dest}->{source}} );
|
||||
$unified_info{includes}->{$dest} =
|
||||
[ @{$unified_info{includes}->{$dest}->{build}} ];
|
||||
foreach my $inc (@source_includes) {
|
||||
push @{$unified_info{includes}->{$dest}}, $inc
|
||||
unless grep { $_ eq $inc } @{$unified_info{includes}->{$dest}};
|
||||
}
|
||||
} else {
|
||||
$unified_info{includes}->{$dest} =
|
||||
[ @{$unified_info{includes}->{$dest}->{source}} ];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# For the schemes that need it, we provide the old *_obj configs
|
||||
|
|
Loading…
Reference in a new issue