summaryrefslogtreecommitdiff
path: root/chromium/tools/swig
diff options
context:
space:
mode:
authorZeno Albisser <zeno.albisser@digia.com>2013-08-15 21:46:11 +0200
committerZeno Albisser <zeno.albisser@digia.com>2013-08-15 21:46:11 +0200
commit679147eead574d186ebf3069647b4c23e8ccace6 (patch)
treefc247a0ac8ff119f7c8550879ebb6d3dd8d1ff69 /chromium/tools/swig
downloadqtwebengine-chromium-679147eead574d186ebf3069647b4c23e8ccace6.tar.gz
Initial import.
Diffstat (limited to 'chromium/tools/swig')
-rwxr-xr-xchromium/tools/swig/swig.py45
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())