summaryrefslogtreecommitdiff
path: root/scripts/export-xcconfig.py
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/export-xcconfig.py')
-rwxr-xr-xscripts/export-xcconfig.py20
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()