Migrate rules_cc _xcode_config to apple_support version_config

Migrates unix_cc_toolchain_config in rules_cc from legacy configuration_field(fragment = "apple", name = "xcode_config_label") to //third_party/bazel_rules/apple_support/xcode:version_config. Also bumps the minimum Bazel version in examples/rule_based_toolchain to 7.7.0 since 7.2.1 is incompatible with apple_support 2.8.0 (requires Bazel >= 7.4.0).

PiperOrigin-RevId: 960379134
Change-Id: Ie8d2cd1f397d6e61538f5429299fbd4dbe1d4bbd
diff --git a/MODULE.bazel b/MODULE.bazel
index 093cdf4..f007795 100644
--- a/MODULE.bazel
+++ b/MODULE.bazel
@@ -4,6 +4,7 @@
     compatibility_level = 1,
 )
 
+bazel_dep(name = "apple_support", version = "2.8.0")
 bazel_dep(name = "bazel_features", version = "1.50.0")
 bazel_dep(name = "bazel_skylib", version = "1.8.0")
 bazel_dep(name = "platforms", version = "0.0.10")
diff --git a/cc/private/toolchain/unix_cc_toolchain_config.bzl b/cc/private/toolchain/unix_cc_toolchain_config.bzl
index 3db2bce..8c5d7cf 100644
--- a/cc/private/toolchain/unix_cc_toolchain_config.bzl
+++ b/cc/private/toolchain/unix_cc_toolchain_config.bzl
@@ -2109,10 +2109,9 @@
         "_use_libtool_on_macos": attr.label(
             default = "@rules_cc//cc/toolchains/args/archiver_flags:use_libtool_on_macos",
         ),
-        "_xcode_config": attr.label(default = configuration_field(
-            fragment = "apple",
-            name = "xcode_config_label",
-        )),
+        "_xcode_config": attr.label(
+            default = "@apple_support//xcode:version_config",
+        ),
     },
     fragments = ["cpp"],
     provides = [CcToolchainConfigInfo],
diff --git a/examples/rule_based_toolchain/.bazelversion b/examples/rule_based_toolchain/.bazelversion
index b26a34e..1985849 100644
--- a/examples/rule_based_toolchain/.bazelversion
+++ b/examples/rule_based_toolchain/.bazelversion
@@ -1 +1 @@
-7.2.1
+7.7.0