diff --git a/utils_maintenance/header_clean.py b/utils_maintenance/header_clean.py index 0ae397e23a9faad889f9eaac2cf24fb5096f8b76..c3fdb6f0084f6c5419647dea1fa1e410ba4a641d 100755 --- a/utils_maintenance/header_clean.py +++ b/utils_maintenance/header_clean.py @@ -261,6 +261,17 @@ def wash_source_include(arg_group): re_c = re.compile(r"\s*#\s*include\s+\"([a-zA-Z0-9_\-\.]+)\"") + + # Make multiple configurations (debug/non-debug). + build_args_all = [build_args] + build_args_other = re.sub("($|\\s)(-DNDEBUG)\\b", "\\1-DDEBUG", build_args) + if build_args_other != build_args: + build_args_all.append(build_args_other) + build_args_other = re.sub("($|\\s)(-DDEBUG)\\b", "\\1-DNDEBUG", build_args) + if build_args_other != build_args: + build_args_all.append(build_args_other) + del build_args, build_args_other + i = 0 while i < len(lines): l = lines[i] @@ -296,7 +307,11 @@ def wash_source_include(arg_group): write_lines(lines) # ensure this fails!, else we may be in an `#if 0` block - ret = os.system(build_args) + for build_args in build_args_all: + ret = os.system(build_args) + if ret != 0: + break + if ret != 0: lines[i] = l_new @@ -314,7 +329,11 @@ def wash_source_include(arg_group): del l_bad_guard - ret = os.system(build_args + " -Wno-unused-macros -Werror=missing-prototypes") + for build_args in build_args_all: + ret = os.system(build_args + " -Wno-unused-macros -Werror=missing-prototypes") + if ret != 0: + break + if ret != 0: lines[i] = l_prev write_lines(lines)