| Index: pylib/gyp/generator/ninja.py
|
| diff --git a/pylib/gyp/generator/ninja.py b/pylib/gyp/generator/ninja.py
|
| index 41cece0061d9233fd315aa9ccc6b58f16fc1bb35..401ace5eadd195a9afb9b82c1a52dc299787f296 100644
|
| --- a/pylib/gyp/generator/ninja.py
|
| +++ b/pylib/gyp/generator/ninja.py
|
| @@ -1319,6 +1319,13 @@ def OpenOutput(path, mode='w'):
|
| 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']
|
| @@ -1378,6 +1385,12 @@ def GenerateOutputForConfig(target_list, target_dicts, data, params,
|
| make_global_settings = data[build_file].get('make_global_settings', [])
|
| build_to_root = gyp.common.InvertRelativePath(build_dir,
|
| options.toplevel_dir)
|
| + flock = 'flock'
|
| + if flavor == 'mac':
|
| + flock = './gyp-mac-tool flock'
|
| + wrappers = {}
|
| + if flavor != 'win':
|
| + wrappers['LINK'] = flock + ' linker.lock'
|
| for key, value in make_global_settings:
|
| if key == 'CC':
|
| cc = os.path.join(build_to_root, value)
|
| @@ -1393,14 +1406,13 @@ def GenerateOutputForConfig(target_list, target_dicts, data, params,
|
| cxx_host_global_setting = value
|
| if key == 'LD.host':
|
| ld_host = os.path.join(build_to_root, value)
|
| + if key.endswith('_wrapper'):
|
| + wrappers[key[:-len('_wrapper')]] = os.path.join(build_to_root, value)
|
|
|
| - flock = 'flock'
|
| - if flavor == 'mac':
|
| - flock = './gyp-mac-tool flock'
|
| cc = GetEnvironFallback(['CC_target', 'CC'], cc)
|
| - master_ninja.variable('cc', cc)
|
| + master_ninja.variable('cc', CommandWithWrapper('CC', wrappers, cc))
|
| cxx = GetEnvironFallback(['CXX_target', 'CXX'], cxx)
|
| - master_ninja.variable('cxx', cxx)
|
| + master_ninja.variable('cxx', CommandWithWrapper('CXX', wrappers, cxx))
|
| ld = GetEnvironFallback(['LD_target', 'LD'], ld)
|
|
|
| if not cc_host:
|
| @@ -1417,7 +1429,7 @@ def GenerateOutputForConfig(target_list, target_dicts, data, params,
|
| master_ninja.variable('mt', 'mt.exe')
|
| master_ninja.variable('use_dep_database', '1')
|
| else:
|
| - master_ninja.variable('ld', flock + ' linker.lock ' + ld)
|
| + master_ninja.variable('ld', CommandWithWrapper('LINK', wrappers, ld))
|
| master_ninja.variable('ar', GetEnvironFallback(['AR_target', 'AR'], 'ar'))
|
|
|
| master_ninja.variable('ar_host', GetEnvironFallback(['AR_host'], 'ar'))
|
| @@ -1436,7 +1448,8 @@ def GenerateOutputForConfig(target_list, target_dicts, data, params,
|
| if flavor == 'win':
|
| master_ninja.variable('ld_host', ld_host)
|
| else:
|
| - master_ninja.variable('ld_host', flock + ' linker.lock ' + ld_host)
|
| + master_ninja.variable('ld_host', CommandWithWrapper(
|
| + 'LINK', wrappers, ld_host))
|
|
|
| master_ninja.newline()
|
|
|
|
|