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/tools/swig | |
download | qtwebengine-chromium-679147eead574d186ebf3069647b4c23e8ccace6.tar.gz |
Initial import.
Diffstat (limited to 'chromium/tools/swig')
-rwxr-xr-x | chromium/tools/swig/swig.py | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/chromium/tools/swig/swig.py b/chromium/tools/swig/swig.py new file mode 100755 index 00000000000..8f4babb98ae --- /dev/null +++ b/chromium/tools/swig/swig.py @@ -0,0 +1,45 @@ +#!/usr/bin/env python +# Copyright (c) 2012 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. + +"""Wrapper around swig. + +Sets the SWIG_LIB environment var to point to Lib dir +and defers control to the platform-specific swig binary. + +Depends on swig binaries being available at ../../third_party/swig. +""" + +import os +import subprocess +import sys + + +def main(): + swig_dir = os.path.abspath(os.path.join(os.path.dirname(sys.argv[0]), + os.pardir, os.pardir, 'third_party', 'swig')) + lib_dir = os.path.join(swig_dir, "Lib") + os.putenv("SWIG_LIB", lib_dir) + dir_map = { + 'darwin': 'mac', + 'linux2': 'linux', + 'linux3': 'linux', + 'win32': 'win', + } + # Swig documentation lies that platform macros are provided to swig + # preprocessor. Provide them ourselves. + platform_flags = { + 'darwin': '-DSWIGMAC', + 'linux2': '-DSWIGLINUX', + 'linux3': '-DSWIGLINUX', + 'win32': '-DSWIGWIN', + } + swig_bin = os.path.join(swig_dir, dir_map[sys.platform], 'swig') + args = [swig_bin, platform_flags[sys.platform]] + sys.argv[1:] + args = [x.replace('/', os.sep) for x in args] + return subprocess.call(args) + + +if __name__ == "__main__": + sys.exit(main()) |