aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/objc/AppleBinaryRule.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/objc/AppleBinaryRule.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/AppleBinaryRule.java21
1 files changed, 9 insertions, 12 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/AppleBinaryRule.java b/src/main/java/com/google/devtools/build/lib/rules/objc/AppleBinaryRule.java
index 372aa6f851..bfe8193cce 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/AppleBinaryRule.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/AppleBinaryRule.java
@@ -16,7 +16,6 @@ package com.google.devtools.build.lib.rules.objc;
import static com.google.devtools.build.lib.packages.Attribute.attr;
import static com.google.devtools.build.lib.packages.BuildType.LABEL;
-import static com.google.devtools.build.lib.packages.ImplicitOutputsFunction.fromTemplates;
import static com.google.devtools.build.lib.syntax.Type.BOOLEAN;
import static com.google.devtools.build.lib.syntax.Type.STRING;
@@ -26,7 +25,6 @@ import com.google.devtools.build.lib.analysis.RuleDefinition;
import com.google.devtools.build.lib.analysis.RuleDefinitionEnvironment;
import com.google.devtools.build.lib.packages.Attribute.AllowedValueSet;
import com.google.devtools.build.lib.packages.ImplicitOutputsFunction;
-import com.google.devtools.build.lib.packages.ImplicitOutputsFunction.SafeImplicitOutputsFunction;
import com.google.devtools.build.lib.packages.RuleClass;
import com.google.devtools.build.lib.packages.RuleClass.Builder;
import com.google.devtools.build.lib.packages.SkylarkProviderIdentifier;
@@ -52,12 +50,6 @@ public class AppleBinaryRule implements RuleDefinition {
}
/**
- * Template for the fat binary output (using Apple's "lipo" tool to combine binaries of
- * multiple architectures).
- */
- private static final SafeImplicitOutputsFunction LIPOBIN = fromTemplates("%{name}_lipobin");
-
- /**
* There are 3 classes of fully linked binaries in Mach: executable, dynamic library, and
* loadable bundle.
*
@@ -89,7 +81,9 @@ public class AppleBinaryRule implements RuleDefinition {
new MultiArchSplitTransitionProvider();
return builder
.requiresConfigurationFragments(
- ObjcConfiguration.class, J2ObjcConfiguration.class, AppleConfiguration.class,
+ ObjcConfiguration.class,
+ J2ObjcConfiguration.class,
+ AppleConfiguration.class,
CppConfiguration.class)
.add(
attr("$is_executable", BOOLEAN)
@@ -123,8 +117,10 @@ public class AppleBinaryRule implements RuleDefinition {
This attribute is deprecated and will be removed soon. It currently has no effect.
"Extension-safe" link options may be added using the <code>linkopts</code> attribute.
<!-- #END_BLAZE_RULE.ATTRIBUTE --> */
- .add(attr(EXTENSION_SAFE_ATTR_NAME, BOOLEAN).value(false)
- .nonconfigurable("Determines the configuration transition on deps"))
+ .add(
+ attr(EXTENSION_SAFE_ATTR_NAME, BOOLEAN)
+ .value(false)
+ .nonconfigurable("Determines the configuration transition on deps"))
.add(
attr(BUNDLE_LOADER_ATTR_NAME, LABEL)
.direct_compile_time_input()
@@ -143,7 +139,8 @@ public class AppleBinaryRule implements RuleDefinition {
binary. All transitive dependencies and <code>srcs</code> are linked.</li>
</ul>
<!-- #END_BLAZE_RULE.IMPLICIT_OUTPUTS -->*/
- .setImplicitOutputsFunction(ImplicitOutputsFunction.fromFunctions(LIPOBIN))
+ .setImplicitOutputsFunction(
+ ImplicitOutputsFunction.fromFunctions(ObjcRuleClasses.LIPOBIN_OUTPUT))
.cfg(AppleCrosstoolTransition.APPLE_CROSSTOOL_TRANSITION)
.build();
}