Disable exec_transition_for_inputs in rule-based toolchains

BEGIN_PUBLIC

Doing a transition to the exec platform in rule-based toolchains was causing unusual behaviors when attempting to restrict compatibility. This changes most of the toolchain rules to be evaluated from the target platform configuration, only transitioning to the exec configuration when explicitly requested.

END_PUBLIC

PiperOrigin-RevId: 634411095
Change-Id: I8716b9a517d9f3be306cdf96dafb98a868a3f83b
diff --git a/cc/toolchains/toolchain.bzl b/cc/toolchains/toolchain.bzl
index 0ce1abf..8ee15de 100644
--- a/cc/toolchains/toolchain.bzl
+++ b/cc/toolchains/toolchain.bzl
@@ -139,5 +139,7 @@
         static_runtime_lib = static_runtime_lib,
         supports_header_parsing = supports_header_parsing,
         supports_param_files = supports_param_files,
+        # This is required for Bazel versions <= 7.x.x. It is ignored in later versions.
+        exec_transition_for_inputs = False,
         **(all_kwargs | legacy_file_groups)
     )