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

Eric Wing ewmailing at gmail.com
Fri Jan 10 13:45:19 PST 2014

(I tried webkit-help but didn't get any responses, so I thought maybe
this list might be more appropriate for this question. Sorry for the
duplicate if otherwise.)

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-dev mailing list