aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules
diff options
context:
space:
mode:
authorGravatar gregce <gregce@google.com>2017-09-16 06:20:44 +0200
committerGravatar László Csomor <laszlocsomor@google.com>2017-09-18 11:29:01 +0200
commitce1129e940bee67e5312e3168534e7c92cd0e57f (patch)
tree76140cde205697533bdbd373e43ab4ef40fd93f7 /src/main/java/com/google/devtools/build/lib/rules
parentde6fd92656ed5f7be648ca59c45017bf05567e0c (diff)
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
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchainRule.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CppRuleClasses.java23
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/proto/CcProtoAspect.java3
3 files changed, 5 insertions, 25 deletions
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 5f9f07a4e3..23cc7fc326 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.Rule;
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 @@ public final class CcToolchainRule implements RuleDefinition {
.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 bca6407a0b..953044781b 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.Rule;
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 @@ public class CppRuleClasses {
};
/**
- * 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 7415a1044f..820bc46087 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.CppHelper;
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 @@ public class CcProtoAspect extends NativeAspectClass implements ConfiguredAspect
.value(ccToolchainAttrValue))
.add(
attr(":lipo_context_collector", LABEL)
- .cfg(CppRuleClasses.LipoTransition.LIPO_COLLECTOR)
+ .cfg(LipoContextCollectorTransition.INSTANCE)
.value(CppRuleClasses.LIPO_CONTEXT_COLLECTOR)
.skipPrereqValidatorCheck());