summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xgiscanner/scannermain.py11
1 files changed, 7 insertions, 4 deletions
diff --git a/giscanner/scannermain.py b/giscanner/scannermain.py
index ffcb95cd..1366c04c 100755
--- a/giscanner/scannermain.py
+++ b/giscanner/scannermain.py
@@ -52,11 +52,14 @@ from . import utils
def process_cflags_begin(option, opt, value, parser):
cflags = getattr(parser.values, option.dest)
- while len(parser.rargs) > 0 and parser.rargs[0] != '--cflags-end':
- arg = parser.rargs.pop(0)
- if arg == "-I" and parser.rargs and parser.rargs[0] != '--cflags-end':
+ # Copy instead of consuming else cpp_defines, cpp_includes, etc will be empty
+ rargs = parser.rargs[:]
+ while len(rargs) > 0 and rargs[0] != '--cflags-end':
+ arg = rargs.pop(0)
+ if arg == "-I" and rargs and rargs[0] != '--cflags-end':
# This is a special case where there's a space between -I and the path.
- arg += parser.rargs.pop(0)
+ arg += rargs.pop(0)
+ incdir = utils.cflag_real_include_path(arg)
cflags.append(utils.cflag_real_include_path(arg))