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

Side by Side Diff: build/vs_toolchain.py

Issue 2782603002: Enable content shell crash integration test on Windows (Closed)
Patch Set: typo Created 3 years, 8 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
« no previous file with comments | « no previous file | build/win/copy_cdb_to_output.py » ('j') | build/win/copy_cdb_to_output/BUILD.gn » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright 2014 The Chromium Authors. All rights reserved. 2 # Copyright 2014 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 import glob 6 import glob
7 import json 7 import json
8 import os 8 import os
9 import pipes 9 import pipes
10 import platform 10 import platform
(...skipping 286 matching lines...) Expand 10 before | Expand all | Expand 10 after
297 vs_runtime_dll_dirs = SetEnvironmentAndGetRuntimeDllDirs() 297 vs_runtime_dll_dirs = SetEnvironmentAndGetRuntimeDllDirs()
298 if not vs_runtime_dll_dirs: 298 if not vs_runtime_dll_dirs:
299 return 299 return
300 300
301 x64_runtime, x86_runtime = vs_runtime_dll_dirs 301 x64_runtime, x86_runtime = vs_runtime_dll_dirs
302 runtime_dir = x64_runtime if target_cpu == 'x64' else x86_runtime 302 runtime_dir = x64_runtime if target_cpu == 'x64' else x86_runtime
303 _CopyRuntime(target_dir, runtime_dir, target_cpu, debug=False) 303 _CopyRuntime(target_dir, runtime_dir, target_cpu, debug=False)
304 if configuration == 'Debug': 304 if configuration == 'Debug':
305 _CopyRuntime(target_dir, runtime_dir, target_cpu, debug=True) 305 _CopyRuntime(target_dir, runtime_dir, target_cpu, debug=True)
306 306
307 _CopyDebugger(target_dir, target_cpu)
308
309
310 def _CopyDebugger(target_dir, target_cpu):
311 """Copy cdb.exe into the requested directory as needed.
312
313 target_cpu is one of 'x86' or 'x64'.
314
315 This is used for the GN build.
316 """
317 win_sdk_dir = SetEnvironmentAndGetSDKDir()
318 if not win_sdk_dir:
319 return
320
321 debugger_files = (
322 'cdb.exe', 'dbgeng.dll', 'dbghelp.dll', 'dbgmodel.dll', 'dbgcore.dll')
323
324 for debug_file in debugger_files:
325 full_path = os.path.join(win_sdk_dir, 'Debuggers', target_cpu, debug_file)
326 target_path = os.path.join(target_dir, debug_file)
327 _CopyRuntimeImpl(target_path, full_path)
328
329 307
330 def _GetDesiredVsToolchainHashes(): 308 def _GetDesiredVsToolchainHashes():
331 """Load a list of SHA1s corresponding to the toolchains that we want installed 309 """Load a list of SHA1s corresponding to the toolchains that we want installed
332 to build with.""" 310 to build with."""
333 env_version = GetVisualStudioVersion() 311 env_version = GetVisualStudioVersion()
334 if env_version == '2015': 312 if env_version == '2015':
335 # Update 3 final with patches with 10.0.14393.0 SDK. 313 # Update 3 final with patches with 10.0.14393.0 SDK.
336 return ['d3cb0e37bdd120ad0ac4650b674b09e81be45616'] 314 return ['d3cb0e37bdd120ad0ac4650b674b09e81be45616']
337 if env_version == '2017': 315 if env_version == '2017':
338 # VS 2017 RTM with 10.0.14393.0 SDK. 316 # VS 2017 RTM with 10.0.14393.0 SDK.
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
386 364
387 return 0 365 return 0
388 366
389 367
390 def NormalizePath(path): 368 def NormalizePath(path):
391 while path.endswith("\\"): 369 while path.endswith("\\"):
392 path = path[:-1] 370 path = path[:-1]
393 return path 371 return path
394 372
395 373
396 def SetEnvironmentAndGetSDKDir(): 374 def GetToolchainDir():
scottmg 2017/03/29 23:17:39 This is used from tools/win/setenv.py, can you upd
jochen (gone - plz use gerrit) 2017/03/31 08:47:02 I left this method in instead
397 """Gets location information about the current sdk (must have been 375 """Gets location information about the current toolchain (must have been
398 previously updated by 'update'). This is used for the GN build.""" 376 previously updated by 'update'). This is used for the GN build."""
399 runtime_dll_dirs = SetEnvironmentAndGetRuntimeDllDirs() 377 runtime_dll_dirs = SetEnvironmentAndGetRuntimeDllDirs()
400 378
401 # If WINDOWSSDKDIR is not set, search the default SDK path and set it. 379 # If WINDOWSSDKDIR is not set, search the default SDK path and set it.
402 if not 'WINDOWSSDKDIR' in os.environ: 380 if not 'WINDOWSSDKDIR' in os.environ:
403 default_sdk_path = 'C:\\Program Files (x86)\\Windows Kits\\10' 381 default_sdk_path = 'C:\\Program Files (x86)\\Windows Kits\\10'
404 if os.path.isdir(default_sdk_path): 382 if os.path.isdir(default_sdk_path):
405 os.environ['WINDOWSSDKDIR'] = default_sdk_path 383 os.environ['WINDOWSSDKDIR'] = default_sdk_path
406 384
407 return NormalizePath(os.environ['WINDOWSSDKDIR'])
408
409
410 def GetToolchainDir():
411 """Gets location information about the current toolchain (must have been
412 previously updated by 'update'). This is used for the GN build."""
413 runtime_dll_dirs = SetEnvironmentAndGetRuntimeDllDirs()
414 win_sdk_dir = SetEnvironmentAndGetSDKDir()
415
416 print '''vs_path = "%s" 385 print '''vs_path = "%s"
417 sdk_path = "%s" 386 sdk_path = "%s"
418 vs_version = "%s" 387 vs_version = "%s"
419 wdk_dir = "%s" 388 wdk_dir = "%s"
420 runtime_dirs = "%s" 389 runtime_dirs = "%s"
421 ''' % ( 390 ''' % (
422 NormalizePath(os.environ['GYP_MSVS_OVERRIDE_PATH']), 391 NormalizePath(os.environ['GYP_MSVS_OVERRIDE_PATH']),
423 win_sdk_dir, 392 NormalizePath(os.environ['WINDOWSSDKDIR']),
424 GetVisualStudioVersion(), 393 GetVisualStudioVersion(),
425 NormalizePath(os.environ.get('WDK_DIR', '')), 394 NormalizePath(os.environ.get('WDK_DIR', '')),
426 os.path.pathsep.join(runtime_dll_dirs or ['None'])) 395 os.path.pathsep.join(runtime_dll_dirs or ['None']))
427 396
428 397
429 def main(): 398 def main():
430 commands = { 399 commands = {
431 'update': Update, 400 'update': Update,
432 'get_toolchain_dir': GetToolchainDir, 401 'get_toolchain_dir': GetToolchainDir,
433 'copy_dlls': CopyDlls, 402 'copy_dlls': CopyDlls,
434 } 403 }
435 if len(sys.argv) < 2 or sys.argv[1] not in commands: 404 if len(sys.argv) < 2 or sys.argv[1] not in commands:
436 print >>sys.stderr, 'Expected one of: %s' % ', '.join(commands) 405 print >>sys.stderr, 'Expected one of: %s' % ', '.join(commands)
437 return 1 406 return 1
438 return commands[sys.argv[1]](*sys.argv[2:]) 407 return commands[sys.argv[1]](*sys.argv[2:])
439 408
440 409
441 if __name__ == '__main__': 410 if __name__ == '__main__':
442 sys.exit(main()) 411 sys.exit(main())
OLDNEW
« no previous file with comments | « no previous file | build/win/copy_cdb_to_output.py » ('j') | build/win/copy_cdb_to_output/BUILD.gn » ('J')

Powered by Google App Engine
This is Rietveld 408576698