diff options
-rwxr-xr-x | giscanner/scannermain.py | 11 |
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)) |