Delete more redundant/unused objc features

dependency_file, include_paths, and pch are unnecessary -- they
predated "enabled = True" in crosstool.

They are not even used in the internal crosstool.  In the bazel
crosstool, they are used:
- the dependency_file and include_paths features are already properly
  configured without any need for native code to do anything.
- the pch feature can be fixed to behave similarly.

PiperOrigin-RevId: 368043639
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/CompilationSupport.java b/src/main/java/com/google/devtools/build/lib/rules/objc/CompilationSupport.java
index b47f13f..644fe16 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/CompilationSupport.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/CompilationSupport.java
@@ -531,8 +531,6 @@
             .addAll(ruleContext.getFeatures())
             .addAll(OBJC_ACTIONS)
             .add(CppRuleClasses.LANG_OBJC)
-            .add(CppRuleClasses.DEPENDENCY_FILE)
-            .add(CppRuleClasses.INCLUDE_PATHS)
             .add(isTool ? "host" : "nonhost");
 
     if (!attributes.enableModules()) {
@@ -541,9 +539,6 @@
     if (configuration.getFragment(ObjcConfiguration.class).shouldStripBinary()) {
       activatedCrosstoolSelectables.add(DEAD_STRIP_FEATURE_NAME);
     }
-    if (getPchFile().isPresent()) {
-      activatedCrosstoolSelectables.add("pch");
-    }
     if (configuration.getFragment(ObjcConfiguration.class).generateLinkmap()) {
       activatedCrosstoolSelectables.add(GENERATE_LINKMAP_FEATURE_NAME);
     }
diff --git a/src/test/java/com/google/devtools/build/lib/packages/util/mock/osx_cc_toolchain_config.bzl b/src/test/java/com/google/devtools/build/lib/packages/util/mock/osx_cc_toolchain_config.bzl
index 6cec27f..2fd53c7 100644
--- a/src/test/java/com/google/devtools/build/lib/packages/util/mock/osx_cc_toolchain_config.bzl
+++ b/src/test/java/com/google/devtools/build/lib/packages/util/mock/osx_cc_toolchain_config.bzl
@@ -7298,6 +7298,7 @@
 
     pch_feature = feature(
         name = "pch",
+        enabled = True,
         flag_sets = [
             flag_set(
                 actions = [
@@ -7306,7 +7307,15 @@
                     ACTION_NAMES.c_compile,
                     ACTION_NAMES.cpp_compile,
                 ],
-                flag_groups = [flag_group(flags = ["-include", "%{pch_file}"])],
+                flag_groups = [
+                    flag_group(
+                        flags = [
+                            "-include",
+                            "%{pch_file}",
+                        ],
+                        expand_if_available = "pch_file",
+                    ),
+                ],
             ),
         ],
     )
diff --git a/tools/osx/crosstool/cc_toolchain_config.bzl b/tools/osx/crosstool/cc_toolchain_config.bzl
index c88ec1d..dc0804e 100644
--- a/tools/osx/crosstool/cc_toolchain_config.bzl
+++ b/tools/osx/crosstool/cc_toolchain_config.bzl
@@ -4283,6 +4283,7 @@
 
     pch_feature = feature(
         name = "pch",
+        enabled = True,
         flag_sets = [
             flag_set(
                 actions = [
@@ -4291,7 +4292,15 @@
                     ACTION_NAMES.c_compile,
                     ACTION_NAMES.cpp_compile,
                 ],
-                flag_groups = [flag_group(flags = ["-include", "%{pch_file}"])],
+                flag_groups = [
+                    flag_group(
+                        flags = [
+                            "-include",
+                            "%{pch_file}",
+                        ],
+                        expand_if_available = "pch_file",
+                    ),
+                ],
             ),
         ],
     )