build/toolchain: init

This adds a new, bare-bones, host-based C++ toolchain, and enables it
for all target builds. This toolchain replaces the automatically
generated host toolchain from bazel-tools, and differs in the following
ways:
 - uses fully hardcoded paths
 - is the bare minimum required, which allows us full control over all
   aspects of it, notably link arguments
 - does not assume we're building normal C++ binaries for Linux (for
   instance, the new toolchain does not always link with -lm)

This is in anticipation of a change by @lorenz that uses cc_binary to
build qboot for tests. However, this is also a good basis to start
writing a 'real' toolchain suite for mkfs.xfs, linux & co.

Test Plan: For now, this is unused - but does not break any existing flow, which is fine. I did test this on a qboot WIP commit from @lorenz, and it at least fixed our immediate problem that it wanted to build it with with -lm,-lstdc++ - which we didn't.

X-Origin-Diff: phab/D560
GitOrigin-RevId: 8a5bc5f00a0a0534ea245e556d160f5bab7f8a0c
diff --git a/.bazelrc b/.bazelrc
index d1d18db..1dd8a0a 100644
--- a/.bazelrc
+++ b/.bazelrc
@@ -10,3 +10,11 @@
 
 # Set workspace status file and stamp
 build --stamp --workspace_status_command=./build/print-workspace-status.sh
+
+# Use our custom-configured host C++ toolchain.
+build --crosstool_top=//build/toolchain:host_cc_suite
+build --cpu=k8
+
+# Use the default Bazel C++ toolchain to build the tools used during the
+# build.
+build --host_crosstool_top=@bazel_tools//tools/cpp:toolchain