aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Benjamin <davidben@google.com>2023-05-05 15:53:48 -0400
committerBoringssl LUCI CQ <boringssl-scoped@luci-project-accounts.iam.gserviceaccount.com>2023-05-08 21:46:15 +0000
commit2aae3f58b42e75690f28853f712a2e204857b7f6 (patch)
treefc9e64c9a85c3fae91a849f571d13c41e25192eb
parenta972b78d1b11009cd07852fb4be2cc938489e031 (diff)
downloadboringssl-2aae3f58b42e75690f28853f712a2e204857b7f6.zip
boringssl-2aae3f58b42e75690f28853f712a2e204857b7f6.tar.gz
boringssl-2aae3f58b42e75690f28853f712a2e204857b7f6.tar.bz2
Bump the minimum supported MSVC version to VS2019
This aligns with https://github.com/google/oss-policies-info/pull/8 and https://github.com/grpc/grpc/pull/32614. VS2019 adds a C11 mode, which is useful for us, because it means stdalign.h works correctly. Also bump the minimum Windows SDK to https://devblogs.microsoft.com/cppblog/c11-and-c17-standard-support-arriving-in-msvc/. If you have a new MSVC, CMake will enable C11 mode by default. But if C11 mode is enabled but your Windows SDK is too old, things break. After this change, the CI will include some redundant configurations. All the VS2017 configurations will start testing on VS2019, so the VS2019-specific configurations won't do anything. I'll follow this up with a change to bump those to VS2022, where we're currently missing coverage. Update-Note: BoringSSL now requires VS2019 or later and no longer supports VS2017. VS2017 has been past its "mainstream end date" for over a year now, per https://learn.microsoft.com/en-us/lifecycle/products/visual-studio-2017 Change-Id: I3f359e8ea7c9428ddaa9fcc4ffead2ef903398be Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/59665 Reviewed-by: Adam Langley <agl@google.com> Commit-Queue: David Benjamin <davidben@google.com>
-rw-r--r--BUILDING.md6
-rw-r--r--CMakeLists.txt5
-rw-r--r--util/bot/DEPS2
3 files changed, 4 insertions, 9 deletions
diff --git a/BUILDING.md b/BUILDING.md
index 4dcd0f4..f915d85 100644
--- a/BUILDING.md
+++ b/BUILDING.md
@@ -32,9 +32,9 @@ most recent stable version of each tool.
* C and C++ compilers with C++14 support are required. If using a C compiler
other than MSVC, C11 support is also requried. On Windows, MSVC from
- Visual Studio 2017 or later with Platform SDK 8.1 or later are supported,
- but newer versions are recommended. Recent versions of GCC (6.1+) and Clang
- should work on non-Windows platforms, and maybe on Windows too.
+ Visual Studio 2019 or later with Windows 10 SDK 2104 or later are supported,
+ but using the latest versions is recommended. Recent versions of GCC (6.1+)
+ and Clang should work on non-Windows platforms, and maybe on Windows too.
* The most recent stable version of [Go](https://golang.org/dl/) is required.
Note Go is exempt from the five year support window. If not found by CMake,
diff --git a/CMakeLists.txt b/CMakeLists.txt
index aac5f0d..c939e42 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -203,11 +203,6 @@ elseif(MSVC)
set(MSVC_DISABLED_WARNINGS_LIST
"C4100" # 'exarg' : unreferenced formal parameter
"C4127" # conditional expression is constant
- # C4204 and C4221 are C89-only restrictions which were dropped in C99, but
- # VS2017 warns about it. They can be removed when we require VS2019.
- "C4204" # nonstandard extension used: non-constant aggregate initializer
- "C4221" # nonstandard extension used : 'identifier' : cannot be
- # initialized using address of automatic variable
"C4244" # 'function' : conversion from 'int' to 'uint8_t',
# possible loss of data
"C4267" # conversion from 'size_t' to 'int', possible loss of data
diff --git a/util/bot/DEPS b/util/bot/DEPS
index 46d86e3..e60ecad 100644
--- a/util/bot/DEPS
+++ b/util/bot/DEPS
@@ -19,7 +19,7 @@ vars = {
'checkout_sde': False,
'checkout_nasm': False,
'checkout_libcxx': False,
- 'vs_version': '2017',
+ 'vs_version': '2019',
# Run the following command to see the latest builds in CIPD:
# cipd describe PACKAGE_NAME -version latest