Remove LipoTransition (and replace remaining LIPO_COLLECTOR references). Rules should now be configured directly with patch transitions. This brings down our transition interfaces to: Transition, ConfigurationTransition, SplitTransition, PatchTransition. PiperOrigin-RevId: 168927364
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/cpp/BazelCppRuleClasses.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/cpp/BazelCppRuleClasses.java index 1a63327..dc79061 100644 --- a/src/main/java/com/google/devtools/build/lib/bazel/rules/cpp/BazelCppRuleClasses.java +++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/cpp/BazelCppRuleClasses.java
@@ -60,7 +60,7 @@ import com.google.devtools.build.lib.rules.cpp.CppFileTypes; import com.google.devtools.build.lib.rules.cpp.CppHelper; import com.google.devtools.build.lib.rules.cpp.CppRuleClasses; -import com.google.devtools.build.lib.rules.cpp.CppRuleClasses.LipoTransition; +import com.google.devtools.build.lib.rules.cpp.transitions.LipoContextCollectorTransition; import com.google.devtools.build.lib.util.FileTypeSet; /** @@ -235,7 +235,7 @@ .add(attr("includes", STRING_LIST)) .add( attr(":lipo_context_collector", LABEL) - .cfg(LipoTransition.LIPO_COLLECTOR) + .cfg(LipoContextCollectorTransition.INSTANCE) .value(CppRuleClasses.LIPO_CONTEXT_COLLECTOR) .skipPrereqValidatorCheck()) .build();
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchainRule.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchainRule.java index 5f9f07a..23cc7fc 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchainRule.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchainRule.java
@@ -33,7 +33,7 @@ import com.google.devtools.build.lib.packages.RuleClass; import com.google.devtools.build.lib.packages.RuleClass.Builder; import com.google.devtools.build.lib.packages.Target; -import com.google.devtools.build.lib.rules.cpp.CppRuleClasses.LipoTransition; +import com.google.devtools.build.lib.rules.cpp.transitions.LipoContextCollectorTransition; /** * Rule definition for compiler definition. @@ -133,7 +133,7 @@ .add(attr(":libc_top", LABEL).value(LIBC_TOP)) .add( attr(":lipo_context_collector", LABEL) - .cfg(LipoTransition.LIPO_COLLECTOR) + .cfg(LipoContextCollectorTransition.INSTANCE) .value(CppRuleClasses.LIPO_CONTEXT_COLLECTOR) .skipPrereqValidatorCheck()) .build();
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppRuleClasses.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppRuleClasses.java index bca6407..9530447 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppRuleClasses.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppRuleClasses.java
@@ -46,7 +46,6 @@ import com.google.devtools.build.lib.packages.RuleTransitionFactory; import com.google.devtools.build.lib.rules.cpp.transitions.DisableLipoTransition; import com.google.devtools.build.lib.rules.cpp.transitions.EnableLipoTransition; -import com.google.devtools.build.lib.rules.cpp.transitions.LipoContextCollectorTransition; import com.google.devtools.build.lib.util.FileTypeSet; import com.google.devtools.build.lib.util.OsUtils; @@ -69,33 +68,13 @@ }; /** - * Configuration transitions required by LIPO. - */ - public enum LipoTransition implements Transition { - /** - * LIPO context collector. - * - * <p>This configuration transition leads into a configuration that is used for collecting - * C++ compilation contexts for LIPO builds so that e.g. an include path entry required by an - * inlined function is there when the place is compiled where it is inlined at. - */ - LIPO_COLLECTOR, - - /** - * Transition used for switching back to the LIPO-optimized configuration. - */ - TARGET_CONFIG_FOR_LIPO; - } - - /** * Declares the implementations for C++ transition enums. * * <p>New transitions should extend {@link PatchTransition}, which avoids the need for this map. */ public static final ImmutableMap<Transition, Transition> DYNAMIC_TRANSITIONS_MAP = ImmutableMap.of( - Attribute.ConfigurationTransition.DATA, DisableLipoTransition.INSTANCE, - LipoTransition.LIPO_COLLECTOR, LipoContextCollectorTransition.INSTANCE + Attribute.ConfigurationTransition.DATA, DisableLipoTransition.INSTANCE );
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/proto/CcProtoAspect.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/proto/CcProtoAspect.java index 7415a10..820bc46 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/proto/CcProtoAspect.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/proto/CcProtoAspect.java
@@ -52,6 +52,7 @@ import com.google.devtools.build.lib.rules.cpp.CppRuleClasses; import com.google.devtools.build.lib.rules.cpp.CppSemantics; import com.google.devtools.build.lib.rules.cpp.FeatureSpecification; +import com.google.devtools.build.lib.rules.cpp.transitions.LipoContextCollectorTransition; import com.google.devtools.build.lib.rules.proto.ProtoCommon; import com.google.devtools.build.lib.rules.proto.ProtoCompileActionBuilder; import com.google.devtools.build.lib.rules.proto.ProtoCompileActionBuilder.ToolchainInvocation; @@ -125,7 +126,7 @@ .value(ccToolchainAttrValue)) .add( attr(":lipo_context_collector", LABEL) - .cfg(CppRuleClasses.LipoTransition.LIPO_COLLECTOR) + .cfg(LipoContextCollectorTransition.INSTANCE) .value(CppRuleClasses.LIPO_CONTEXT_COLLECTOR) .skipPrereqValidatorCheck());