Reland of Change default Windows compiler to VS 2015
The change to get_landmines.py is there because modifying this file
affects analyze behavior so that all tests run. Changing the printed
message is purely a side effect.
This change also removes some redundant INCLUDE paths. These are
unnecessary when building with VS 2015 (because it defaults to the
Windows 10 SDK) and actively harmful (they make the INCLUDE path
problematically long).
This change was redone in order to fix merge conflicts and because after
a few weeks a fresh set of approvals seems reasonable.
The original change was landed as crrev.com/1598493004
BUG=440500, 584782
Review URL: https://codereview.chromium.org/1740583002
Cr-Commit-Position: refs/heads/master@{#380382}
diff --git a/build/common.gypi b/build/common.gypi
index b1b14d1..a73eb1b 100644
--- a/build/common.gypi
+++ b/build/common.gypi
@@ -5635,11 +5635,13 @@
],
}],
],
+ # Add extra include directories here that need to be in front of the
+ # installed and packaged include directories. This may be needed in
+ # order to force a particular SDK version, such as to get VS 2013 to use
+ # the Windows 10 SDK. Beware of making the INCLUDE variable excessively
+ # long, and be sure to make corresponding changes to
+ # build\toolchain\win\setup_toolchain.py
'msvs_system_include_dirs': [
- '<(windows_sdk_path)/Include/10.0.10586.0/shared',
- '<(windows_sdk_path)/Include/10.0.10586.0/um',
- '<(windows_sdk_path)/Include/10.0.10586.0/winrt',
- '$(VSInstallDir)/VC/atlmfc/include',
],
'msvs_cygwin_shell': 0,
'msvs_disabled_warnings': [
diff --git a/build/get_landmines.py b/build/get_landmines.py
index 4139957..62116f91 100755
--- a/build/get_landmines.py
+++ b/build/get_landmines.py
@@ -52,9 +52,7 @@
print "Switched win x64 trybots from VS2010 to VS2012."
if (platform() == 'win' and builder() == 'ninja' and
gyp_msvs_version().startswith('2013')):
- print "Switched win from VS2010 to VS2013."
- print "Update to VS2013 Update 2."
- print "Update to VS2013 Update 4."
+ print "Switch to VS2013"
if (platform() == 'win' and gyp_msvs_version().startswith('2015')):
print 'Switch to VS2015'
print 'Need to clobber everything due to an IDL change in r154579 (blink)'
diff --git a/build/toolchain/win/setup_toolchain.py b/build/toolchain/win/setup_toolchain.py
index 1e20387..7248ed24 100644
--- a/build/toolchain/win/setup_toolchain.py
+++ b/build/toolchain/win/setup_toolchain.py
@@ -156,18 +156,18 @@
vc_bin_dir = os.path.realpath(path)
break
- # The Windows SDK include directories must be first. They both have a sal.h,
- # and the SDK one is newer and the SDK uses some newer features from it not
- # present in the Visual Studio one.
- # Having the Windows SDK first is also the only way to control which SDK
- # version is used.
-
- if win_sdk_path:
- additional_includes = [
- os.path.join(win_sdk_path, 'Include', '10.0.10586.0', p)
- for p in ['shared', 'um', 'winrt']]
- additional_includes = os.path.pathsep.join(additional_includes)
- env['INCLUDE'] = additional_includes + os.path.pathsep + env['INCLUDE']
+ # Add extra include directories here that need to be in front of the
+ # installed and packaged include directories. This may be needed in
+ # order to force a particular SDK version, such as to get VS 2013 to use
+ # the Windows 10 SDK. Beware of making the INCLUDE variable excessively
+ # long and be sure to make corresponding changes to build\common.gypi.
+ # Not currently used.
+ #if win_sdk_path:
+ # additional_includes = [
+ # os.path.join(win_sdk_path, 'Include', '10.0.10586.0', p)
+ # for p in ['shared', 'um', 'winrt']]
+ # additional_includes = os.path.pathsep.join(additional_includes)
+ # env['INCLUDE'] = additional_includes + os.path.pathsep + env['INCLUDE']
env_block = _FormatAsEnvironmentBlock(env)
with open('environment.' + cpu, 'wb') as f:
f.write(env_block)
diff --git a/build/vs_toolchain.py b/build/vs_toolchain.py
index 66f4cc4..1105ea74 100755
--- a/build/vs_toolchain.py
+++ b/build/vs_toolchain.py
@@ -22,8 +22,8 @@
import gyp
-# Use MSVS2013 as the default toolchain.
-CURRENT_DEFAULT_TOOLCHAIN_VERSION = '2013'
+# Use MSVS2015 as the default toolchain.
+CURRENT_DEFAULT_TOOLCHAIN_VERSION = '2015'
def SetEnvironmentAndGetRuntimeDllDirs():
@@ -281,7 +281,6 @@
# Update 1 with hot fixes.
return ['391bbf1220d3edcd3cc3fccdb56224181e3b13a7']
else:
- # Default to VS2013.
return ['4087e065abebdca6dbd0caca2910c6718d2ec67f']
@@ -315,6 +314,9 @@
depot_tools_win_toolchain):
import find_depot_tools
depot_tools_path = find_depot_tools.add_depot_tools_to_path()
+ # Necessary so that get_toolchain_if_necessary.py will put the VS toolkit
+ # in the correct directory.
+ os.environ['GYP_MSVS_VERSION'] = GetVisualStudioVersion()
get_toolchain_args = [
sys.executable,
os.path.join(depot_tools_path,