Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(329)

Side by Side Diff: pylib/gyp/generator/ninja.py

Issue 333353002: Teach Ninja generator about 'AR.host' specified in 'make_global_settings'. (Closed) Base URL: http://gyp.googlecode.com/svn/trunk
Patch Set: Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | test/make_global_settings/ar/gyptest-make_global_settings_ar.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (c) 2013 Google Inc. All rights reserved. 1 # Copyright (c) 2013 Google Inc. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 import collections 5 import collections
6 import copy 6 import copy
7 import hashlib 7 import hashlib
8 import json 8 import json
9 import multiprocessing 9 import multiprocessing
10 import os.path 10 import os.path
(...skipping 1715 matching lines...) Expand 10 before | Expand all | Expand 10 after
1726 ld_host = '$ld' 1726 ld_host = '$ld'
1727 else: 1727 else:
1728 ar = 'ar' 1728 ar = 'ar'
1729 cc = 'cc' 1729 cc = 'cc'
1730 cxx = 'c++' 1730 cxx = 'c++'
1731 ld = '$cc' 1731 ld = '$cc'
1732 ldxx = '$cxx' 1732 ldxx = '$cxx'
1733 ld_host = '$cc_host' 1733 ld_host = '$cc_host'
1734 ldxx_host = '$cxx_host' 1734 ldxx_host = '$cxx_host'
1735 1735
1736 ar_host = 'ar'
1736 cc_host = None 1737 cc_host = None
1737 cxx_host = None 1738 cxx_host = None
1738 cc_host_global_setting = None 1739 cc_host_global_setting = None
1739 cxx_host_global_setting = None 1740 cxx_host_global_setting = None
1740 clang_cl = None 1741 clang_cl = None
1741 1742
1742 build_file, _, _ = gyp.common.ParseQualifiedTarget(target_list[0]) 1743 build_file, _, _ = gyp.common.ParseQualifiedTarget(target_list[0])
1743 make_global_settings = data[build_file].get('make_global_settings', []) 1744 make_global_settings = data[build_file].get('make_global_settings', [])
1744 build_to_root = gyp.common.InvertRelativePath(build_dir, 1745 build_to_root = gyp.common.InvertRelativePath(build_dir,
1745 options.toplevel_dir) 1746 options.toplevel_dir)
1746 wrappers = {} 1747 wrappers = {}
1747 for key, value in make_global_settings: 1748 for key, value in make_global_settings:
1748 if key == 'AR': 1749 if key == 'AR':
1749 ar = os.path.join(build_to_root, value) 1750 ar = os.path.join(build_to_root, value)
1751 if key == 'AR.host':
1752 ar_host = os.path.join(build_to_root, value)
1750 if key == 'CC': 1753 if key == 'CC':
1751 cc = os.path.join(build_to_root, value) 1754 cc = os.path.join(build_to_root, value)
1752 if cc.endswith('clang-cl'): 1755 if cc.endswith('clang-cl'):
1753 clang_cl = cc 1756 clang_cl = cc
1754 if key == 'CXX': 1757 if key == 'CXX':
1755 cxx = os.path.join(build_to_root, value) 1758 cxx = os.path.join(build_to_root, value)
1756 if key == 'CC.host': 1759 if key == 'CC.host':
1757 cc_host = os.path.join(build_to_root, value) 1760 cc_host = os.path.join(build_to_root, value)
1758 cc_host_global_setting = value 1761 cc_host_global_setting = value
1759 if key == 'CXX.host': 1762 if key == 'CXX.host':
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
1803 master_ninja.variable('ld', CommandWithWrapper('LINK', wrappers, ld)) 1806 master_ninja.variable('ld', CommandWithWrapper('LINK', wrappers, ld))
1804 master_ninja.variable('ldxx', CommandWithWrapper('LINK', wrappers, ldxx)) 1807 master_ninja.variable('ldxx', CommandWithWrapper('LINK', wrappers, ldxx))
1805 master_ninja.variable('ar', GetEnvironFallback(['AR_target', 'AR'], ar)) 1808 master_ninja.variable('ar', GetEnvironFallback(['AR_target', 'AR'], ar))
1806 1809
1807 if generator_supports_multiple_toolsets: 1810 if generator_supports_multiple_toolsets:
1808 if not cc_host: 1811 if not cc_host:
1809 cc_host = cc 1812 cc_host = cc
1810 if not cxx_host: 1813 if not cxx_host:
1811 cxx_host = cxx 1814 cxx_host = cxx
1812 1815
1813 master_ninja.variable('ar_host', GetEnvironFallback(['AR_host'], 'ar')) 1816 master_ninja.variable('ar_host', GetEnvironFallback(['AR_host'], ar_host))
1814 cc_host = GetEnvironFallback(['CC_host'], cc_host) 1817 cc_host = GetEnvironFallback(['CC_host'], cc_host)
1815 cxx_host = GetEnvironFallback(['CXX_host'], cxx_host) 1818 cxx_host = GetEnvironFallback(['CXX_host'], cxx_host)
1816 1819
1817 # The environment variable could be used in 'make_global_settings', like 1820 # The environment variable could be used in 'make_global_settings', like
1818 # ['CC.host', '$(CC)'] or ['CXX.host', '$(CXX)'], transform them here. 1821 # ['CC.host', '$(CC)'] or ['CXX.host', '$(CXX)'], transform them here.
1819 if '$(CC)' in cc_host and cc_host_global_setting: 1822 if '$(CC)' in cc_host and cc_host_global_setting:
1820 cc_host = cc_host_global_setting.replace('$(CC)', cc) 1823 cc_host = cc_host_global_setting.replace('$(CC)', cc)
1821 if '$(CXX)' in cxx_host and cxx_host_global_setting: 1824 if '$(CXX)' in cxx_host and cxx_host_global_setting:
1822 cxx_host = cxx_host_global_setting.replace('$(CXX)', cxx) 1825 cxx_host = cxx_host_global_setting.replace('$(CXX)', cxx)
1823 master_ninja.variable('cc_host', 1826 master_ninja.variable('cc_host',
(...skipping 393 matching lines...) Expand 10 before | Expand all | Expand 10 after
2217 arglists.append( 2220 arglists.append(
2218 (target_list, target_dicts, data, params, config_name)) 2221 (target_list, target_dicts, data, params, config_name))
2219 pool.map(CallGenerateOutputForConfig, arglists) 2222 pool.map(CallGenerateOutputForConfig, arglists)
2220 except KeyboardInterrupt, e: 2223 except KeyboardInterrupt, e:
2221 pool.terminate() 2224 pool.terminate()
2222 raise e 2225 raise e
2223 else: 2226 else:
2224 for config_name in config_names: 2227 for config_name in config_names:
2225 GenerateOutputForConfig(target_list, target_dicts, data, params, 2228 GenerateOutputForConfig(target_list, target_dicts, data, params,
2226 config_name) 2229 config_name)
OLDNEW
« no previous file with comments | « no previous file | test/make_global_settings/ar/gyptest-make_global_settings_ar.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698