diff options
author | phajdan.jr@chromium.org <phajdan.jr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-01-18 20:46:42 +0000 |
---|---|---|
committer | phajdan.jr@chromium.org <phajdan.jr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-01-18 20:46:42 +0000 |
commit | 94e4f5f000b149ce1e9a9936fd311219731f2854 (patch) | |
tree | 2bad971c191e8da4d53985fc85e32714be36dfcf | |
parent | b1156cb05eb51eba79ae543ffaad3e115d66cbc9 (diff) | |
download | chromium_src-94e4f5f000b149ce1e9a9936fd311219731f2854.zip chromium_src-94e4f5f000b149ce1e9a9936fd311219731f2854.tar.gz chromium_src-94e4f5f000b149ce1e9a9936fd311219731f2854.tar.bz2 |
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
-rw-r--r-- | third_party/re2/re2.gyp | 7 | ||||
-rwxr-xr-x | tools/generate_shim_headers/generate_shim_headers.py | 17 |
2 files changed, 24 insertions, 0 deletions
diff --git a/third_party/re2/re2.gyp b/third_party/re2/re2.gyp index f982497..4608945 100644 --- a/third_party/re2/re2.gyp +++ b/third_party/re2/re2.gyp @@ -100,6 +100,13 @@ 're2/stringpiece.h', 're2/variadic_function.h', ], + 'shim_generator_additional_args': [ + # Chromium copy of re2 is patched to rename POSIX to POSIX_SYNTAX + # because of collision issues that break the build. + # Upstream refuses to make changes: + # http://code.google.com/p/re2/issues/detail?id=73 . + '--define', 'POSIX=POSIX_SYNTAX', + ], }, 'includes': [ '../../build/shim_headers.gypi', 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)) |