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

Side by Side Diff: pylib/gyp/msvs_emulation.py

Issue 11359044: Add support for ProgramDatabaseFile to Ninja (Closed) Base URL: http://gyp.googlecode.com/svn/trunk/
Patch Set: Created 8 years, 1 month 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/win/gyptest-link-pdb.py » ('j') | test/win/linker-flags/program-database.gyp » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 """ 5 """
6 This module helps emulate Visual Studio 2008 behavior on top of other 6 This module helps emulate Visual Studio 2008 behavior on top of other
7 build systems, primarily ninja. 7 build systems, primarily ninja.
8 """ 8 """
9 9
10 import os 10 import os
(...skipping 384 matching lines...) Expand 10 before | Expand all | Expand 10 after
395 ld('RandomizedBaseAddress', 395 ld('RandomizedBaseAddress',
396 map={'1': ':NO', '2': ''}, prefix='/DYNAMICBASE') 396 map={'1': ':NO', '2': ''}, prefix='/DYNAMICBASE')
397 ld('DataExecutionPrevention', 397 ld('DataExecutionPrevention',
398 map={'1': ':NO', '2': ''}, prefix='/NXCOMPAT') 398 map={'1': ':NO', '2': ''}, prefix='/NXCOMPAT')
399 ld('OptimizeReferences', map={'1': 'NOREF', '2': 'REF'}, prefix='/OPT:') 399 ld('OptimizeReferences', map={'1': 'NOREF', '2': 'REF'}, prefix='/OPT:')
400 ld('EnableCOMDATFolding', map={'1': 'NOICF', '2': 'ICF'}, prefix='/OPT:') 400 ld('EnableCOMDATFolding', map={'1': 'NOICF', '2': 'ICF'}, prefix='/OPT:')
401 ld('LinkTimeCodeGeneration', map={'1': '/LTCG'}) 401 ld('LinkTimeCodeGeneration', map={'1': '/LTCG'})
402 ld('IgnoreDefaultLibraryNames', prefix='/NODEFAULTLIB:') 402 ld('IgnoreDefaultLibraryNames', prefix='/NODEFAULTLIB:')
403 ld('ResourceOnlyDLL', map={'true': '/NOENTRY'}) 403 ld('ResourceOnlyDLL', map={'true': '/NOENTRY'})
404 ld('EntryPointSymbol', prefix='/ENTRY:') 404 ld('EntryPointSymbol', prefix='/ENTRY:')
405 ld('ProgramDatabaseFile', prefix='/PDB:')
405 ld('Profile', map={ 'true': '/PROFILE'}) 406 ld('Profile', map={ 'true': '/PROFILE'})
406 # TODO(scottmg): This should sort of be somewhere else (not really a flag). 407 # TODO(scottmg): This should sort of be somewhere else (not really a flag).
407 ld('AdditionalDependencies', prefix='') 408 ld('AdditionalDependencies', prefix='')
408 # TODO(scottmg): These too. 409 # TODO(scottmg): These too.
409 ldflags.extend(('kernel32.lib', 'user32.lib', 'gdi32.lib', 'winspool.lib', 410 ldflags.extend(('kernel32.lib', 'user32.lib', 'gdi32.lib', 'winspool.lib',
410 'comdlg32.lib', 'advapi32.lib', 'shell32.lib', 'ole32.lib', 411 'comdlg32.lib', 'advapi32.lib', 'shell32.lib', 'ole32.lib',
411 'oleaut32.lib', 'uuid.lib', 'odbc32.lib', 'DelayImp.lib')) 412 'oleaut32.lib', 'uuid.lib', 'odbc32.lib', 'DelayImp.lib'))
412 413
413 # If the base address is not specifically controlled, DYNAMICBASE should 414 # If the base address is not specifically controlled, DYNAMICBASE should
414 # be on by default. 415 # be on by default.
(...skipping 285 matching lines...) Expand 10 before | Expand all | Expand 10 after
700 so they're not surprised when the VS build fails.""" 701 so they're not surprised when the VS build fails."""
701 if int(generator_flags.get('msvs_error_on_missing_sources', 0)): 702 if int(generator_flags.get('msvs_error_on_missing_sources', 0)):
702 no_specials = filter(lambda x: '$' not in x, sources) 703 no_specials = filter(lambda x: '$' not in x, sources)
703 relative = [os.path.join(build_dir, gyp_to_ninja(s)) for s in no_specials] 704 relative = [os.path.join(build_dir, gyp_to_ninja(s)) for s in no_specials]
704 missing = filter(lambda x: not os.path.exists(x), relative) 705 missing = filter(lambda x: not os.path.exists(x), relative)
705 if missing: 706 if missing:
706 # They'll look like out\Release\..\..\stuff\things.cc, so normalize the 707 # They'll look like out\Release\..\..\stuff\things.cc, so normalize the
707 # path for a slightly less crazy looking output. 708 # path for a slightly less crazy looking output.
708 cleaned_up = [os.path.normpath(x) for x in missing] 709 cleaned_up = [os.path.normpath(x) for x in missing]
709 raise Exception('Missing input files:\n%s' % '\n'.join(cleaned_up)) 710 raise Exception('Missing input files:\n%s' % '\n'.join(cleaned_up))
OLDNEW
« no previous file with comments | « no previous file | test/win/gyptest-link-pdb.py » ('j') | test/win/linker-flags/program-database.gyp » ('J')

Powered by Google App Engine
This is Rietveld 408576698