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", + ), + ], ), ], )