Remove binutils from DEPS and pull in changes to build.gni from Dawn
Change-Id: Id9855ccf133b50f406443c37b74f12ff1d9206fe
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/25560
Reviewed-by: dan sinclair <dsinclair@chromium.org>
diff --git a/DEPS b/DEPS
index e00a393..892796b 100644
--- a/DEPS
+++ b/DEPS
@@ -14,7 +14,6 @@
'chromium_git': 'https://chromium.googlesource.com',
'github': '/external/github.com',
- 'binutils_revision': '2566778206fdacdff455b2d96df3d52a18d439d4',
'build_revision': '9b01e295f87e0cbdef297148e2b14efdd5f9d699',
'buildtools_revision': 'eb3987ec709b39469423100c1e77f0446890e059',
'clang_revision': '6412135b3979b680c20cf007ab242d968025fc3e',
@@ -49,9 +48,6 @@
'tools/clang': Var('chromium_git') + '/chromium/src/tools/clang@' +
Var('clang_revision'),
- 'third_party/binutils': Var('chromium_git') +
- '/chromium/src/third_party/binutils@' + Var('binutils_revision'),
-
# Dependencies required for testing
'testing': Var('chromium_git') + '/chromium/src/testing@' +
Var('testing_revision'),
@@ -139,16 +135,6 @@
'-s', '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',
- 'third_party/binutils/download.py',
- ],
- },
# Update build/util/LASTCHANGE.
{
'name': 'lastchange',
diff --git a/build_overrides/build.gni b/build_overrides/build.gni
index 3e06b7b..02c0462 100644
--- a/build_overrides/build.gni
+++ b/build_overrides/build.gni
@@ -12,37 +12,35 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-# This file contains build-related overrides.
-
-# Variable that can be used to support multiple build scenarios, like having
-# Chromium specific targets in a client project's GN file etc.
-build_with_chromium = false
-
-# Builds don't use Chromium's third_party/binutils.
-linux_use_bundled_binutils_override = false
-
declare_args() {
+ # Tell Tint and dependencies to not do Chromium-specific things
+ build_with_chromium = false
+
+ # Use Chromium's binutils to have "hermetic" builds on bots
+ linux_use_bundled_binutils_override = true
+
+ # In standalone Tint builds, don't try to use the hermetic install of Xcode
+ # that Chromium uses
+ use_system_xcode = ""
+
# Android 32-bit non-component, non-clang builds cannot have symbol_level=2
# due to 4GiB file size limit, see https://crbug.com/648948.
- # Set this flag to true to skip the assertion.
ignore_elf32_limitations = false
-
- # Use the system install of Xcode for tools like ibtool, libtool, etc.
- # This does not affect the compiler. When this variable is false, targets will
- # instead use a hermetic install of Xcode. [The hermetic install can be
- # obtained with gclient sync after setting the environment variable
- # FORCE_MAC_TOOLCHAIN].
- use_system_xcode = ""
}
-if (use_system_xcode == "") {
- if (target_os == "mac") {
- _result = exec_script("//build/mac/should_use_hermetic_xcode.py",
- [ target_os ],
- "value")
- use_system_xcode = _result == 0
- }
- if (target_os == "ios") {
- use_system_xcode = true
- }
+# Detect whether we can use the hermetic XCode like in Chromium and do so if
+# possible.
+if (host_os == "mac" && use_system_xcode == "") {
+ _result = exec_script("//build/mac/should_use_hermetic_xcode.py",
+ [ target_os ],
+ "value")
+
+ assert(_result != 2,
+ "Do not allow building targets with the default" +
+ "hermetic toolchain if the minimum OS version is not met.")
+ assert(_result != 3,
+ "iOS does not support building with a hermetic toolchain. " +
+ "Please install Xcode.")
+
+ use_system_xcode = _result != 1
}