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 three packages: gettext-runtime Contents: Runtime libraries and programs. Audience: Anyone who wants to run internationalized programs. libtextstyle Contents: Text styling library. Audience: Anyone who wants to run or develop programs that produce styled text, to be displayed in a terminal emulator. 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 'libtextstyle' binary package can be installed by doing cd libtextstyle ./configure make make install The 'gettext-tools' binary package can be installed by building 'gettext-runtime' first, and then cd gettext-tools ./configure --with-installed-libtextstyle --with-installed-csharp-dll make make install If you want to install all three at the same time, you simply do at the top-level directory: ./configure make make install The precise split between gettext-runtime, libtextstyle, 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 and Solaris 11 systems) $prefix/share/locale/locale.alias (not installed on glibc and Solaris 11 systems) $prefix/include/libintl.h (not installed on glibc and Solaris 11 systems) $prefix/share/man/man3/* $prefix/share/doc/gettext/*.3.html $prefix/share/gettext/libintl.jar $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/share/info/autosprintf.info libtextstyle $prefix/lib/libtextstyle.* $prefix/include/textstyle.h $prefix/include/textstyle/* $prefix/share/doc/libtextstyle/libtextstyle*.html $prefix/share/info/libtextstyle.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/man/man1/recode*.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/recode*.1.html $prefix/share/doc/gettext/gettext_*.html $prefix/share/doc/gettext/FAQ.html $prefix/share/doc/gettext/tutorial.html $prefix/share/doc/gettext/examples/* $prefix/share/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; actually installed by gettext-runtime's "make install") $prefix/lib/gettext/* $prefix/share/locale/*/LC_MESSAGES/gettext-tools.mo $prefix/share/gettext/config.rpath $prefix/share/gettext/po/* $prefix/share/gettext/projects/* $prefix/share/gettext/styles/* $prefix/share/gettext/gettext.h $prefix/share/gettext/gettext.jar $prefix/share/gettext/javaversion.class $prefix/share/gettext/msgunfmt.tcl $prefix/share/gettext/archive.git.tar.* $prefix/share/gettext/archive.dir.tar.* (only installed if --without-git specified) $prefix/share/gettext/archive.cvs.tar.* (only installed if --with-cvs specified) $prefix/share/gettext-$VERSION/its/* $prefix/share/aclocal/build-to-host.m4 $prefix/share/aclocal/gettext.m4 $prefix/share/aclocal/host-cpu-c-abi.m4 $prefix/share/aclocal/iconv.m4 $prefix/share/aclocal/intlmacosx.m4 $prefix/share/aclocal/lib-ld.m4 $prefix/share/aclocal/lib-link.m4 $prefix/share/aclocal/lib-prefix.m4 $prefix/share/aclocal/nls.m4 $prefix/share/aclocal/po.m4 $prefix/share/aclocal/progtest.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 some Java implementation is available, two programs will be compiled to Java bytecode: $prefix/share/gettext/gettext.jar and the gettext-tools package will therefore have a runtime dependency to the Java virtual machine (OpenJDK, Oracle Java, IBM Java, or other). C# support: ----------- For C# support, mono must be available at build time and at run time.