OLD | NEW |
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 copy | 5 import copy |
6 import hashlib | 6 import hashlib |
7 import multiprocessing | 7 import multiprocessing |
8 import os.path | 8 import os.path |
9 import re | 9 import re |
10 import signal | 10 import signal |
(...skipping 2083 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2094 def CallGenerateOutputForConfig(arglist): | 2094 def CallGenerateOutputForConfig(arglist): |
2095 # Ignore the interrupt signal so that the parent process catches it and | 2095 # Ignore the interrupt signal so that the parent process catches it and |
2096 # kills all multiprocessing children. | 2096 # kills all multiprocessing children. |
2097 signal.signal(signal.SIGINT, signal.SIG_IGN) | 2097 signal.signal(signal.SIGINT, signal.SIG_IGN) |
2098 | 2098 |
2099 (target_list, target_dicts, data, params, config_name) = arglist | 2099 (target_list, target_dicts, data, params, config_name) = arglist |
2100 GenerateOutputForConfig(target_list, target_dicts, data, params, config_name) | 2100 GenerateOutputForConfig(target_list, target_dicts, data, params, config_name) |
2101 | 2101 |
2102 | 2102 |
2103 def GenerateOutput(target_list, target_dicts, data, params): | 2103 def GenerateOutput(target_list, target_dicts, data, params): |
| 2104 # Update target_dicts for iOS device builds. |
| 2105 target_dicts = gyp.xcode_emulation.CloneConfigurationForDeviceAndEmulator( |
| 2106 target_dicts) |
| 2107 |
2104 user_config = params.get('generator_flags', {}).get('config', None) | 2108 user_config = params.get('generator_flags', {}).get('config', None) |
2105 if gyp.common.GetFlavor(params) == 'win': | 2109 if gyp.common.GetFlavor(params) == 'win': |
2106 target_list, target_dicts = MSVSUtil.ShardTargets(target_list, target_dicts) | 2110 target_list, target_dicts = MSVSUtil.ShardTargets(target_list, target_dicts) |
2107 target_list, target_dicts = MSVSUtil.InsertLargePdbShims( | 2111 target_list, target_dicts = MSVSUtil.InsertLargePdbShims( |
2108 target_list, target_dicts, generator_default_variables) | 2112 target_list, target_dicts, generator_default_variables) |
2109 | 2113 |
2110 if user_config: | 2114 if user_config: |
2111 GenerateOutputForConfig(target_list, target_dicts, data, params, | 2115 GenerateOutputForConfig(target_list, target_dicts, data, params, |
2112 user_config) | 2116 user_config) |
2113 else: | 2117 else: |
2114 config_names = target_dicts[target_list[0]]['configurations'].keys() | 2118 config_names = target_dicts[target_list[0]]['configurations'].keys() |
2115 if params['parallel']: | 2119 if params['parallel']: |
2116 try: | 2120 try: |
2117 pool = multiprocessing.Pool(len(config_names)) | 2121 pool = multiprocessing.Pool(len(config_names)) |
2118 arglists = [] | 2122 arglists = [] |
2119 for config_name in config_names: | 2123 for config_name in config_names: |
2120 arglists.append( | 2124 arglists.append( |
2121 (target_list, target_dicts, data, params, config_name)) | 2125 (target_list, target_dicts, data, params, config_name)) |
2122 pool.map(CallGenerateOutputForConfig, arglists) | 2126 pool.map(CallGenerateOutputForConfig, arglists) |
2123 except KeyboardInterrupt, e: | 2127 except KeyboardInterrupt, e: |
2124 pool.terminate() | 2128 pool.terminate() |
2125 raise e | 2129 raise e |
2126 else: | 2130 else: |
2127 for config_name in config_names: | 2131 for config_name in config_names: |
2128 GenerateOutputForConfig(target_list, target_dicts, data, params, | 2132 GenerateOutputForConfig(target_list, target_dicts, data, params, |
2129 config_name) | 2133 config_name) |
OLD | NEW |