shrinking libICU

Browsers, email, chat, etc.
Post Reply
Message
Author
User avatar
technosaurus
Posts: 4853
Joined: Mon 19 May 2008, 01:24
Location: Blue Springs, MO
Contact:

shrinking libICU

#1 Post by technosaurus »

This is a stub for documenting the smallest usable libICU

Things to do:
edit source/common/unicode/uconfig.h and source/common/unicode/utypes.h to disable unneeded features (some may be needed - try and see):
Things you may want to #define:
UCONFIG_NO_LEGACY_CONVERSION, UCONFIG_NO_BREAK_ITERATION, UCONFIG_NO_COLLATION, UCONFIG_NO_FORMATTING, UCONFIG_NO_TRANSLITERATION, UCONFIG_NO_REGULAR_EXPRESSIONS, U_HIDE_DRAFT_API, U_HIDE_DEPRECATED_API, U_HIDE_OBSOLETE_API, U_HIDE_INTERNAL_API, U_COMMON_IMPLEMENTATION, U_I18N_IMPLEMENTATION, U_COMBINED_IMPLEMENTATION
Note: some proprietary software may require the single combined libICU

cut extraneous data from the icuXXl.dat file using this tool (as small as 145kb to as large as 24297kb)
http://apps.icu-project.org/datacustom/
or by editing/removing source/data/*/*.mk
Note: since puppy uses a compressed file system, it may save size and be faster to edit the *.mk files and use --with-data-packaging=files if it will be included on an xz compressed sfs
... again some of these may be required so try and see

modify source/runConfigureICU to change -O3 to -Os (and other flags as desired)

Code: Select all

./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --disable-draft --disable-renaming --with-data-packaging=archive --disable-extras --disable-icuio --disable-layout --disable-tools  --disable-tests --disable-samples 
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].

Post Reply