Upgrade bazel to 4.0.0rc2
A few things of note here:
- I disabled a few incompatible flags in order to minimize the number
of changes we have to deal with.
- I had to upgrade the typescript rules because the old ones didn't
work with new bazel anymore. That brought a typescript compiler
upgrade along. This in turn required me to turn off strict mode.
Otherwise, there are a _ton_ of errors in our typescript files. The
vast majority of them are related to `null` checking.
- The `default_python_version` attribute on Python rules doesn't exist
anymore. It's now replaced by `python_version`.
- I removed the CROSSTOOL in favour of a Starlark-equivalent
configuration function. See `tools/cpp/toolchain_config.bzl` for
more details. This new file is auto-generated using the migration
tools from `rules_cc`. I have made no attempt to beautify this file.
Relatedly, all CROSSTOOL-related files/functionality are gone as well.
- The `config_setting` targets to detect the compiler names had to
change. This is perhaps not surprising. Thanks to Austin for
pointing this out to me.
- The `cc_toolchain` targets all required `ar_files` and `as_files`
attributes where they didn't before. Not really sure what changed,
but the compilations appears to work with these changes.
Change-Id: I2317e5160fa3f8d87f94106b0c3b328918d0c42c
diff --git a/tools/BUILD b/tools/BUILD
index 50ba0bb..50c9141 100644
--- a/tools/BUILD
+++ b/tools/BUILD
@@ -5,12 +5,16 @@
# Don't use these directly! Use //tools/build_rules/*.bzl instead.
config_setting(
name = "compiler_clang",
- values = {"compiler": "clang"},
+ flag_values = {
+ "@bazel_tools//tools/cpp:compiler": "clang",
+ }
)
config_setting(
name = "compiler_gcc",
- values = {"compiler": "gcc"},
+ flag_values = {
+ "@bazel_tools//tools/cpp:compiler": "gcc",
+ }
)
config_setting(