Leopold Toetsch wrote:

Jeff Clites <[EMAIL PROTECTED]> wrote:


ICU somehow manages (optionally?) to suffix all it its symbols with the
version number, automagically (meaning, they don't look that way in the
source or the headers).



urename.h is responsible for this. All the symbols get a version suffix.



Yes, it's optional. The --disable-renaming configure option can be used to turn this feature off. This feature is used so that multiple versions of ICU can be used within the same application. This can be important when you want to have multiple collation versions, or in a huge application where part of it uses the current ICU while the rest (maybe from third party vendors) can continue to use older versions of ICU.


This magic is done with a perl script called icu/source/tools/genren/genren.pl, which uses nm on Linux. It's run before every release of ICU, and the resulting urename.h is checked in.

George

Reply via email to