From 94e4f5f000b149ce1e9a9936fd311219731f2854 Mon Sep 17 00:00:00 2001 From: "phajdan.jr@chromium.org" Date: Fri, 18 Jan 2013 20:46:42 +0000 Subject: Fix build with system re2 BUG=165264 Review URL: https://codereview.chromium.org/11871003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@177744 0039d316-1c4b-4281-b951-d872f2087c98 --- tools/generate_shim_headers/generate_shim_headers.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'tools/generate_shim_headers') diff --git a/tools/generate_shim_headers/generate_shim_headers.py b/tools/generate_shim_headers/generate_shim_headers.py index f0a5c99..891b75c 100755 --- a/tools/generate_shim_headers/generate_shim_headers.py +++ b/tools/generate_shim_headers/generate_shim_headers.py @@ -27,6 +27,7 @@ SHIM_TEMPLATE = """ def GeneratorMain(argv): parser = optparse.OptionParser() parser.add_option('--headers-root', action='append') + parser.add_option('--define', action='append') parser.add_option('--output-directory') parser.add_option('--use-include-next', action='store_true') parser.add_option('--outputs', action='store_true') @@ -66,6 +67,15 @@ def GeneratorMain(argv): with open(os.path.join(target_directory, header_filename), 'w') as f: f.write(SHIM_TEMPLATE) + if options.define: + for define in options.define: + key, value = define.split('=', 1) + # This non-standard push_macro extension is supported + # by compilers we support (GCC, clang). + f.write('#pragma push_macro("%s")\n' % key) + f.write('#undef %s\n' % key) + f.write('#define %s %s\n' % (key, value)) + if include_before: for header in include_before.split(':'): f.write('#include %s\n' % header) @@ -79,6 +89,13 @@ def GeneratorMain(argv): for header in include_after.split(':'): f.write('#include %s\n' % header) + if options.define: + for define in options.define: + key, value = define.split('=', 1) + # This non-standard pop_macro extension is supported + # by compilers we support (GCC, clang). + f.write('#pragma pop_macro("%s")\n' % key) + def DoMain(argv): return '\n'.join(GeneratorMain(argv)) -- cgit v1.1