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

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

Issue 217813007: Pass the /safeseh option to ml.exe. (Closed) Base URL: https://chromium.googlesource.com/external/gyp.git@master
Patch Set: Add a unit test gyptest-ml-safeseh.py Created 6 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
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 327 matching lines...) Expand 10 before | Expand all | Expand 10 after
338 generate_debug_info = self._Setting( 338 generate_debug_info = self._Setting(
339 ('VCLinkerTool', 'GenerateDebugInformation'), config) 339 ('VCLinkerTool', 'GenerateDebugInformation'), config)
340 if generate_debug_info: 340 if generate_debug_info:
341 if output_file: 341 if output_file:
342 return expand_special(self.ConvertVSMacros(output_file, config=config)) 342 return expand_special(self.ConvertVSMacros(output_file, config=config))
343 else: 343 else:
344 return default 344 return default
345 else: 345 else:
346 return None 346 return None
347 347
348 def GetAsmflags(self, config):
349 """Returns the flags that need to be added to ml invocations."""
350 config = self._TargetConfig(config)
351 asmflags = []
352 safeseh = self._Setting(('MASM', 'UseSafeExceptionHandlers'), config)
353 if safeseh == 'true':
354 asmflags.append('/safeseh')
355 return asmflags
356
348 def GetCflags(self, config): 357 def GetCflags(self, config):
349 """Returns the flags that need to be added to .c and .cc compilations.""" 358 """Returns the flags that need to be added to .c and .cc compilations."""
350 config = self._TargetConfig(config) 359 config = self._TargetConfig(config)
351 cflags = [] 360 cflags = []
352 cflags.extend(['/wd' + w for w in self.msvs_disabled_warnings[config]]) 361 cflags.extend(['/wd' + w for w in self.msvs_disabled_warnings[config]])
353 cl = self._GetWrapper(self, self.msvs_settings[config], 362 cl = self._GetWrapper(self, self.msvs_settings[config],
354 'VCCLCompilerTool', append=cflags) 363 'VCCLCompilerTool', append=cflags)
355 cl('Optimization', 364 cl('Optimization',
356 map={'0': 'd', '1': '1', '2': '2', '3': 'x'}, prefix='/O', default='2') 365 map={'0': 'd', '1': '1', '2': '2', '3': 'x'}, prefix='/O', default='2')
357 cl('InlineFunctionExpansion', prefix='/Ob') 366 cl('InlineFunctionExpansion', prefix='/Ob')
(...skipping 601 matching lines...) Expand 10 before | Expand all | Expand 10 after
959 968
960 # To determine processor word size on Windows, in addition to checking 969 # To determine processor word size on Windows, in addition to checking
961 # PROCESSOR_ARCHITECTURE (which reflects the word size of the current 970 # PROCESSOR_ARCHITECTURE (which reflects the word size of the current
962 # process), it is also necessary to check PROCESSOR_ARCHITEW6432 (which 971 # process), it is also necessary to check PROCESSOR_ARCHITEW6432 (which
963 # contains the actual word size of the system when running thru WOW64). 972 # contains the actual word size of the system when running thru WOW64).
964 if ('64' in os.environ.get('PROCESSOR_ARCHITECTURE', '') or 973 if ('64' in os.environ.get('PROCESSOR_ARCHITECTURE', '') or
965 '64' in os.environ.get('PROCESSOR_ARCHITEW6432', '')): 974 '64' in os.environ.get('PROCESSOR_ARCHITEW6432', '')):
966 default_variables['MSVS_OS_BITS'] = 64 975 default_variables['MSVS_OS_BITS'] = 64
967 else: 976 else:
968 default_variables['MSVS_OS_BITS'] = 32 977 default_variables['MSVS_OS_BITS'] = 32
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698