Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[SR-1363] Is there a way to cut down the size of ICU and document what is actually used (to support future efforts to cut down ICU) #43972

Closed
swift-ci opened this issue Apr 29, 2016 · 1 comment
Labels
Android Platform: Android ICU Linux Platform: Linux standard library Area: Standard library umbrella task

Comments

@swift-ci
Copy link
Collaborator

Previous ID SR-1363
Radar None
Original Reporter ewmailing (JIRA User)
Type Task
Status Resolved
Resolution Done
Additional Detail from JIRA
Votes 0
Component/s Standard Library
Labels Task, Android, ICU, Linux
Assignee None
Priority Medium

md5: cec3a6463bc79497c00bcd8610b07292

Issue Description:

Is there a way to cut down the size of ICU and document what is actually used (to support future efforts to cut down ICU)?

The size of ICU is a horrible problem for systems that don’t provide this dependency. SteamOS (Linux) and Android are the first two systems I’ve encountered that suffer from this. Particularly on Android, where Google imposes a 50MB apk size limit, and adb/USB transfers to device can be slow slow that Android Studio sometime times-out the install transfer because the .apk is too big. Also due to dll-hell and version conflicts due to system libraries internally using their own private copies of libICU in which I’m proposing libICU be statically linked for Swift on these platforms, this makes each Swift library duplicate the ICU bloat.

I know there are people are interested of using Swift on embedded platforms where resources are even tighter. This is going to be a major deterrent for Swift adoption for these platforms.

Incidentally, I noticed from WebKit, that Apple has a special cut down build of ICU called libICUCore. (My prior attempt to build it for other platforms was a dismal failure as the Makefile seemed to be complicated and very Apple specific.)

@finagolfin
Copy link
Contributor

The libicu dependency was just dropped for the stdlib:

http://github.com/apple/swift/pull/40340

@swift-ci swift-ci transferred this issue from apple/swift-issues Apr 25, 2022
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Android Platform: Android ICU Linux Platform: Linux standard library Area: Standard library umbrella task
Projects
None yet
Development

No branches or pull requests

2 participants