提交 27c44905 编写于 作者: R Richard Levitte

util/postprocess-makedepend.pl: For VC, don't include system headers

All dependencies that VC gives us are absolute paths, so we need to
check if some of them are within our source or build tree.  We do that
by comparing the start of each dependency with the absolute versions
of our source and build directories.
Reviewed-by: NAndy Polyakov <appro@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/5591)
上级 bbb9413b
......@@ -9,8 +9,15 @@
use strict;
use warnings;
my $producer = shift @ARGV;
use lib '.';
use configdata;
use File::Spec::Functions qw(canonpath rel2abs);
my $abs_srcdir = rel2abs($config{sourcedir});
my $abs_blddir = rel2abs($config{builddir});
my $producer = shift @ARGV;
die "Producer not given\n" unless $producer;
my $procedure = {
......@@ -98,7 +105,15 @@ my $procedure = {
if (/^Note: including file: */) {
(my $tail = $') =~ s/\s*\R$//;
return "${object}: \"$tail\"\n";
# VC gives us absolute paths for all include files, so to
# remove system header dependencies, we need to check that
# they don't match $abs_srcdir or $abs_blddir
$tail = canonpath($tail);
if ($tail =~ m|^\Q$abs_srcdir\E|i
|| $tail =~ m|^\Q$abs_blddir\E|i) {
return "${object}: \"$tail\"\n";
}
}
return undef;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册