GN: Use hermetic builds on Linux
This makes the Linux GN builds use the Chromium copy of binutils and also makes all platforms use the "custom libcxx" which is libc++. We do this so that the build doesn't depend on anything from the system on Linux because our bots are still on trusty with very old libstdc++ and linkers. Change-Id: I0570fb474f2945c3565e78a56aba66c1a2619afc
This commit is contained in:
parent
484aca1d1f
commit
ca81bd3481
2
.gn
2
.gn
|
@ -15,9 +15,7 @@
|
||||||
buildconfig = "//build/config/BUILDCONFIG.gn"
|
buildconfig = "//build/config/BUILDCONFIG.gn"
|
||||||
|
|
||||||
default_args = {
|
default_args = {
|
||||||
use_custom_libcxx = false
|
|
||||||
clang_use_chrome_plugins = false
|
clang_use_chrome_plugins = false
|
||||||
use_sysroot = true
|
|
||||||
}
|
}
|
||||||
|
|
||||||
check_targets = [
|
check_targets = [
|
||||||
|
|
27
DEPS
27
DEPS
|
@ -9,15 +9,19 @@ vars = {
|
||||||
deps = {
|
deps = {
|
||||||
# Dependencies required to use GN/Clang in standalone
|
# Dependencies required to use GN/Clang in standalone
|
||||||
'{dawn_root}/build': {
|
'{dawn_root}/build': {
|
||||||
'url': '{chromium_git}/chromium/src/build.git@ddcfe1a1c6428569cb8c900735be3567358bc6ee',
|
'url': '{chromium_git}/chromium/src/build@ddcfe1a1c6428569cb8c900735be3567358bc6ee',
|
||||||
'condition': 'dawn_standalone',
|
'condition': 'dawn_standalone',
|
||||||
},
|
},
|
||||||
'{dawn_root}/buildtools': {
|
'{dawn_root}/buildtools': {
|
||||||
'url': '{chromium_git}/chromium/buildtools.git@9a90d9aaadeb5e04327ed05775f45132e4b3523f',
|
'url': '{chromium_git}/chromium/buildtools@9a90d9aaadeb5e04327ed05775f45132e4b3523f',
|
||||||
'condition': 'dawn_standalone',
|
'condition': 'dawn_standalone',
|
||||||
},
|
},
|
||||||
'{dawn_root}/tools/clang': {
|
'{dawn_root}/tools/clang': {
|
||||||
'url': '{chromium_git}/chromium/src/tools/clang.git@d299f069f8d1dca337354ced634df7a78e4512f7',
|
'url': '{chromium_git}/chromium/src/tools/clang@d299f069f8d1dca337354ced634df7a78e4512f7',
|
||||||
|
'condition': 'dawn_standalone',
|
||||||
|
},
|
||||||
|
'{dawn_root}/third_party/binutils': {
|
||||||
|
'url': '{chromium_git}/chromium/src/third_party/binutils@4110e09197116a9c5dedd4c827bbe95c224f87ac',
|
||||||
'condition': 'dawn_standalone',
|
'condition': 'dawn_standalone',
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -49,7 +53,7 @@ deps = {
|
||||||
|
|
||||||
# SPIRV compiler dependencies: SPIRV-Tools, SPIRV-headers, glslang and shaderc
|
# SPIRV compiler dependencies: SPIRV-Tools, SPIRV-headers, glslang and shaderc
|
||||||
'{dawn_root}/third_party/SPIRV-Tools': {
|
'{dawn_root}/third_party/SPIRV-Tools': {
|
||||||
'url': '{chromium_git}/external/github.com/KhronosGroup/SPIRV-Tools.git@eda2cfbe128e5b71e9a0131f816ade5186ad6420',
|
'url': '{chromium_git}/external/github.com/KhronosGroup/SPIRV-Tools@eda2cfbe128e5b71e9a0131f816ade5186ad6420',
|
||||||
'condition': 'dawn_standalone',
|
'condition': 'dawn_standalone',
|
||||||
},
|
},
|
||||||
'{dawn_root}/third_party/spirv-headers': {
|
'{dawn_root}/third_party/spirv-headers': {
|
||||||
|
@ -200,4 +204,19 @@ hooks = [
|
||||||
'-s', '{dawn_root}/build/toolchain/win/rc/win/rc.exe.sha1',
|
'-s', '{dawn_root}/build/toolchain/win/rc/win/rc.exe.sha1',
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
# Pull binutils for linux hermetic builds
|
||||||
|
{
|
||||||
|
'name': 'binutils',
|
||||||
|
'pattern': 'src/third_party/binutils',
|
||||||
|
'condition': 'host_os == "linux"',
|
||||||
|
'action': [
|
||||||
|
'python',
|
||||||
|
'{dawn_root}/third_party/binutils/download.py',
|
||||||
|
],
|
||||||
|
},
|
||||||
|
]
|
||||||
|
|
||||||
|
recursedeps = [
|
||||||
|
# buildtools provides clang_format, libc++, and libc++abi
|
||||||
|
'{dawn_root}/buildtools',
|
||||||
]
|
]
|
||||||
|
|
|
@ -15,8 +15,8 @@
|
||||||
# Tell Dawn and dependencies to not do Chromium-specific things
|
# Tell Dawn and dependencies to not do Chromium-specific things
|
||||||
build_with_chromium = false
|
build_with_chromium = false
|
||||||
|
|
||||||
# Don't use Chromium's third_party/binutils
|
# Use Chromium's binutils to have "hermetic" builds on bots
|
||||||
linux_use_bundled_binutils_override = false
|
linux_use_bundled_binutils_override = true
|
||||||
|
|
||||||
# In standalone Dawn builds, don't try to use the hermetic install of Xcode
|
# In standalone Dawn builds, don't try to use the hermetic install of Xcode
|
||||||
# that Chromium uses
|
# that Chromium uses
|
||||||
|
|
Loading…
Reference in New Issue