Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(105)

Issue 2631573002: Support building libs and apps for iOS, watchOS, and tvOS with bitcode (Closed)

Created:
3 years, 11 months ago by VladimirTechMan
Modified:
3 years, 9 months ago
Reviewers:
Robert Sesek, tk1061178, VladimirTechMan, sdefresne
CC:
chromium-reviews
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Support building libs and apps for iOS, watchOS, and tvOS with bitcode This patch adds flag "enable_ios_bitcode" to the build configuration for iOS applications, frameworks, and libraries. It triggers adding the "-fembed-bitcode" option when compiling and linking parts of the projects for production builds (is_debug = false), and it triggers adding the "-fembed-bitcode-marker" option in the case of debug builds. That is along the lines of how Xcode does it, since the introduction of the bitcode support and corresponding options. The option only makes sense for Xcode build tools now and for iOS SDK compatible builds (iOS, watchOS, tvOS). Thus, it the options is only applicable when building for iOS with use_xcode_clang = true. And only when building for real devices (with ARM CPUs). The latter limitation is due to the usage of Intel assembly syntax and the Yasm tool when building for iOS simulator (Yasm cannot emit bitcode sections now). But it does not affect the workflow for the generated applications, frameworks and libraries at the moment of submitting this patch: For now, Xcode only cares about the availability of bitcode sections in _all_ the pre-compiled parts of bitcode-enabled projects when building those projects for ARM-based devices. Building for iOS simulator, it handles the projects just fine, with or without bitcode sections available in the linked libraries. That may change in the future, of course, but currently it should be fine. BUG=680711 Review-Url: https://codereview.chromium.org/2631573002 Cr-Commit-Position: refs/heads/master@{#443535} Committed: https://chromium.googlesource.com/chromium/src/+/0e1f16653bdf3cacd121bfbc1f32b25f01ac6aed

Patch Set 1 #

Total comments: 1

Patch Set 2 : Support building libs and apps for iOS, watchOS, and tvOS with bitcode. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+25 lines, -0 lines) Patch
M build/config/ios/BUILD.gn View 1 2 chunks +25 lines, -0 lines 0 comments Download

Messages

Total messages: 17 (9 generated)
VladimirTechMan
3 years, 11 months ago (2017-01-12 22:38:41 UTC) #3
sdefresne
lgtm https://codereview.chromium.org/2631573002/diff/1/build/config/ios/BUILD.gn File build/config/ios/BUILD.gn (right): https://codereview.chromium.org/2631573002/diff/1/build/config/ios/BUILD.gn#newcode18 build/config/ios/BUILD.gn:18: # NOTE: Currently this option is ignored when ...
3 years, 11 months ago (2017-01-13 10:09:35 UTC) #8
VladimirTechMan
Updated the note about the flag in BUILD.gn following the comment from @sdefresne. Let me ...
3 years, 11 months ago (2017-01-13 10:25:29 UTC) #9
sdefresne
still lgtm
3 years, 11 months ago (2017-01-13 10:27:29 UTC) #10
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2631573002/20001
3 years, 11 months ago (2017-01-13 10:32:19 UTC) #12
commit-bot: I haz the power
Committed patchset #2 (id:20001) as https://chromium.googlesource.com/chromium/src/+/0e1f16653bdf3cacd121bfbc1f32b25f01ac6aed
3 years, 11 months ago (2017-01-13 12:16:25 UTC) #15
tk1061178_gmail.com
I have got a problem Using the bitcode to generate the framework such as Cronet.framework ...
3 years, 10 months ago (2017-02-23 03:18:55 UTC) #16
VladimirTechMan
3 years, 9 months ago (2017-02-27 03:47:07 UTC) #17
Message was sent while issue was closed.
On 2017/02/23 03:18:55, tk1061178_gmail.com wrote:
>  
> 
> I have got a problem
> 
> Using the bitcode to generate the framework such as Cronet.framework 
> results in that the size of Cronet from 5.5M to 629M, it is too big. if we 
> have some method to optimize the size with the bitcode?
> 
> 在 2017年1月13日星期五 UTC+8下午6:27:31,sdef...@chromium.org写道:
> >
> > still lgtm
> >
> > https://codereview.chromium.org/2631573002/
> >
> 
> -- 
> You received this message because you are subscribed to the Google Groups
> "Chromium-reviews" group.
> To unsubscribe from this group and stop receiving emails from it, send an
email
> to mailto:chromium-reviews+unsubscribe@chromium.org.

The size of bitcode-enabled libraries is a known trade-off for the optimization
they allow doing before the complied application (not the initial bitcode
representation of it) is loaded on the device from App Store (or from Xcode in
the case of a developer's environment). You may also refer to comments 26 and 27
at the following link, discussing the same topic:

https://bugs.chromium.org/p/webrtc/issues/detail?id=5085#c26

Powered by Google App Engine
This is Rietveld 408576698