[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
Labels
Android
Platform: Android
ICU
Linux
Platform: Linux
standard library
Area: Standard library umbrella
task
Additional Detail from JIRA
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.)
The text was updated successfully, but these errors were encountered: