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 'sh-utils'; 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. gettext-runtime $prefix/share/gettext/ABOUT-NLS $prefix/bin/gettext $prefix/bin/ngettext $prefix/bin/envsubst $prefix/bin/gettext.sh $prefix/share/man/man1/gettext.1 $prefix/share/man/man1/ngettext.1 $prefix/share/man/man1/envsubst.1 $prefix/share/doc/gettext/gettext.1.html $prefix/share/doc/gettext/ngettext.1.html $prefix/share/doc/gettext/envsubst.1.html $prefix/share/locale/*/LC_MESSAGES/gettext-runtime.mo $prefix/lib/libintl.* (not installed on glibc systems) $prefix/lib/charset.alias (not installed on glibc systems) $prefix/share/locale/locale.alias (not installed on glibc systems) $prefix/include/libintl.h (not installed on glibc systems) $prefix/share/man/man3/* $prefix/share/doc/gettext/*.3.html $prefix/share/gettext/libintl.jar $prefix/share/doc/gettext/javadoc1/* $prefix/share/doc/gettext/javadoc2/* $prefix/lib/GNU.Gettext.dll $prefix/share/doc/gettext/csharpdoc/* $prefix/lib/libasprintf.* $prefix/include/autosprintf.h $prefix/share/doc/libasprintf/autosprintf.html $prefix/info/autosprintf.info gettext-tools Everything else, i.e. currently: $prefix/bin/msg* $prefix/bin/xgettext $prefix/bin/gettextize $prefix/bin/autopoint $prefix/bin/recode* $prefix/share/man/man1/msg*.1 $prefix/share/man/man1/xgettext.1 $prefix/share/man/man1/gettextize.1 $prefix/share/man/man1/autopoint.1 $prefix/share/doc/gettext/msg*.1.html $prefix/share/doc/gettext/xgettext.1.html $prefix/share/doc/gettext/gettextize.1.html $prefix/share/doc/gettext/autopoint.1.html $prefix/share/doc/gettext/gettext_*.html $prefix/share/doc/gettext/FAQ.html $prefix/share/doc/gettext/examples/* $prefix/info/gettext.info* $prefix/include/gettext-po.h $prefix/lib/libgettextlib* $prefix/lib/libgettextsrc* $prefix/lib/libgettextpo* $prefix/lib/preloadable_libintl.so (only installed on glibc systems) $prefix/lib/gettext/* $prefix/share/locale/*/LC_MESSAGES/gettext-tools.mo $prefix/share/gettext/config.rpath $prefix/share/gettext/intl/* $prefix/share/gettext/po/* $prefix/share/gettext/projects/* $prefix/share/gettext/gettext.h $prefix/share/gettext/gettext.jar (only installed if gcj is not present) $prefix/share/gettext/msgunfmt.tcl $prefix/share/gettext/archive.tar.gz $prefix/share/aclocal/codeset.m4 $prefix/share/aclocal/gettext.m4 $prefix/share/aclocal/glibc2.m4 $prefix/share/aclocal/glibc21.m4 $prefix/share/aclocal/iconv.m4 $prefix/share/aclocal/intdiv0.m4 $prefix/share/aclocal/intmax.m4 $prefix/share/aclocal/inttypes_h.m4 $prefix/share/aclocal/inttypes-h.m4 $prefix/share/aclocal/inttypes-pri.m4 $prefix/share/aclocal/lcmessage.m4 $prefix/share/aclocal/lib-ld.m4 $prefix/share/aclocal/lib-link.m4 $prefix/share/aclocal/lib-prefix.m4 $prefix/share/aclocal/lock.m4 $prefix/share/aclocal/longdouble.m4 $prefix/share/aclocal/longlong.m4 $prefix/share/aclocal/nls.m4 $prefix/share/aclocal/po.m4 $prefix/share/aclocal/printf-posix.m4 $prefix/share/aclocal/progtest.m4 $prefix/share/aclocal/signed.m4 $prefix/share/aclocal/size_max.m4 $prefix/share/aclocal/stdint_h.m4 $prefix/share/aclocal/uintmax_t.m4 $prefix/share/aclocal/ulonglong.m4 $prefix/share/aclocal/visibility.m4 $prefix/share/aclocal/wchar_t.m4 $prefix/share/aclocal/wint_t.m4 $prefix/share/aclocal/xsize.m4 $prefix/share/emacs/site-lisp/po-compat.el $prefix/share/emacs/site-lisp/po-compat.elc $prefix/share/emacs/site-lisp/po-mode.el $prefix/share/emacs/site-lisp/po-mode.elc $prefix/share/emacs/site-lisp/start-po.el $prefix/share/emacs/site-lisp/start-po.elc Java support: ------------- 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.