aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar Chris Parsons <cparsons@google.com>2016-05-27 18:06:55 +0000
committerGravatar Dmitry Lomov <dslomov@google.com>2016-05-30 09:19:44 +0000
commit660640d9976139626b59ea09d9d293eeaa8c83bc (patch)
tree1bfacec86d2f51346dfc22e1c1be37ba0e1d5a76 /src
parent6f418edf764a4dad4166ffcde49b0dbbc271214e (diff)
Add documentation for apple_binary rule, making it visible for public consumption.
RELNOTES: Release apple_binary rule, for creating multi-architecture ("fat") objc/cc binaries and libraries, targeting ios platforms. -- MOS_MIGRATED_REVID=123435699
Diffstat (limited to 'src')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/AppleBinaryRule.java25
1 files changed, 24 insertions, 1 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 0eddf23ec4..33920dec84 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
@@ -60,6 +60,14 @@ public class AppleBinaryRule implements RuleDefinition {
.add(attr(":cc_toolchain", LABEL)
.cfg(AppleBinary.SPLIT_TRANSITION_PROVIDER)
.value(ObjcRuleClasses.APPLE_TOOLCHAIN))
+ /*<!-- #BLAZE_RULE(apple_binary).IMPLICIT_OUTPUTS -->
+ <ul>
+ <li><code><var>name</var>_lipobin</code>: the 'lipo'ed potentially multi-architecture
+ binary. All transitive dependencies and <code>srcs</code> are linked.</li>
+ <li><code><var>name</var>_.lipo.a</code>: a 'lipo'ed archive file linking together only
+ the <code>srcs</code> of this target.</li>
+ </ul>
+ <!-- #END_BLAZE_RULE.IMPLICIT_OUTPUTS -->*/
.setImplicitOutputsFunction(
ImplicitOutputsFunction.fromFunctions(LIPOBIN, LIPO_ARCHIVE))
.build();
@@ -71,7 +79,22 @@ public class AppleBinaryRule implements RuleDefinition {
.name("apple_binary")
.factoryClass(AppleBinary.class)
.ancestors(BaseRuleClasses.BaseRule.class, ObjcRuleClasses.LinkingRule.class,
- ObjcRuleClasses.XcodegenRule.class, ObjcRuleClasses.SimulatorRule.class)
+ ObjcRuleClasses.SimulatorRule.class)
.build();
}
}
+
+/*<!-- #BLAZE_RULE (NAME = apple_binary, TYPE = BINARY, FAMILY = Objective-C) -->
+
+<p>This rule produces single- or multi-architecture ("fat") Objective-C libraries and/or binaries,
+typically used in creating apple bundles, such as frameworks, extensions, or applications.</p>
+
+<p>The <code>lipo</code> tool is used to combine files of multiple architectures. The
+<code>--ios_multi_cpus</code> flag controls which architectures are included in the output.</p>
+
+<p>This rule currently only supports building for ios architectures, though more platforms
+will be supported in the future.</p>
+
+${IMPLICIT_OUTPUTS}
+
+<!-- #END_BLAZE_RULE -->*/