build: Update tint to use C++17.
Mirrors changes and DEPS toolchain SHAs found in https://dawn-review.googlesource.com/c/dawn/+/75061
Change-Id: I69a3b6bb091e00207d81d5dbc288b9b68fc961fc
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/75241
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: Ben Clayton <bclayton@google.com>
diff --git a/.gitignore b/.gitignore
index 91afea1..52db664 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,24 +6,27 @@
.vscode/*
!.vscode/tasks.json
.idea
-buildtools
-cmake-build-*/
coverage.summary
default.profraw
lcov.info
-out
-testing
-third_party/cpplint
-third_party/binutils
-third_party/glslang
-third_party/googletest
-third_party/gpuweb-cts
-third_party/llvm-build
-third_party/protobuf
-third_party/spirv-headers
-third_party/spirv-tools
-tools/clang
-tools/bin
+
+/buildtools
+/cmake-build-*/
+/out
+/testing
+/third_party/clang-format
+/third_party/catapult
+/third_party/cpplint
+/third_party/binutils
+/third_party/glslang
+/third_party/googletest
+/third_party/gpuweb-cts
+/third_party/llvm-build
+/third_party/protobuf
+/third_party/spirv-headers
+/third_party/spirv-tools
+/tools/clang
+/tools/bin
/build*/
/test.wgsl
diff --git a/.gn b/.gn
index c685bfe..2bc6b1c 100644
--- a/.gn
+++ b/.gn
@@ -14,4 +14,7 @@
buildconfig = "//build/config/BUILDCONFIG.gn"
+# Use Python3 to run scripts. On Windows this will use python.exe or python.bat
+script_executable = "python3"
+
check_targets = [ "//*" ]
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9d19d48..36a743f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -18,7 +18,7 @@
enable_testing()
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR})
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
-set(CMAKE_CXX_STANDARD 14)
+set(CMAKE_CXX_STANDARD 17)
set(CMAKE_DEBUG_POSTFIX "")
if ("${CMAKE_BUILD_TYPE}" STREQUAL "")
@@ -301,7 +301,7 @@
if (${COMPILER_IS_LIKE_GNU})
target_compile_options(${TARGET} PRIVATE
- -std=c++14
+ -std=c++17
-fno-exceptions
-fno-rtti
-pedantic-errors
diff --git a/DEPS b/DEPS
index c7b1cb1..6bb6635 100644
--- a/DEPS
+++ b/DEPS
@@ -2,20 +2,32 @@
gclient_gn_args_file = 'build/config/gclient_args.gni'
+gclient_gn_args = [
+ 'generate_location_tags',
+]
+
vars = {
'chromium_git': 'https://chromium.googlesource.com',
'github': '/external/github.com',
- 'build_revision': 'c6c4a4c3ae890f2c020a087c90fb8c0b8be2816a',
- 'buildtools_revision': 'e3db55b4639f2a331af6f3708ca1fbd22322aac3',
- 'clang_revision': 'eb5ab41f3801e2085208204fd71a490573d72dfd',
+ 'build_revision': '555c8b467c21e2c4b22d00e87e3faa0431df9ac2',
+ 'buildtools_revision': 'f78b4b9f33bd8ef9944d5ce643daff1c31880189',
+ 'catapult_revision': 'fa35beefb3429605035f98211ddb8750dee6a13d',
+ 'clang_format_revision': '2271e89c145a5e27d6c110b6a1113c057a8301a3',
+ 'clang_revision': '8b7330592cb85ba09505a6be7bacabd0ad6160a3',
'glslang_revision': '4b7b86d568b40f4b076259dc2fc4cdd006340f34',
- 'googletest_revision': '1a3e2a265f35e604378156cd675b11ef0a184627',
+ 'googletest_revision': '6b74da4757a549563d7c37c8fae3e704662a043b',
'gpuweb_cts_revision': 'b0291fd966b55a5efc496772555b94842bde1085',
+ 'libcxx_revision': '79a2e924d96e2fc1e4b937c42efd08898fa472d7',
+ 'libcxxabi_revision': '2715a6c0de8dac4c7674934a6b3d30ba0c685271',
'protobuf_revision': 'fde7cf7358ec7cd69e8db9be4f1fa6a5c431386a',
'spirv_headers_revision': 'eddd4dfc930f1374a70797460240a501c7d333f7',
'spirv_tools_revision': 'df2aad68b98279412494a6d449bd71b6756e699b',
- 'testing_revision': '2691851e49de541c3fe42fa8692ddcdee938162f',
+ 'testing_revision': 'd485ae97b7900c1fb7edfbe2901ae5adcb120865',
+ 'tint_gn_revision': 'git_revision:281ba2c91861b10fec7407c4b6172ec3d4661243',
+
+ # We don't use location metadata in our test isolates.
+ 'generate_location_tags': False,
}
deps = {
@@ -41,10 +53,54 @@
'tools/clang': Var('chromium_git') + '/chromium/src/tools/clang@' +
Var('clang_revision'),
+ 'buildtools/clang_format/script': {
+ 'url': Var('chromium_git') +
+ '/external/github.com/llvm/llvm-project/clang/tools/clang-format.git@' +
+ Var('clang_format_revision'),
+ },
+
+ 'buildtools/linux64': {
+ 'packages': [{
+ 'package': 'gn/gn/linux-amd64',
+ 'version': Var('tint_gn_revision'),
+ }],
+ 'dep_type': 'cipd',
+ 'condition': 'host_os == "linux"',
+ },
+ 'buildtools/mac': {
+ 'packages': [{
+ 'package': 'gn/gn/mac-${{arch}}',
+ 'version': Var('tint_gn_revision'),
+ }],
+ 'dep_type': 'cipd',
+ 'condition': 'host_os == "mac"',
+ },
+ 'buildtools/win': {
+ 'packages': [{
+ 'package': 'gn/gn/windows-amd64',
+ 'version': Var('tint_gn_revision'),
+ }],
+ 'dep_type': 'cipd',
+ 'condition': 'host_os == "win"',
+ },
+
+ 'buildtools/third_party/libc++/trunk':
+ Var('chromium_git') +
+ '/external/github.com/llvm/llvm-project/libcxx.git@' +
+ Var('libcxx_revision'),
+
+ 'buildtools/third_party/libc++abi/trunk':
+ Var('chromium_git') +
+ '/external/github.com/llvm/llvm-project/libcxxabi.git@' +
+ Var('libcxxabi_revision'),
+
# Dependencies required for testing
'testing': Var('chromium_git') + '/chromium/src/testing@' +
Var('testing_revision'),
+ 'third_party/catapult': Var('chromium_git') + '/catapult.git@' +
+ Var('catapult_revision'),
+
'third_party/googletest': Var('chromium_git') + Var('github') +
'/google/googletest.git@' + Var('googletest_revision'),
@@ -96,14 +152,14 @@
'name': 'sysroot_x86',
'pattern': '.',
'condition': 'checkout_linux and ((checkout_x86 or checkout_x64))',
- 'action': ['python', 'build/linux/sysroot_scripts/install-sysroot.py',
+ 'action': ['python3', 'build/linux/sysroot_scripts/install-sysroot.py',
'--arch=x86'],
},
{
'name': 'sysroot_x64',
'pattern': '.',
'condition': 'checkout_linux and (checkout_x64)',
- 'action': ['python', 'build/linux/sysroot_scripts/install-sysroot.py',
+ 'action': ['python3', 'build/linux/sysroot_scripts/install-sysroot.py',
'--arch=x64'],
},
{
@@ -111,20 +167,20 @@
'name': 'mac_toolchain',
'pattern': '.',
'condition': 'checkout_mac',
- 'action': ['python', 'build/mac_toolchain.py'],
+ 'action': ['python3', 'build/mac_toolchain.py'],
},
{
# Update the Windows toolchain if necessary. Must run before 'clang' below.
'name': 'win_toolchain',
'pattern': '.',
'condition': 'checkout_win',
- 'action': ['python', 'build/vs_toolchain.py', 'update', '--force'],
+ 'action': ['python3', 'build/vs_toolchain.py', 'update', '--force'],
},
{
# Note: On Win, this should run after win_toolchain, as it may use it.
'name': 'clang',
'pattern': '.',
- 'action': ['python', 'tools/clang/scripts/update.py'],
+ 'action': ['python3', 'tools/clang/scripts/update.py'],
},
{
# Pull rc binaries using checked-in hashes.
@@ -142,7 +198,7 @@
{
'name': 'lastchange',
'pattern': '.',
- 'action': ['python', 'build/util/lastchange.py',
+ 'action': ['python3', 'build/util/lastchange.py',
'-o', 'build/util/LASTCHANGE'],
},
]