Chromium Code Reviews| Index: pylib/gyp/generator/ninja.py |
| =================================================================== |
| --- pylib/gyp/generator/ninja.py (revision 1462) |
| +++ pylib/gyp/generator/ninja.py (working copy) |
| @@ -1267,6 +1267,13 @@ |
| return open(path, mode) |
| +def CommandWithWrapper(cmd, wrappers, prog): |
| + wrapper = wrappers.get(cmd, '') |
| + if wrapper: |
| + return wrapper + ' ' + prog |
| + return prog |
| + |
| + |
| def GenerateOutputForConfig(target_list, target_dicts, data, params, |
| config_name): |
| options = params['options'] |
| @@ -1297,15 +1304,24 @@ |
| build_file, _, _ = gyp.common.ParseQualifiedTarget(target_list[0]) |
| make_global_settings = data[build_file].get('make_global_settings', []) |
| build_to_root = InvertRelativePath(build_dir) |
| + flock = 'flock' |
| + if flavor == 'mac': |
| + flock = './gyp-mac-tool flock' |
| + wrappers = {} |
| + if flavor != 'win': |
| + wrappers['link'] = flock + ' linker.lock' |
| + wrappers['link_target'] = flock + ' linker.lock' |
| for key, value in make_global_settings: |
| if key == 'CC': cc = os.path.join(build_to_root, value) |
| if key == 'CXX': cxx = os.path.join(build_to_root, value) |
| + m = re.match('(.*)_wrapper', key) |
|
Nico
2013/02/19 17:21:30
same comment as in the make generator
ukai
2013/02/20 07:22:53
Done.
|
| + if m: |
| + wrappers[m.group(1).lower()] = os.path.join(build_to_root, value) |
|
Nico
2013/02/19 17:21:30
You don't use lower() in the make generator. Shoul
ukai
2013/02/20 07:22:53
Done.
|
| - flock = 'flock' |
| - if flavor == 'mac': |
| - flock = './gyp-mac-tool flock' |
| - master_ninja.variable('cc', os.environ.get('CC', cc)) |
| - master_ninja.variable('cxx', os.environ.get('CXX', cxx)) |
| + master_ninja.variable('cc', CommandWithWrapper('cc', wrappers, |
| + os.environ.get('CC', cc))) |
| + master_ninja.variable('cxx', CommandWithWrapper('cxx', wrappers, |
| + os.environ.get('CXX', cxx))) |
| if flavor == 'win': |
| master_ninja.variable('ld', 'link.exe') |
| master_ninja.variable('idl', 'midl.exe') |
| @@ -1315,7 +1331,7 @@ |
| master_ninja.variable('mt', 'mt.exe') |
| master_ninja.variable('use_dep_database', '1') |
| else: |
| - master_ninja.variable('ld', flock + ' linker.lock $cxx') |
| + master_ninja.variable('ld', CommandWithWrapper('link', wrappers, '$cxx')) |
| master_ninja.variable('ar', os.environ.get('AR', 'ar')) |
| master_ninja.variable('ar_target', os.environ.get('AR_target', '$ar')) |
| @@ -1324,7 +1340,9 @@ |
| if flavor == 'win': |
| master_ninja.variable('ld_target', os.environ.get('LD_target', '$ld')) |
| else: |
| - master_ninja.variable('ld_target', flock + ' linker.lock $cxx_target') |
| + master_ninja.variable('ld_target', |
| + CommandWithWrapper('link_target', wrappers, |
| + '$cxx_target')) |
| if flavor == 'mac': |
| master_ninja.variable('mac_tool', os.path.join('.', 'gyp-mac-tool')) |