Packaging hints for binary package distributors
===============================================
Although the source of the gettext package comes as a single package,
I recommend that in distributions of binary packages the installed files
be split into two packages:
gettext-runtime
Contents: Runtime libraries and programs.
Audience: Anyone who wants to run internationalized programs.
gettext-tools
Contents: Tools and documentation for developers and translators.
Audience: Anyone who wants to develop or localize internationalized
programs, i.e. developers and translators.
Dependencies: requires gettext-runtime.
The 'gettext-runtime' binary package is much smaller than the 'gettext-tools'
binary package (420 KB versus 5.5 MB). I recommend to include it in the default
installation list, like GNU 'coreutils'; in fact, the runtime programs are
utilities for sh programs.
The 'gettext-runtime' binary package can be installed by doing
cd gettext-runtime
./configure
make
make install
The 'gettext-tools' binary package can be installed by doing
cd gettext-tools
./configure
make
make install
If you want to install both at the same time, you simply do at the toplevel
directory:
./configure
make
make install
The precise split between gettext and gettext-tools is according to the
following file list.
If GNU gcj is available at build time, two programs will be built as native
executables:
$prefix/lib/gettext/gnu.gettext.*
and the gettext-tools package will therefore have a runtime dependency to
libgcj.so.
If GNU gcj is not available at build time but another Java implementation is
available instead, the two programs will be compiled to Java bytecode only:
$prefix/share/gettext/gettext.jar
and the gettext-tools package will therefore have a runtime dependency to
the Java virtual machine (Sun Java2, IBM Java2, GNU libgcj.jar, or other).
C# support:
-----------
For C# support, one of pnet or mono must be available at build time; it must
also be available at run time. If you have both available, choose the desired
one through the configure option. Note there is no interoperability currently
between pnet and mono: Programs compiled with pnet don't run with mono, and
vice versa.