提交 3babc1e4 编写于 作者: R Richard Levitte

util/add-depends.pl: Adapt to localized /showIncludes output

It was discovered that MSVC has localized /showIncludes output.
Fortunately, it still seems to follow the same generic format, so we
can adapt the regular expression to make it language agnostic.

Fixes #14994
Reviewed-by: NTomas Mraz <tomas@openssl.org>
Reviewed-by: NMatthias St. Pierre <Matthias.St.Pierre@ncp-e.com>
(Merged from https://github.com/openssl/openssl/pull/15006)
上级 2e535eb5
......@@ -169,6 +169,14 @@ my %procedures = (
#
# Note: including file: {whatever header file}
#
# This output is localized, so for example, the German pack gives
# us this:
#
# Hinweis: Einlesen der Datei: {whatever header file}
#
# To accomodate, we need to use a very general regular expression
# to parse those lines.
#
# Since there's no object file name at all in that information,
# we must construct it ourselves.
......@@ -179,7 +187,7 @@ my %procedures = (
# warnings, so we simply discard anything that doesn't start with
# the Note:
if (/^Note: including file: */) {
if (/^[^:]*: [^:]*: */) {
(my $tail = $') =~ s/\s*\R$//;
# VC gives us absolute paths for all include files, so to
......@@ -206,11 +214,10 @@ my %procedures = (
},
'embarcadero' =>
sub {
# With Embarcadero C++Builder's preprocessor (cpp32.exe) the -Hp
# flag gives us the preprocessed output annotated with the following
# note whenever a #include file is read:
# With Embarcadero C++Builder's preprocessor (cpp32.exe) the -Sx -Hp
# flags give us the list of #include files read, like the following:
#
# Including ->->{whatever header file}
# Including ->->{whatever header file}
#
# where each "->" indicates the nesting level of the #include. The
# logic here is otherwise the same as the 'VC' scheme.
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册