[webkit-help] How did Apple build libicucore.dylib?

Eric Wing ewmailing at gmail.com
Thu Jan 9 21:51:17 PST 2014

I am attempting to build JavaScriptCore for my own embedded
application use. I noticed that Mac and iOS JavaScriptCore have a
dependency on a library called libicucore.

When I build ICU myself from the , I get a handful of different icu
libraries, but nothing named "core".

While I can get a working JavaScriptCore built against my ICU
libraries (I need icuuc, icui18n, and icudata), my final binary size
is huge due to the ICU libraries I link in. I tried statically linking
my icu libraries, but the smallest my binary gets is about 30MB per
architecture. When I dynamically link ICU, I can tell that the major
contribution of the bloat is due to the ICU libraries.

Looking at Apple's icucore binary, it is about 6.5MB for 3
architectures which is tiny compared to my 3 icu libraries. I'm
speculating that Apple ripped out all the stuff they don't need and
merged in all the parts they do need into the single libicucore.

Can somebody confirm this is what Apple did, and can somebody tell me
how I can reproduce that? (I did try downloading Apple's 10.9 source
for ICU from MacOSForge, but it built the normal ICU stuff and not
libicucore, nor did I notice any special build options.)

Beginning iPhone Games Development

More information about the webkit-help mailing list