summaryrefslogtreecommitdiffstats
path: root/tools/pidl/idl.yp
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-09-19 04:14:26 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-09-19 04:14:26 +0000
commitc4e8a3222648fcf22ca207f1815ebbf7cd144eeb (patch)
tree93d5c6aa93d9987680dd1adad5685e2ad698f223 /tools/pidl/idl.yp
parentAdding upstream version 4.2.6. (diff)
downloadwireshark-c4e8a3222648fcf22ca207f1815ebbf7cd144eeb.tar.xz
wireshark-c4e8a3222648fcf22ca207f1815ebbf7cd144eeb.zip
Adding upstream version 4.4.0.upstream/4.4.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'tools/pidl/idl.yp')
-rw-r--r--tools/pidl/idl.yp29
1 files changed, 23 insertions, 6 deletions
diff --git a/tools/pidl/idl.yp b/tools/pidl/idl.yp
index 08f982a9..8889632b 100644
--- a/tools/pidl/idl.yp
+++ b/tools/pidl/idl.yp
@@ -680,12 +680,29 @@ sub parse_file($$)
undef $/;
my $cpp = $ENV{CPP};
my $options = "";
- if (! defined $cpp) {
- if (defined $ENV{CC}) {
- $cpp = "$ENV{CC}";
- $options = "-E";
- } else {
- $cpp = "cpp";
+ if ($^O eq "MSWin32") {
+ $cpp = "cpp";
+ }else{
+ if (! defined $cpp) {
+ if (defined $ENV{CC}) {
+ $cpp = "$ENV{CC}";
+ $options = "-E";
+ } else {
+ #
+ # If cc is Clang-based don't use cpp, as
+ # at least some versions of Clang, cpp
+ # doesn't strip // comments, but cc -E
+ # does.
+ #
+
+ my $cc_version = `cc --version`;
+ if ($cc_version =~ /clang/) {
+ $cpp = "cc";
+ $options = "-E"
+ } else {
+ $cpp = "cpp";
+ }
+ }
}
}
my $includes = join('',map { " -I$_" } @$incdirs);