diff options
Diffstat (limited to 'scripts/export-xcconfig.py')
-rwxr-xr-x | scripts/export-xcconfig.py | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/scripts/export-xcconfig.py b/scripts/export-xcconfig.py new file mode 100755 index 0000000000..75fe933e24 --- /dev/null +++ b/scripts/export-xcconfig.py @@ -0,0 +1,20 @@ +#!/usr/bin/env python + +import sys, ast, re + +ILLEGAL_CHAR_RE = re.compile(r"\W") + +def main(): + with open(sys.argv[1], "r") as in_file, open(sys.argv[2], "w") as out_file: + config = ast.literal_eval(in_file.read()) + variables = ["// Do not edit -- generated by export-xcconfig.py\n"] + assert(type(config) is dict) + assert(type(config["variables"]) is dict) + for variable, flags in config["variables"].iteritems(): + variable = ILLEGAL_CHAR_RE.sub("_", variable.rstrip("%")) + flags = " ".join('"%s"' % flag for flag in flags) + variables.append("%s = %s\n" % (variable, flags)) + out_file.writelines(variables) + +if __name__ == '__main__': + main() |