OLD | NEW |
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 438 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
449 cl('BasicRuntimeChecks', map={'1': 's', '2': 'u', '3': '1'}, prefix='/RTC') | 449 cl('BasicRuntimeChecks', map={'1': 's', '2': 'u', '3': '1'}, prefix='/RTC') |
450 cl('RuntimeLibrary', | 450 cl('RuntimeLibrary', |
451 map={'0': 'T', '1': 'Td', '2': 'D', '3': 'Dd'}, prefix='/M') | 451 map={'0': 'T', '1': 'Td', '2': 'D', '3': 'Dd'}, prefix='/M') |
452 cl('ExceptionHandling', map={'1': 'sc','2': 'a'}, prefix='/EH') | 452 cl('ExceptionHandling', map={'1': 'sc','2': 'a'}, prefix='/EH') |
453 cl('DefaultCharIsUnsigned', map={'true': '/J'}) | 453 cl('DefaultCharIsUnsigned', map={'true': '/J'}) |
454 cl('TreatWChar_tAsBuiltInType', | 454 cl('TreatWChar_tAsBuiltInType', |
455 map={'false': '-', 'true': ''}, prefix='/Zc:wchar_t') | 455 map={'false': '-', 'true': ''}, prefix='/Zc:wchar_t') |
456 cl('EnablePREfast', map={'true': '/analyze'}) | 456 cl('EnablePREfast', map={'true': '/analyze'}) |
457 cl('AdditionalOptions', prefix='') | 457 cl('AdditionalOptions', prefix='') |
458 cl('EnableEnhancedInstructionSet', | 458 cl('EnableEnhancedInstructionSet', |
459 map={'1': 'SSE', '2': 'SSE2', '3': 'AVX', '4': 'IA32'}, prefix='/arch:') | 459 map={'1': 'SSE', '2': 'SSE2', '3': 'AVX', '4': 'IA32', '5': 'AVX2'}, |
| 460 prefix='/arch:') |
460 cflags.extend(['/FI' + f for f in self._Setting( | 461 cflags.extend(['/FI' + f for f in self._Setting( |
461 ('VCCLCompilerTool', 'ForcedIncludeFiles'), config, default=[])]) | 462 ('VCCLCompilerTool', 'ForcedIncludeFiles'), config, default=[])]) |
462 if self.vs_version.short_name in ('2013', '2013e', '2015'): | 463 if self.vs_version.short_name in ('2013', '2013e', '2015'): |
463 # New flag required in 2013 to maintain previous PDB behavior. | 464 # New flag required in 2013 to maintain previous PDB behavior. |
464 cflags.append('/FS') | 465 cflags.append('/FS') |
465 # ninja handles parallelism by itself, don't have the compiler do it too. | 466 # ninja handles parallelism by itself, don't have the compiler do it too. |
466 cflags = filter(lambda x: not x.startswith('/MP'), cflags) | 467 cflags = filter(lambda x: not x.startswith('/MP'), cflags) |
467 return cflags | 468 return cflags |
468 | 469 |
469 def _GetPchFlags(self, config, extension): | 470 def _GetPchFlags(self, config, extension): |
(...skipping 583 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1053 | 1054 |
1054 # To determine processor word size on Windows, in addition to checking | 1055 # To determine processor word size on Windows, in addition to checking |
1055 # PROCESSOR_ARCHITECTURE (which reflects the word size of the current | 1056 # PROCESSOR_ARCHITECTURE (which reflects the word size of the current |
1056 # process), it is also necessary to check PROCESSOR_ARCHITEW6432 (which | 1057 # process), it is also necessary to check PROCESSOR_ARCHITEW6432 (which |
1057 # contains the actual word size of the system when running thru WOW64). | 1058 # contains the actual word size of the system when running thru WOW64). |
1058 if ('64' in os.environ.get('PROCESSOR_ARCHITECTURE', '') or | 1059 if ('64' in os.environ.get('PROCESSOR_ARCHITECTURE', '') or |
1059 '64' in os.environ.get('PROCESSOR_ARCHITEW6432', '')): | 1060 '64' in os.environ.get('PROCESSOR_ARCHITEW6432', '')): |
1060 default_variables['MSVS_OS_BITS'] = 64 | 1061 default_variables['MSVS_OS_BITS'] = 64 |
1061 else: | 1062 else: |
1062 default_variables['MSVS_OS_BITS'] = 32 | 1063 default_variables['MSVS_OS_BITS'] = 32 |
OLD | NEW |