diff options
author | Peter Schmitt <schmitt@google.com> | 2015-03-13 17:01:45 +0000 |
---|---|---|
committer | Han-Wen Nienhuys <hanwen@google.com> | 2015-03-16 17:34:00 +0000 |
commit | 01889715e70b55b9d197e546593878f16cdc0f26 (patch) | |
tree | ab7e3350552b5fead62d1abdf473d5882b537271 /src/main/java/com/google/devtools/build/lib/rules/objc/IosExtensionRule.java | |
parent | 09cff8f0a83d340729a0e61ca482e56614141487 (diff) |
Split ios_application configurations based on --ios_multi_cpus.
Using the new flag works only on ios_application and ios_extension targets,
resulting in their output binaries being "universal" with all given architectures
included.
Internally this is achieved by splitting the "binary" dependency (and its transitive
dependencies) of ios_{application,extension} to be built in one of the architectures
using split transitions. The results are then combined. Since an ios_application may
depend on ios_extension, we transition back to the top-level configuration when
encoutering such a dependency using the newly introduced TOP_LEVEL transition and then
split configurations again.
RELNOTES: --ios_multi_cpus allows building fat ios_applications.
--
MOS_MIGRATED_REVID=88555540
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/objc/IosExtensionRule.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/objc/IosExtensionRule.java | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/IosExtensionRule.java b/src/main/java/com/google/devtools/build/lib/rules/objc/IosExtensionRule.java index a3491e0b9d..ca35f478ed 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/objc/IosExtensionRule.java +++ b/src/main/java/com/google/devtools/build/lib/rules/objc/IosExtensionRule.java @@ -56,7 +56,8 @@ public class IosExtensionRule implements RuleDefinition { .allowedRuleClasses("ios_extension_binary") .allowedFileTypes() .mandatory() - .direct_compile_time_input()) + .direct_compile_time_input() + .cfg(ReleaseBundlingSupport.SPLIT_ARCH_TRANSITION)) .build(); } } |