summary refs log tree commit diff
path: root/pkgs/development/tools/build-managers/bear/ignore_wrapper.patch
blob: f70e3811f654f7ed72a2d81e9bed5ef6cae3a48c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
--- Bear-2.3.11-src/bear/main.py.in	1970-01-01 01:00:01.000000000 +0100
+++ Bear-2.3.11-src-patch/bear/main.py.in	1970-01-01 01:00:01.000000000 +0100
@@ -49,6 +49,7 @@
 import shutil
 import contextlib
 import logging
+from distutils.spawn import find_executable
 
 # Map of ignored compiler option for the creation of a compilation database.
 # This map is used in _split_command method, which classifies the parameters
@@ -540,7 +541,11 @@
                 any(pattern.match(cmd) for pattern in COMPILER_PATTERNS_CXX)
 
         if command:  # not empty list will allow to index '0' and '1:'
-            executable = os.path.basename(command[0])  # type: str
+            absolute_executable = os.path.realpath(find_executable(command[0]))
+            if 'wrapper' in absolute_executable:
+                return None
+
+            executable = os.path.basename(absolute_executable) # type: str
             parameters = command[1:]  # type: List[str]
             # 'wrapper' 'parameters' and
             # 'wrapper' 'compiler' 'parameters' are valid.