OLD | NEW |
| (Empty) |
1 #!/usr/bin/env python | |
2 # Copyright 2015 The Chromium Authors. All rights reserved. | |
3 # Use of this source code is governed by a BSD-style license that can be | |
4 # found in the LICENSE file. | |
5 | |
6 # This script returns the flags that should be passed to clang. | |
7 | |
8 # TODO(sof): the script can be removed when/once gyp support is retired; | |
9 # unused with gn. | |
10 | |
11 import os | |
12 import sys | |
13 | |
14 THIS_DIR = os.path.abspath(os.path.dirname(__file__)) | |
15 SRC_DIR = os.path.join(THIS_DIR, '..', '..', '..') | |
16 CLANG_LIB_PATH = os.path.normpath(os.path.join( | |
17 SRC_DIR, 'third_party', 'llvm-build', 'Release+Asserts', 'lib')) | |
18 | |
19 FLAGS = '-Xclang -add-plugin -Xclang blink-gc-plugin' | |
20 PREFIX= ' -Xclang -plugin-arg-blink-gc-plugin -Xclang ' | |
21 | |
22 for arg in sys.argv[1:]: | |
23 if arg == 'dump-graph=1': | |
24 FLAGS += PREFIX + 'dump-graph' | |
25 elif arg == 'warn-unneeded-finalizer=1': | |
26 FLAGS += PREFIX + 'warn-unneeded-finalizer' | |
27 elif arg.startswith('custom_clang_lib_path='): | |
28 CLANG_LIB_PATH = arg[len('custom_clang_lib_path='):] | |
29 elif arg == 'target_os=ios': | |
30 sys.stderr.write('error: blink is unsupported on iOS\n') | |
31 sys.exit(1) | |
32 | |
33 if not sys.platform in ['win32', 'cygwin']: | |
34 LIBSUFFIX = 'dylib' if sys.platform == 'darwin' else 'so' | |
35 FLAGS = ('-Xclang -load -Xclang "%s/libBlinkGCPlugin.%s" ' + FLAGS) % \ | |
36 (CLANG_LIB_PATH, LIBSUFFIX) | |
37 | |
38 print FLAGS | |
OLD | NEW |