Update to VS2013 Update 4, and Windows SDK 8.1
- Disable 4996 (deprecated functions in 8.1, these don't help us because we have to run on old OSs anyway) - Simplify Bluetooth LE header hacks (these headers are buggy in 8.0 and 8.1 SDKs, but less buggy in 8.1) - Revert attempt to centralize toolchain hashes as it didn't work well, and made it hard to roll anyway (see 400830). - Instead of basing C4702 (unreachable code) on Pro vs. Express, check whether it's actually disabled in the xtree header - Remove automatic calling of Express toolchain setup script. It hasn't worked well since post VS2013 RTM because of being distributed as .msp files, and the new Community edition is relatively easy to install so can subsume that usage (that being the motivation for the 4702 change above) - goma package for u4 is pushed - ANGLE is switched to load d3dcompiler_47 and build against 8.1 sdk, roll included here. Xrefs: - https://codereview.chromium.org/719343004/ - https://chromium-review.googlesource.com/#/c/229616/ - b2/18365241 - https://codereview.chromium.org/733563003/ - https://codereview.chromium.org/732673002/ - https://codereview.chromium.org/729453004/ - https://chromereviews.googleplex.com/120597013/ BUG=311488,432748,400830 Review URL: https://codereview.chromium.org/720033003 Cr-Commit-Position: refs/heads/master@{#304329}
This commit is contained in:
DEPS
build
chrome
content
device/bluetooth
third_party/usrsctp
ui/gl
2
DEPS
2
DEPS
@ -60,7 +60,7 @@ vars = {
|
||||
# Three lines of non-changing comments so that
|
||||
# the commit queue can handle CLs rolling ANGLE
|
||||
# and whatever else without interference from each other.
|
||||
"angle_revision": "560eef1627abdef65f71021b906e57dc609f47fa",
|
||||
"angle_revision": "e1425d95ba0ab095c5d64536bbeb3f78adcbf79f",
|
||||
# Three lines of non-changing comments so that
|
||||
# the commit queue can handle CLs rolling build tools
|
||||
# and whatever else without interference from each other.
|
||||
|
@ -1292,6 +1292,11 @@
|
||||
# Experimental setting to optimize Chrome's DLLs with PGO.
|
||||
'chrome_pgo_phase%': '0',
|
||||
|
||||
# Whether the VS xtree header has been patched to disable warning 4702. If
|
||||
# it has, then we don't need to disable 4702 (unreachable code warning).
|
||||
# The patch is preapplied to the internal toolchain and hence all bots.
|
||||
'msvs_xtree_patched%': '<!pymod_do_main(win_is_xtree_patched)',
|
||||
|
||||
# Clang stuff.
|
||||
'clang%': '<(clang)',
|
||||
'host_clang%': '<(host_clang)',
|
||||
@ -1565,7 +1570,7 @@
|
||||
['OS=="win" and "<!pymod_do_main(dir_exists <(windows_sdk_default_path))"=="True"', {
|
||||
'windows_sdk_path%': '<(windows_sdk_default_path)',
|
||||
}, {
|
||||
'windows_sdk_path%': 'C:/Program Files (x86)/Windows Kits/8.0',
|
||||
'windows_sdk_path%': 'C:/Program Files (x86)/Windows Kits/8.1',
|
||||
}],
|
||||
['OS=="win" and "<!pymod_do_main(dir_exists <(directx_sdk_default_path))"=="True"', {
|
||||
'directx_sdk_path%': '<(directx_sdk_default_path)',
|
||||
@ -2785,7 +2790,7 @@
|
||||
'_SCL_SECURE_NO_DEPRECATE',
|
||||
# This define is required to pull in the new Win8 interfaces from
|
||||
# system headers like ShObjIdl.h.
|
||||
'NTDDI_VERSION=0x06020000',
|
||||
'NTDDI_VERSION=0x06030000',
|
||||
# This is required for ATL to use XP-safe versions of its functions.
|
||||
'_USING_V110_SDK71_',
|
||||
],
|
||||
@ -5259,8 +5264,8 @@
|
||||
['OS=="win"', {
|
||||
'target_defaults': {
|
||||
'defines': [
|
||||
'_WIN32_WINNT=0x0602',
|
||||
'WINVER=0x0602',
|
||||
'_WIN32_WINNT=0x0603',
|
||||
'WINVER=0x0603',
|
||||
'WIN32',
|
||||
'_WINDOWS',
|
||||
'NOMINMAX',
|
||||
@ -5271,6 +5276,9 @@
|
||||
'_ATL_NO_OPENGL',
|
||||
# _HAS_EXCEPTIONS must match ExceptionHandling in msvs_settings.
|
||||
'_HAS_EXCEPTIONS=0',
|
||||
# Silence some warnings; we can't switch the the 'recommended'
|
||||
# versions as they're not available on old OSs.
|
||||
'_WINSOCK_DEPRECATED_NO_WARNINGS',
|
||||
],
|
||||
'conditions': [
|
||||
['buildtype=="Official"', {
|
||||
@ -5338,6 +5346,14 @@
|
||||
],
|
||||
},
|
||||
],
|
||||
['msvs_xtree_patched!=1', {
|
||||
# If xtree hasn't been patched, then we disable C4702. Otherwise,
|
||||
# it's enabled. This will generally only be true for system-level
|
||||
# installed Express users.
|
||||
'msvs_disabled_warnings': [
|
||||
4702,
|
||||
],
|
||||
}],
|
||||
['secure_atl', {
|
||||
'defines': [
|
||||
'_SECURE_ATL',
|
||||
@ -5370,12 +5386,6 @@
|
||||
},
|
||||
},
|
||||
},
|
||||
# https://code.google.com/p/chromium/issues/detail?id=372451#c20
|
||||
# Warning 4702 ("Unreachable code") should be re-enabled once
|
||||
# Express users are updated to VS2013 Update 2.
|
||||
'msvs_disabled_warnings': [
|
||||
4702
|
||||
],
|
||||
'msvs_settings': {
|
||||
'VCCLCompilerTool': {
|
||||
'AdditionalOptions!': [
|
||||
@ -5463,6 +5473,7 @@
|
||||
4510, # Default constructor could not be generated
|
||||
4512, # Assignment operator could not be generated
|
||||
4610, # Object can never be instantiated
|
||||
4996, # 'X': was declared deprecated (for GetVersionEx).
|
||||
],
|
||||
'msvs_settings': {
|
||||
'VCCLCompilerTool': {
|
||||
|
@ -13,7 +13,7 @@ config("sdk") {
|
||||
"_ATL_NO_OPENGL",
|
||||
"_WINDOWS",
|
||||
"CERT_CHAIN_PARA_HAS_EXTRA_FIELDS",
|
||||
"NTDDI_VERSION=0x06020000",
|
||||
"NTDDI_VERSION=0x06030000",
|
||||
"PSAPI_VERSION=1",
|
||||
"WIN32",
|
||||
]
|
||||
@ -35,8 +35,8 @@ config("sdk") {
|
||||
# targets need to manually override it for their compiles.
|
||||
config("winver") {
|
||||
defines = [
|
||||
"_WIN32_WINNT=0x0602",
|
||||
"WINVER=0x0602",
|
||||
"_WIN32_WINNT=0x0603",
|
||||
"WINVER=0x0603",
|
||||
]
|
||||
}
|
||||
|
||||
|
@ -48,6 +48,7 @@ def print_landmines():
|
||||
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 'Need to clobber everything due to an IDL change in r154579 (blink)'
|
||||
print 'Need to clobber everything due to gen file moves in r175513 (Blink)'
|
||||
if (platform() != 'ios'):
|
||||
|
1
build/toolchain_vs2013.hash
Normal file
1
build/toolchain_vs2013.hash
Normal file
@ -0,0 +1 @@
|
||||
ee7d718ec60c2dc5d255bbe325909c2021a7efef
|
@ -153,8 +153,7 @@ def CopyDlls(target_dir, configuration, cpu_arch):
|
||||
def _GetDesiredVsToolchainHashes():
|
||||
"""Load a list of SHA1s corresponding to the toolchains that we want installed
|
||||
to build with."""
|
||||
sha1path = os.path.join(script_dir,
|
||||
'..', 'buildtools', 'toolchain_vs2013.hash')
|
||||
sha1path = os.path.join(script_dir, 'toolchain_vs2013.hash')
|
||||
with open(sha1path, 'rb') as f:
|
||||
return f.read().strip().splitlines()
|
||||
|
||||
|
26
build/win_is_xtree_patched.py
Executable file
26
build/win_is_xtree_patched.py
Executable file
@ -0,0 +1,26 @@
|
||||
#!/usr/bin/env python
|
||||
# Copyright 2014 The Chromium Authors. All rights reserved.
|
||||
# Use of this source code is governed by a BSD-style license that can be
|
||||
# found in the LICENSE file.
|
||||
|
||||
"""Determines if the VS xtree header has been patched to disable C4702."""
|
||||
|
||||
import os
|
||||
|
||||
|
||||
def IsPatched():
|
||||
# TODO(scottmg): For now, just return if we're using the packaged toolchain
|
||||
# script (because we know it's patched). Another case could be added here to
|
||||
# query the active VS installation and actually check the contents of xtree.
|
||||
# http://crbug.com/346399.
|
||||
return os.environ.get('DEPOT_TOOLS_WIN_TOOLCHAIN', 1) == 0
|
||||
|
||||
|
||||
def DoMain(_):
|
||||
"""Hook to be called from gyp without starting a separate python
|
||||
interpreter."""
|
||||
return IsPatched()
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
print DoMain([])
|
@ -9,7 +9,7 @@
|
||||
['OS=="win"', {
|
||||
'variables': {
|
||||
'files': [
|
||||
'<(PRODUCT_DIR)/d3dcompiler_46.dll',
|
||||
'<(PRODUCT_DIR)/d3dcompiler_47.dll',
|
||||
'<(PRODUCT_DIR)/libEGL.dll',
|
||||
'<(PRODUCT_DIR)/libGLESv2.dll',
|
||||
],
|
||||
|
@ -22,7 +22,7 @@ chrome.dll: %(VersionDir)s\
|
||||
chrome_100_percent.pak: %(VersionDir)s\
|
||||
chrome_child.dll: %(VersionDir)s\
|
||||
chrome_elf.dll: %(VersionDir)s\
|
||||
d3dcompiler_46.dll: %(VersionDir)s\
|
||||
d3dcompiler_47.dll: %(VersionDir)s\
|
||||
ffmpegsumo.dll: %(VersionDir)s\
|
||||
icudt.dll: %(VersionDir)s\
|
||||
icudtl.dat: %(VersionDir)s\
|
||||
|
@ -83,7 +83,7 @@
|
||||
'variables': {
|
||||
'files': [
|
||||
'<(PRODUCT_DIR)/chrome_elf.dll',
|
||||
'<(PRODUCT_DIR)/d3dcompiler_46.dll',
|
||||
'<(PRODUCT_DIR)/d3dcompiler_47.dll',
|
||||
'<(PRODUCT_DIR)/ffmpegsumo.dll',
|
||||
'<(PRODUCT_DIR)/libEGL.dll',
|
||||
'<(PRODUCT_DIR)/libGLESv2.dll',
|
||||
|
@ -362,7 +362,7 @@ FILES = [
|
||||
},
|
||||
# ANGLE files:
|
||||
{
|
||||
'filename': 'D3DCompiler_46.dll',
|
||||
'filename': 'D3DCompiler_47.dll',
|
||||
'buildtype': ['dev', 'official'],
|
||||
},
|
||||
{
|
||||
|
@ -41,7 +41,7 @@
|
||||
['OS=="win"', {
|
||||
'variables': {
|
||||
'files': [
|
||||
'<(PRODUCT_DIR)/d3dcompiler_46.dll',
|
||||
'<(PRODUCT_DIR)/d3dcompiler_47.dll',
|
||||
'<(PRODUCT_DIR)/libEGL.dll',
|
||||
'<(PRODUCT_DIR)/libGLESv2.dll',
|
||||
'<(PRODUCT_DIR)/ffmpegsumo.dll',
|
||||
|
@ -9,183 +9,19 @@
|
||||
#include <cfg.h>
|
||||
#include <devpkey.h>
|
||||
#include <setupapi.h>
|
||||
// #include <bthledef.h>
|
||||
// TODO(rpaquay):
|
||||
// bthledef.h from Win8 SDK has a couple of issues when used in a Win32 app:
|
||||
// * line 420: usage of "pragma pop" instead of "pragma warning(pop)"
|
||||
// * line 349: no CALLBACK modifier in the definition of
|
||||
// PFNBLUETOOTH_GATT_EVENT_CALLBACK.
|
||||
//
|
||||
// So, we duplicate the definitions we need and prevent the build from including
|
||||
// the content of bthledef.h.
|
||||
#ifndef __BTHLEDEF_H__
|
||||
#define __BTHLEDEF_H__
|
||||
|
||||
//
|
||||
// Bluetooth LE device interface GUID
|
||||
//
|
||||
// {781aee18-7733-4ce4-adb0-91f41c67b592}
|
||||
DEFINE_GUID(GUID_BLUETOOTHLE_DEVICE_INTERFACE,
|
||||
0x781aee18,
|
||||
0x7733,
|
||||
0x4ce4,
|
||||
0xad,
|
||||
0xd0,
|
||||
0x91,
|
||||
0xf4,
|
||||
0x1c,
|
||||
0x67,
|
||||
0xb5,
|
||||
0x92);
|
||||
#pragma warning(push)
|
||||
// bthledef.h is buggy and contains
|
||||
// #pragma pop
|
||||
// which should be
|
||||
// #pragma warning(pop)
|
||||
// So, we disable the "unknown pragma" warning, then actually pop, and then pop
|
||||
// our disabling of 4068.
|
||||
#pragma warning(disable: 4068)
|
||||
#include <bthledef.h>
|
||||
#pragma warning(pop)
|
||||
#pragma warning(pop)
|
||||
|
||||
DEFINE_GUID(BTH_LE_ATT_BLUETOOTH_BASE_GUID,
|
||||
0x00000000,
|
||||
0x0000,
|
||||
0x1000,
|
||||
0x80,
|
||||
0x00,
|
||||
0x00,
|
||||
0x80,
|
||||
0x5F,
|
||||
0x9B,
|
||||
0x34,
|
||||
0xFB);
|
||||
|
||||
#define BLUETOOTH_GATT_FLAG_NONE 0x00000000
|
||||
|
||||
typedef struct _BTH_LE_UUID {
|
||||
BOOLEAN IsShortUuid;
|
||||
#ifdef MIDL_PASS
|
||||
[ switch_type(BOOLEAN), switch_is((BOOLEAN)IsShortUuid) ]
|
||||
#endif
|
||||
union {
|
||||
#ifdef MIDL_PASS
|
||||
[case(TRUE)]
|
||||
#endif
|
||||
USHORT ShortUuid;
|
||||
#ifdef MIDL_PASS
|
||||
[case(FALSE)]
|
||||
#endif
|
||||
GUID LongUuid;
|
||||
} Value;
|
||||
} BTH_LE_UUID, *PBTH_LE_UUID;
|
||||
|
||||
typedef struct _BTH_LE_GATT_SERVICE {
|
||||
BTH_LE_UUID ServiceUuid;
|
||||
USHORT AttributeHandle;
|
||||
} BTH_LE_GATT_SERVICE, *PBTH_LE_GATT_SERVICE;
|
||||
|
||||
typedef struct _BTH_LE_GATT_CHARACTERISTIC {
|
||||
USHORT ServiceHandle;
|
||||
BTH_LE_UUID CharacteristicUuid;
|
||||
USHORT AttributeHandle;
|
||||
USHORT CharacteristicValueHandle;
|
||||
BOOLEAN IsBroadcastable;
|
||||
BOOLEAN IsReadable;
|
||||
BOOLEAN IsWritable;
|
||||
BOOLEAN IsWritableWithoutResponse;
|
||||
BOOLEAN IsSignedWritable;
|
||||
BOOLEAN IsNotifiable;
|
||||
BOOLEAN IsIndicatable;
|
||||
BOOLEAN HasExtendedProperties;
|
||||
} BTH_LE_GATT_CHARACTERISTIC, *PBTH_LE_GATT_CHARACTERISTIC;
|
||||
|
||||
typedef struct _BTH_LE_GATT_CHARACTERISTIC_VALUE {
|
||||
ULONG DataSize;
|
||||
|
||||
#ifdef MIDL_PASS
|
||||
[size_is(DataSize)] UCHAR Data[*];
|
||||
#else
|
||||
_Field_size_bytes_(DataSize) UCHAR Data[1];
|
||||
#endif
|
||||
} BTH_LE_GATT_CHARACTERISTIC_VALUE, *PBTH_LE_GATT_CHARACTERISTIC_VALUE;
|
||||
|
||||
typedef enum _BTH_LE_GATT_DESCRIPTOR_TYPE {
|
||||
CharacteristicExtendedProperties,
|
||||
CharacteristicUserDescription,
|
||||
ClientCharacteristicConfiguration,
|
||||
ServerCharacteristicConfiguration,
|
||||
CharacteristicFormat,
|
||||
CharacteristicAggregateFormat,
|
||||
CustomDescriptor
|
||||
} BTH_LE_GATT_DESCRIPTOR_TYPE,
|
||||
*PBTH_LE_GATT_DESCRIPTOR_TYPE;
|
||||
|
||||
typedef struct _BTH_LE_GATT_DESCRIPTOR {
|
||||
USHORT ServiceHandle;
|
||||
USHORT CharacteristicHandle;
|
||||
BTH_LE_GATT_DESCRIPTOR_TYPE DescriptorType;
|
||||
BTH_LE_UUID DescriptorUuid;
|
||||
USHORT AttributeHandle;
|
||||
} BTH_LE_GATT_DESCRIPTOR, *PBTH_LE_GATT_DESCRIPTOR;
|
||||
|
||||
typedef struct _BTH_LE_GATT_DESCRIPTOR_VALUE {
|
||||
BTH_LE_GATT_DESCRIPTOR_TYPE DescriptorType;
|
||||
BTH_LE_UUID DescriptorUuid;
|
||||
|
||||
#ifdef MIDL_PASS
|
||||
[
|
||||
switch_type(BTH_LE_GATT_DESCRIPTOR_TYPE),
|
||||
switch_is((BTH_LE_GATT_DESCRIPTOR_TYPE)DescriptorType)
|
||||
]
|
||||
#endif
|
||||
union {
|
||||
|
||||
#ifdef MIDL_PASS
|
||||
[case(CharacteristicExtendedProperties)]
|
||||
#endif
|
||||
struct {
|
||||
BOOLEAN IsReliableWriteEnabled;
|
||||
BOOLEAN IsAuxiliariesWritable;
|
||||
} CharacteristicExtendedProperties;
|
||||
|
||||
#ifdef MIDL_PASS
|
||||
[case(ClientCharacteristicConfiguration)]
|
||||
#endif
|
||||
struct {
|
||||
BOOLEAN IsSubscribeToNotification;
|
||||
BOOLEAN IsSubscribeToIndication;
|
||||
} ClientCharacteristicConfiguration;
|
||||
|
||||
#ifdef MIDL_PASS
|
||||
[case(ServerCharacteristicConfiguration)]
|
||||
#endif
|
||||
struct {
|
||||
BOOLEAN IsBroadcast;
|
||||
} ServerCharacteristicConfiguration;
|
||||
|
||||
#ifdef MIDL_PASS
|
||||
[case(CharacteristicFormat)]
|
||||
#endif
|
||||
struct {
|
||||
UCHAR Format;
|
||||
UCHAR Exponent;
|
||||
BTH_LE_UUID Unit;
|
||||
UCHAR NameSpace;
|
||||
BTH_LE_UUID Description;
|
||||
} CharacteristicFormat;
|
||||
#ifdef MIDL_PASS
|
||||
[default];
|
||||
#endif
|
||||
};
|
||||
|
||||
ULONG DataSize;
|
||||
|
||||
#ifdef MIDL_PASS
|
||||
[size_is(DataSize)] UCHAR Data[*];
|
||||
#else
|
||||
_Field_size_bytes_(DataSize) UCHAR Data[1];
|
||||
#endif
|
||||
} BTH_LE_GATT_DESCRIPTOR_VALUE, *PBTH_LE_GATT_DESCRIPTOR_VALUE;
|
||||
|
||||
typedef enum _BTH_LE_GATT_EVENT_TYPE {
|
||||
CharacteristicValueChangedEvent,
|
||||
} BTH_LE_GATT_EVENT_TYPE;
|
||||
|
||||
typedef ULONG64 BTH_LE_GATT_RELIABLE_WRITE_CONTEXT,
|
||||
*PBTH_LE_GATT_RELIABLE_WRITE_CONTEXT;
|
||||
|
||||
#endif // __BTHLEDEF_H__
|
||||
#include <bluetoothapis.h>
|
||||
#include <bluetoothleapis.h>
|
||||
|
||||
|
4
third_party/usrsctp/usrsctp.gyp
vendored
4
third_party/usrsctp/usrsctp.gyp
vendored
@ -155,8 +155,8 @@
|
||||
],
|
||||
'defines!': [
|
||||
# Remove Chrome's WINVER defines to avoid redefinition warnings.
|
||||
'WINVER=0x0602',
|
||||
'_WIN32_WINNT=0x0602',
|
||||
'WINVER=0x0603',
|
||||
'_WIN32_WINNT=0x0603',
|
||||
],
|
||||
'cflags!': [ '/W3', '/WX' ],
|
||||
'cflags': [ '/w' ],
|
||||
|
@ -33,7 +33,7 @@ namespace gfx {
|
||||
|
||||
namespace {
|
||||
|
||||
const wchar_t kD3DCompiler[] = L"D3DCompiler_46.dll";
|
||||
const wchar_t kD3DCompiler[] = L"D3DCompiler_47.dll";
|
||||
|
||||
void GL_BINDING_CALL MarshalClearDepthToClearDepthf(GLclampd depth) {
|
||||
glClearDepthf(static_cast<GLclampf>(depth));
|
||||
|
Reference in New Issue
Block a user