OLD | NEW |
1 #!/usr/bin/python | 1 #!/usr/bin/python |
2 | 2 |
3 # Copyright (c) 2010 The Chromium Authors. All rights reserved. | 3 # Copyright (c) 2010 The Chromium Authors. All rights reserved. |
4 # Use of this source code is governed by a BSD-style license that can be | 4 # Use of this source code is governed by a BSD-style license that can be |
5 # found in the LICENSE file. | 5 # found in the LICENSE file. |
6 | 6 |
7 """Wrapper around swig. | 7 """Wrapper around swig. |
8 | 8 |
9 Sets the SWIG_LIB environment var to point to Lib dir | 9 Sets the SWIG_LIB environment var to point to Lib dir |
10 and defers control to the platform-specific swig binary. | 10 and defers control to the platform-specific swig binary. |
11 | 11 |
12 Depends on swig binaries being available at ../../third_party/swig. | 12 Depends on swig binaries being available at ../../third_party/swig. |
13 """ | 13 """ |
14 | 14 |
15 import os | 15 import os |
16 import subprocess | 16 import subprocess |
17 import sys | 17 import sys |
18 | 18 |
19 | 19 |
20 def main(): | 20 def main(): |
21 swig_dir = os.path.abspath(os.path.join(os.path.dirname(sys.argv[0]), | 21 swig_dir = os.path.abspath(os.path.join(os.path.dirname(sys.argv[0]), |
22 os.pardir, os.pardir, 'third_party', 'swig')) | 22 os.pardir, os.pardir, 'third_party', 'swig')) |
23 lib_dir = os.path.join(swig_dir, "Lib") | 23 lib_dir = os.path.join(swig_dir, "Lib") |
24 os.putenv("SWIG_LIB", lib_dir) | 24 os.putenv("SWIG_LIB", lib_dir) |
25 dir_map = { | 25 dir_map = { |
26 'darwin': 'mac', | 26 'darwin': 'mac', |
27 'linux2': 'linux', | 27 'linux2': 'linux', |
| 28 'linux3': 'linux', |
28 'win32': 'win', | 29 'win32': 'win', |
29 } | 30 } |
30 # Swig documentation lies that platform macros are provided to swig | 31 # Swig documentation lies that platform macros are provided to swig |
31 # preprocessor. Provide them ourselves. | 32 # preprocessor. Provide them ourselves. |
32 platform_flags = { | 33 platform_flags = { |
33 'darwin': '-DSWIGMAC', | 34 'darwin': '-DSWIGMAC', |
34 'linux2': '-DSWIGLINUX', | 35 'linux2': '-DSWIGLINUX', |
| 36 'linux3': '-DSWIGLINUX', |
35 'win32': '-DSWIGWIN', | 37 'win32': '-DSWIGWIN', |
36 } | 38 } |
37 swig_bin = os.path.join(swig_dir, dir_map[sys.platform], 'swig') | 39 swig_bin = os.path.join(swig_dir, dir_map[sys.platform], 'swig') |
38 args = [swig_bin, platform_flags[sys.platform]] + sys.argv[1:] | 40 args = [swig_bin, platform_flags[sys.platform]] + sys.argv[1:] |
39 args = [x.replace('/', os.sep) for x in args] | 41 args = [x.replace('/', os.sep) for x in args] |
40 print "Executing", args | 42 print "Executing", args |
41 sys.exit(subprocess.call(args)) | 43 sys.exit(subprocess.call(args)) |
42 | 44 |
43 | 45 |
44 if __name__ == "__main__": | 46 if __name__ == "__main__": |
45 main() | 47 main() |
46 | 48 |
OLD | NEW |