Flip --incompatible_require_ctx_in_configure_features

Last run of the CI (https://buildkite.com/bazel/bazelisk-plus-incompatible-flags/builds/124) shows only Tensorflow and Envoy issues. Envoy is fixed by https://github.com/envoyproxy/envoy/pull/7058, and Tensorflow is fixed in Bazel@HEAD by https://github.com/bazelbuild/bazel/commit/cab65ff6f2a81bac81af781f77cf6c2ed023ce8f.

RELNOTES: Incompatible flag `--incompatible_require_ctx_in_configure_features` has been flipped. See https://github.com/bazelbuild/bazel/issues/7793 for more information.
PiperOrigin-RevId: 250458681
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppOptions.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppOptions.java
index aa1573e..58fd83c 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppOptions.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppOptions.java
@@ -754,7 +754,7 @@
 
   @Option(
       name = "incompatible_require_ctx_in_configure_features",
-      defaultValue = "false",
+      defaultValue = "true",
       documentationCategory = OptionDocumentationCategory.TOOLCHAIN,
       effectTags = {OptionEffectTag.LOADING_AND_ANALYSIS},
       metadataTags = {
diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/CcToolchainProviderTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/CcToolchainProviderTest.java
index e84df9c..1e3cf1d 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/cpp/CcToolchainProviderTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/CcToolchainProviderTest.java
@@ -50,7 +50,10 @@
         "MyInfo = provider()",
         "def _impl(ctx):",
         "  provider = ctx.attr._cc_toolchain[cc_common.CcToolchainInfo]",
-        "  feature_configuration = cc_common.configure_features(cc_toolchain = provider)",
+        "  feature_configuration = cc_common.configure_features(",
+        "    ctx = ctx,",
+        "    cc_toolchain = provider,",
+        "  )",
         "  return MyInfo(",
         "    dirs = provider.built_in_include_directories,",
         "    sysroot = provider.sysroot,",
@@ -63,7 +66,8 @@
         "",
         "my_rule = rule(",
         "  _impl,",
-        "  attrs = {'_cc_toolchain': attr.label(default=Label('//test:toolchain')) }",
+        "  attrs = {'_cc_toolchain': attr.label(default=Label('//test:toolchain'))},",
+        "  fragments = [ 'cpp' ],",
         ")");
 
     scratch.file("test/BUILD",
diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/SkylarkCcCommonTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/SkylarkCcCommonTest.java
index 22ec1a0..2a2a4ee 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/cpp/SkylarkCcCommonTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/SkylarkCcCommonTest.java
@@ -199,7 +199,10 @@
         "load('//myinfo:myinfo.bzl', 'MyInfo')",
         "def _impl(ctx):",
         "  toolchain = ctx.attr._cc_toolchain[cc_common.CcToolchainInfo]",
-        "  feature_configuration = cc_common.configure_features(cc_toolchain = toolchain)",
+        "  feature_configuration = cc_common.configure_features(",
+        "    ctx = ctx,",
+        "    cc_toolchain = toolchain,",
+        "  )",
         "  return [MyInfo(",
         "    action_tool_path = cc_common.get_tool_for_action(",
         "        feature_configuration = feature_configuration,",
@@ -248,6 +251,7 @@
         "def _impl(ctx):",
         "  toolchain = ctx.attr._cc_toolchain[cc_common.CcToolchainInfo]",
         "  feature_configuration = cc_common.configure_features(",
+        "      ctx = ctx,",
         "      cc_toolchain = toolchain,",
         "      requested_features = ['foo_feature'])",
         "  return [MyInfo(",
@@ -287,6 +291,7 @@
         "def _impl(ctx):",
         "  toolchain = ctx.attr._cc_toolchain[cc_common.CcToolchainInfo]",
         "  feature_configuration = cc_common.configure_features(",
+        "      ctx = ctx,",
         "      cc_toolchain = toolchain,",
         "      unsupported_features = ['foo_feature'])",
         "  return [MyInfo(",
@@ -320,7 +325,10 @@
         "load('//myinfo:myinfo.bzl', 'MyInfo')",
         "def _impl(ctx):",
         "  toolchain = ctx.attr._cc_toolchain[cc_common.CcToolchainInfo]",
-        "  feature_configuration = cc_common.configure_features(cc_toolchain = toolchain)",
+        "  feature_configuration = cc_common.configure_features(",
+        "    ctx = ctx,",
+        "    cc_toolchain = toolchain,",
+        "  )",
         "  return [MyInfo(",
         "    command_line = cc_common.get_memory_inefficient_command_line(",
         "        feature_configuration = feature_configuration,",
@@ -366,7 +374,10 @@
         "load('//myinfo:myinfo.bzl', 'MyInfo')",
         "def _impl(ctx):",
         "  toolchain = ctx.attr._cc_toolchain[cc_common.CcToolchainInfo]",
-        "  feature_configuration = cc_common.configure_features(cc_toolchain = toolchain)",
+        "  feature_configuration = cc_common.configure_features(",
+        "    ctx = ctx,",
+        "    cc_toolchain = toolchain,",
+        "  )",
         "  return [MyInfo(",
         "    environment_variables = cc_common.get_environment_variables(",
         "        feature_configuration = feature_configuration,",
@@ -413,7 +424,10 @@
         "load('//myinfo:myinfo.bzl', 'MyInfo')",
         "def _impl(ctx):",
         "  toolchain = ctx.attr._cc_toolchain[cc_common.CcToolchainInfo]",
-        "  feature_configuration = cc_common.configure_features(cc_toolchain = toolchain)",
+        "  feature_configuration = cc_common.configure_features(",
+        "    ctx = ctx,",
+        "    cc_toolchain = toolchain,",
+        "  )",
         "  return [MyInfo(",
         "    enabled_action = cc_common.action_is_enabled(",
         "        feature_configuration = feature_configuration,",
@@ -451,7 +465,10 @@
         "load('//myinfo:myinfo.bzl', 'MyInfo')",
         "def _impl(ctx):",
         "  toolchain = ctx.attr._cc_toolchain[cc_common.CcToolchainInfo]",
-        "  feature_configuration = cc_common.configure_features(cc_toolchain = toolchain)",
+        "  feature_configuration = cc_common.configure_features(",
+        "    ctx = ctx,",
+        "    cc_toolchain = toolchain,",
+        "  )",
         "  return [MyInfo(",
         "    enabled_feature = cc_common.is_enabled(",
         "        feature_configuration = feature_configuration,",
@@ -539,7 +556,10 @@
         "    'STRIP_ACTION_NAME')",
         "def _impl(ctx):",
         "  toolchain = ctx.attr._cc_toolchain[cc_common.CcToolchainInfo]",
-        "  feature_configuration = cc_common.configure_features(cc_toolchain = toolchain)",
+        "  feature_configuration = cc_common.configure_features(",
+        "    ctx = ctx,",
+        "    cc_toolchain = toolchain,",
+        "  )",
         "  return [MyInfo(",
         "      c_compile_action_name=C_COMPILE_ACTION_NAME,",
         "      cpp_compile_action_name=CPP_COMPILE_ACTION_NAME,",
@@ -937,7 +957,10 @@
         "load('//myinfo:myinfo.bzl', 'MyInfo')",
         "def _impl(ctx):",
         "  toolchain = ctx.attr._cc_toolchain[cc_common.CcToolchainInfo]",
-        "  feature_configuration = cc_common.configure_features(cc_toolchain = toolchain)",
+        "  feature_configuration = cc_common.configure_features(",
+        "    ctx = ctx,",
+        "    cc_toolchain = toolchain,",
+        "  )",
         "  variables = " + Joiner.on("\n").join(variables),
         "  return [MyInfo(",
         "    command_line = cc_common.get_memory_inefficient_command_line(",
@@ -1317,7 +1340,10 @@
         "    alwayslink=alwayslink)",
         "def _impl(ctx):",
         "  toolchain = ctx.attr._cc_toolchain[cc_common.CcToolchainInfo]",
-        "  feature_configuration = cc_common.configure_features(cc_toolchain = toolchain)",
+        "  feature_configuration = cc_common.configure_features(",
+        "    ctx = ctx,",
+        "    cc_toolchain = toolchain,",
+        "  )",
         "  library_to_link = _create(ctx, feature_configuration, ctx.file.static_library, ",
         "     ctx.file.pic_static_library, ctx.file.dynamic_library, ctx.file.interface_library,",
         "     ctx.attr.alwayslink)",
@@ -5277,6 +5303,7 @@
         "def _cc_aspect_impl(target, ctx):",
         "    toolchain = ctx.attr._cc_toolchain[cc_common.CcToolchainInfo]",
         "    feature_configuration = cc_common.configure_features(",
+        "        ctx = ctx,",
         "        cc_toolchain = toolchain,",
         "        requested_features = ctx.features,",
         "        unsupported_features = ctx.disabled_features,",
@@ -5315,6 +5342,7 @@
         "        dep_linking_contexts.append(dep[CcInfo].linking_context)",
         "    toolchain = ctx.attr._cc_toolchain[cc_common.CcToolchainInfo]",
         "    feature_configuration = cc_common.configure_features(",
+        "        ctx = ctx,",
         "        cc_toolchain=toolchain,",
         "        requested_features = ctx.features,",
         "        unsupported_features = ctx.disabled_features)",
@@ -5511,7 +5539,10 @@
         "load('//myinfo:myinfo.bzl', 'MyInfo')",
         "def _cc_bin_impl(ctx):",
         "    toolchain = ctx.attr._cc_toolchain[cc_common.CcToolchainInfo]",
-        "    feature_configuration = cc_common.configure_features(cc_toolchain = toolchain)",
+        "    feature_configuration = cc_common.configure_features(",
+        "      ctx = ctx,",
+        "      cc_toolchain = toolchain,",
+        "    )",
         "    dep_linking_contexts = []",
         "    for dep in ctx.attr.deps:",
         "        dep_linking_contexts.append(dep[CcInfo].linking_context)",