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

Side by Side Diff: tools/auto_bisect/builder.py

Issue 961193002: Make perf try jobs for win x64 build x64 binaries. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 9 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
OLDNEW
1 # Copyright 2014 The Chromium Authors. All rights reserved. 1 # Copyright 2014 The Chromium Authors. 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 """Classes and functions for building Chrome. 5 """Classes and functions for building Chrome.
6 6
7 This includes functions for running commands to build, as well as 7 This includes functions for running commands to build, as well as
8 specific rules about which targets to build. 8 specific rules about which targets to build.
9 """ 9 """
10 10
(...skipping 25 matching lines...) Expand all
36 36
37 if opts.build_preference == 'msvs': 37 if opts.build_preference == 'msvs':
38 if not os.getenv('VS100COMNTOOLS'): 38 if not os.getenv('VS100COMNTOOLS'):
39 raise RuntimeError( 39 raise RuntimeError(
40 'Path to visual studio could not be determined.') 40 'Path to visual studio could not be determined.')
41 else: 41 else:
42 # Need to re-escape goma dir, see crbug.com/394990. 42 # Need to re-escape goma dir, see crbug.com/394990.
43 if opts.goma_dir: 43 if opts.goma_dir:
44 opts.goma_dir = opts.goma_dir.encode('string_escape') 44 opts.goma_dir = opts.goma_dir.encode('string_escape')
45 SetBuildSystemDefault(opts.build_preference, opts.use_goma, 45 SetBuildSystemDefault(opts.build_preference, opts.use_goma,
46 opts.goma_dir) 46 opts.goma_dir, opts.target_arch)
47 else: 47 else:
48 if not opts.build_preference: 48 if not opts.build_preference:
49 if 'ninja' in os.getenv('GYP_GENERATORS', default=''): 49 if 'ninja' in os.getenv('GYP_GENERATORS', default=''):
50 opts.build_preference = 'ninja' 50 opts.build_preference = 'ninja'
51 else: 51 else:
52 opts.build_preference = 'make' 52 opts.build_preference = 'make'
53 53
54 SetBuildSystemDefault(opts.build_preference, opts.use_goma, opts.goma_dir) 54 SetBuildSystemDefault(opts.build_preference, opts.use_goma, opts.goma_dir)
55 55
56 if not SetupPlatformBuildEnvironment(opts): 56 if not SetupPlatformBuildEnvironment(opts):
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
184 super(AndroidChromeBuilder, self).__init__(opts) 184 super(AndroidChromeBuilder, self).__init__(opts)
185 185
186 # TODO(qyearsley): Make this a class method and verify that it works with 186 # TODO(qyearsley): Make this a class method and verify that it works with
187 # a unit test. 187 # a unit test.
188 # pylint: disable=R0201 188 # pylint: disable=R0201
189 def _GetTargets(self): 189 def _GetTargets(self):
190 """Returns a list of build targets.""" 190 """Returns a list of build targets."""
191 return AndroidBuilder._GetTargets(self) + ['chrome_apk'] 191 return AndroidBuilder._GetTargets(self) + ['chrome_apk']
192 192
193 193
194 def SetBuildSystemDefault(build_system, use_goma, goma_dir): 194 def SetBuildSystemDefault(build_system, use_goma, goma_dir, target_arch='ia32'):
195 """Sets up any environment variables needed to build with the specified build 195 """Sets up any environment variables needed to build with the specified build
196 system. 196 system.
197 197
198 Args: 198 Args:
199 build_system: A string specifying build system. Currently only 'ninja' or 199 build_system: A string specifying build system. Currently only 'ninja' or
200 'make' are supported. 200 'make' are supported.
201 use_goma: Determines whether to GOMA for compile.
202 goma_dir: GOMA directory path.
203 target_arch: The target build architecture ia32 or x64. Default is ia32
qyearsley 2015/02/27 03:37:57 Style nit: Missing period at the end; I think you
prasadv 2015/02/27 18:08:16 Done.
201 """ 204 """
202 if build_system == 'ninja': 205 if build_system == 'ninja':
203 gyp_var = os.getenv('GYP_GENERATORS', default='') 206 gyp_var = os.getenv('GYP_GENERATORS', default='')
204 207
205 if not gyp_var or not 'ninja' in gyp_var: 208 if not gyp_var or not 'ninja' in gyp_var:
206 if gyp_var: 209 if gyp_var:
207 os.environ['GYP_GENERATORS'] = gyp_var + ',ninja' 210 os.environ['GYP_GENERATORS'] = gyp_var + ',ninja'
208 else: 211 else:
209 os.environ['GYP_GENERATORS'] = 'ninja' 212 os.environ['GYP_GENERATORS'] = 'ninja'
210 213
211 if bisect_utils.IsWindowsHost(): 214 if bisect_utils.IsWindowsHost():
212 os.environ['GYP_DEFINES'] = 'component=shared_library '\ 215 os.environ['GYP_DEFINES'] = 'component=shared_library '\
213 'incremental_chrome_dll=1 disable_nacl=1 fastbuild=1 '\ 216 'incremental_chrome_dll=1 disable_nacl=1 fastbuild=1 '\
214 'chromium_win_pch=0' 217 'chromium_win_pch=0'
215 218
216 elif build_system == 'make': 219 elif build_system == 'make':
217 os.environ['GYP_GENERATORS'] = 'make' 220 os.environ['GYP_GENERATORS'] = 'make'
218 else: 221 else:
219 raise RuntimeError('%s build not supported.' % build_system) 222 raise RuntimeError('%s build not supported.' % build_system)
220 223
221 if use_goma: 224 if use_goma:
222 os.environ['GYP_DEFINES'] = '%s %s' % (os.getenv('GYP_DEFINES', default=''), 225 os.environ['GYP_DEFINES'] = '%s %s' % (os.getenv('GYP_DEFINES', default=''),
223 'use_goma=1') 226 'use_goma=1')
224 if goma_dir: 227 if goma_dir:
225 os.environ['GYP_DEFINES'] += ' gomadir=%s' % goma_dir 228 os.environ['GYP_DEFINES'] += ' gomadir=%s' % goma_dir
226 229
230 # Produce 64 bit chromium binaries when target architecure is set to x64.
231 if target_arch == 'x64':
232 os.environ['GYP_DEFINES'] += ' target_arch=%s' % target_arch
227 233
228 def SetupPlatformBuildEnvironment(opts): 234 def SetupPlatformBuildEnvironment(opts):
229 """Performs any platform-specific setup. 235 """Performs any platform-specific setup.
230 236
231 Args: 237 Args:
232 opts: The options parsed from the command line through parse_args(). 238 opts: The options parsed from the command line through parse_args().
233 239
234 Returns: 240 Returns:
235 True if successful. 241 True if successful.
236 """ 242 """
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
340 # (See http://crrev.com/170273005). So, we set this variable explicitly here 346 # (See http://crrev.com/170273005). So, we set this variable explicitly here
341 # in order to build Chrome on Android. 347 # in order to build Chrome on Android.
342 if 'GYP_DEFINES' not in os.environ: 348 if 'GYP_DEFINES' not in os.environ:
343 os.environ['GYP_DEFINES'] = 'OS=android' 349 os.environ['GYP_DEFINES'] = 'OS=android'
344 else: 350 else:
345 os.environ['GYP_DEFINES'] += ' OS=android' 351 os.environ['GYP_DEFINES'] += ' OS=android'
346 352
347 if opts.use_goma: 353 if opts.use_goma:
348 os.environ['GYP_DEFINES'] += ' use_goma=1' 354 os.environ['GYP_DEFINES'] += ' use_goma=1'
349 return not proc.returncode 355 return not proc.returncode
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698