| OLD | NEW |
| 1 # Copyright (c) 2012 Google Inc. All rights reserved. | 1 # Copyright (c) 2012 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 copy | 5 import copy |
| 6 import hashlib | 6 import hashlib |
| 7 import multiprocessing |
| 7 import os.path | 8 import os.path |
| 8 import re | 9 import re |
| 9 import subprocess | 10 import subprocess |
| 10 import sys | 11 import sys |
| 11 import gyp | 12 import gyp |
| 12 import gyp.common | 13 import gyp.common |
| 13 import gyp.msvs_emulation | 14 import gyp.msvs_emulation |
| 14 import gyp.MSVSVersion | 15 import gyp.MSVSVersion |
| 15 import gyp.xcode_emulation | 16 import gyp.xcode_emulation |
| 16 | 17 |
| (...skipping 1712 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1729 | 1730 |
| 1730 def PerformBuild(data, configurations, params): | 1731 def PerformBuild(data, configurations, params): |
| 1731 options = params['options'] | 1732 options = params['options'] |
| 1732 for config in configurations: | 1733 for config in configurations: |
| 1733 builddir = os.path.join(options.toplevel_dir, 'out', config) | 1734 builddir = os.path.join(options.toplevel_dir, 'out', config) |
| 1734 arguments = ['ninja', '-C', builddir] | 1735 arguments = ['ninja', '-C', builddir] |
| 1735 print 'Building [%s]: %s' % (config, arguments) | 1736 print 'Building [%s]: %s' % (config, arguments) |
| 1736 subprocess.check_call(arguments) | 1737 subprocess.check_call(arguments) |
| 1737 | 1738 |
| 1738 | 1739 |
| 1740 def CallGenerateOutputForConfig(arglist): |
| 1741 (target_list, target_dicts, data, params, config_name) = arglist |
| 1742 GenerateOutputForConfig(target_list, target_dicts, data, params, config_name) |
| 1743 |
| 1739 def GenerateOutput(target_list, target_dicts, data, params): | 1744 def GenerateOutput(target_list, target_dicts, data, params): |
| 1740 user_config = params.get('generator_flags', {}).get('config', None) | 1745 user_config = params.get('generator_flags', {}).get('config', None) |
| 1741 if user_config: | 1746 if user_config: |
| 1742 GenerateOutputForConfig(target_list, target_dicts, data, params, | 1747 GenerateOutputForConfig(target_list, target_dicts, data, params, |
| 1743 user_config) | 1748 user_config) |
| 1744 else: | 1749 else: |
| 1745 config_names = target_dicts[target_list[0]]['configurations'].keys() | 1750 config_names = target_dicts[target_list[0]]['configurations'].keys() |
| 1746 for config_name in config_names: | 1751 if params['parallel']: |
| 1747 GenerateOutputForConfig(target_list, target_dicts, data, params, | 1752 pool = multiprocessing.Pool(len(config_names)) |
| 1748 config_name) | 1753 arglists = [] |
| 1754 for config_name in config_names: |
| 1755 arglists.append((target_list, target_dicts, data, params, config_name)) |
| 1756 pool.map(CallGenerateOutputForConfig, arglists) |
| 1757 else: |
| 1758 for config_name in config_names: |
| 1759 GenerateOutputForConfig(target_list, target_dicts, data, params, |
| 1760 config_name) |
| OLD | NEW |