ICU library naming scheme modification proposal

Barry Novinger <[email protected]> Tue, 23 Mar 2004 11:42:15 -0600
Newsgroups gmane.comp.lib.icu.general
Message-ID <OF785C3B4D.C286A459-ON86256E60.005E5E67-86256E60.006141E5@us.ibm.com>
I'd like to get some feedback from the ICU community regarding a naming
scheme change proposal.

I am attempting to add versioning to the ICU libraries, that is the .so and
service program names as they appear in the root and qsys file systems on
the iSeries.  What I would like to accomplish at the same time is a bit
more common of a naming scheme across platforms.

Currently the naming on Windows is:

ctestfw.dll, icudt28.dll, icuin28.dll, icuio28.dll, icule28.dll,
iculx28.dll, icutu28.dll, and icuuc28.dll .

On Unix-like platforms the naming is as follows with various extensions
which are not pertinent so I have excluded the variations.  I don't have a
Unix build in front of me but believe this to be accurate.

libicuctestfw28, libicudata28, libicui18n28, libicuio28, libicule28,
libiculx28, libicutoolutil28, and libicuuc28 .


I am proposing the following:

   Obviously for unix-like platforms maintain the "lib" prefix.
   This would be followed by "icu".
   Next would be a two character ID to identify the particular ICU library.

   Four of the eight already only use two characters for all platforms:
   io, le, lx and uc  .
   The remaining four would be shortened also as follows ...

   ctestfw -> ct
   data     -> dt
   i18n      -> in
   toolutil -> tu

   This would follow the current windows naming scheme for those three that
   currently have two character naming.

4.    Finally, this would be followed by the ICU major version number for
two characters: 28, 30, etc.

Please feed back your comments by March 30th.

Thanks,
Barry Novinger