diff options
| author | Zeno Albisser <zeno.albisser@digia.com> | 2013-08-15 21:46:11 +0200 |
|---|---|---|
| committer | Zeno Albisser <zeno.albisser@digia.com> | 2013-08-15 21:46:11 +0200 |
| commit | 679147eead574d186ebf3069647b4c23e8ccace6 (patch) | |
| tree | fc247a0ac8ff119f7c8550879ebb6d3dd8d1ff69 /chromium/build/linux/unbundle/replace_gyp_files.py | |
Initial import.
Diffstat (limited to 'chromium/build/linux/unbundle/replace_gyp_files.py')
| -rwxr-xr-x | chromium/build/linux/unbundle/replace_gyp_files.py | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/chromium/build/linux/unbundle/replace_gyp_files.py b/chromium/build/linux/unbundle/replace_gyp_files.py new file mode 100755 index 00000000000..c0fcc49f553 --- /dev/null +++ b/chromium/build/linux/unbundle/replace_gyp_files.py @@ -0,0 +1,81 @@ +#!/usr/bin/env python +# Copyright 2013 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +""" +Replaces gyp files in tree with files from here that +make the build use system libraries. +""" + + +import optparse +import os.path +import shutil +import sys + + +REPLACEMENTS = { + 'use_system_expat': 'third_party/expat/expat.gyp', + 'use_system_ffmpeg': 'third_party/ffmpeg/ffmpeg.gyp', + 'use_system_flac': 'third_party/flac/flac.gyp', + 'use_system_harfbuzz': 'third_party/harfbuzz-ng/harfbuzz.gyp', + 'use_system_icu': 'third_party/icu/icu.gyp', + 'use_system_jsoncpp': 'third_party/jsoncpp/jsoncpp.gyp', + 'use_system_libevent': 'third_party/libevent/libevent.gyp', + 'use_system_libjpeg': 'third_party/libjpeg/libjpeg.gyp', + 'use_system_libpng': 'third_party/libpng/libpng.gyp', + 'use_system_libusb': 'third_party/libusb/libusb.gyp', + 'use_system_libvpx': 'third_party/libvpx/libvpx.gyp', + 'use_system_libwebp': 'third_party/libwebp/libwebp.gyp', + 'use_system_libxml': 'third_party/libxml/libxml.gyp', + 'use_system_libxslt': 'third_party/libxslt/libxslt.gyp', + 'use_system_openssl': 'third_party/openssl/openssl.gyp', + 'use_system_opus': 'third_party/opus/opus.gyp', + 'use_system_re2': 'third_party/re2/re2.gyp', + 'use_system_snappy': 'third_party/snappy/snappy.gyp', + 'use_system_speex': 'third_party/speex/speex.gyp', + 'use_system_sqlite': 'third_party/sqlite/sqlite.gyp', + 'use_system_v8': 'v8/tools/gyp/v8.gyp', + 'use_system_zlib': 'third_party/zlib/zlib.gyp', +} + + +def DoMain(argv): + my_dirname = os.path.dirname(__file__) + source_tree_root = os.path.abspath( + os.path.join(my_dirname, '..', '..', '..')) + + parser = optparse.OptionParser() + + # Accept arguments in gyp command-line syntax, so that the caller can re-use + # command-line for this script and gyp. + parser.add_option('-D', dest='defines', action='append') + + parser.add_option('--undo', action='store_true') + + options, args = parser.parse_args(argv) + + for flag, path in REPLACEMENTS.items(): + if '%s=1' % flag not in options.defines: + continue + + if options.undo: + # Restore original file, and also remove the backup. + # This is meant to restore the source tree to its original state. + os.rename(os.path.join(source_tree_root, path + '.orig'), + os.path.join(source_tree_root, path)) + else: + # Create a backup copy for --undo. + shutil.copyfile(os.path.join(source_tree_root, path), + os.path.join(source_tree_root, path + '.orig')) + + # Copy the gyp file from directory of this script to target path. + shutil.copyfile(os.path.join(my_dirname, os.path.basename(path)), + os.path.join(source_tree_root, path)) + + return 0 + + +if __name__ == '__main__': + sys.exit(DoMain(sys.argv)) |
