gettext/PACKAGING
Bruno Haible 22546c9c06 gettext-runtime: New programs 'printf_gettext', 'printf_ngettext'.
* autogen.sh (GNULIB_MODULES_RUNTIME_FOR_SRC): Add c-ctype, c-strtold,
fzprintf-posix, mbrtoc32, mbszero, quote, stdint-h, strtoimax, strtold,
strtoumax, xstrtold.
* gettext-runtime/src/printf-command.h: New file.
* gettext-runtime/src/printf-command.c: New file.
* gettext-runtime/src/printf_gettext.c: New file.
* gettext-runtime/src/Makefile.am (bin_PROGRAMS): Add printf_gettext,
printf_ngettext.
(noinst_LIBRARIES, libgrtsrc_a_SOURCES): New variables.
(printf_gettext_SOURCES, printf_gettext_CFLAGS, printf_gettext_LDFLAGS): New
variables.
(printf_ngettext_SOURCES, printf_ngettext_CFLAGS, printf_ngettext_LDFLAGS): New
variables.
(LDADD): Add libgrtsrc.a.
* gettext-runtime/po/POTFILES.in: Add src/printf-command.c,
src/printf_gettext.c, src/printf_ngettext.c.
* gettext-runtime/man/printf_gettext.x: New file.
* gettext-runtime/man/printf_ngettext.x: New file.
* gettext-runtime/man/Makefile.am (man_aux): Add printf_gettext.x,
printf_ngettext.x.
(man_MAN1GEN): Add printf_gettext.1, printf_ngettext.1.
(man_MAN1IN): Add printf_gettext.1.in, printf_ngettext.1.in.
(man_HTML1GEN): Add printf_gettext.1.html, printf_ngettext.1.html.
(man_HTML1IN): Add printf_gettext.1.html.in, printf_ngettext.1.html.in.
(printf_gettext.1, rintf_ngettext.1, printf_gettext.1.in, printf_ngettext.1.in):
Add dependencies.
(printf_gettext.1.html, printf_ngettext.1.html, printf_gettext.1.html.in,
printf_ngettext.1.html.in): Likewise.
* gettext-runtime/Makefile.am (distdir1): Depend on man/printf_gettext.1 and
man/printf_ngettext.1.
(man/printf_gettext.1, man/printf_ngettext.1): Depend on gen-man1.
(gen-man1): Make src/printf_gettext, src/printf_ngettext and printf_gettext.1,
printf_ngettext.1.
* gettext-runtime/doc/rt-printf_gettext.texi: New file.
* gettext-runtime/doc/rt-printf_ngettext.texi: New file.
* gettext-runtime/doc/Makefile.am (EXTRA_DIST): Add them.
* gettext-tools/doc/lang-sh.texi (printf_gettext Invocation,
printf_ngettext Invocation): New subsubsections.
* gettext-tools/doc/gettext.texi (@direntry): Add printf_gettext, .
* gettext-tools/doc/Makefile.am (gettext_TEXINFOS): Add rt-printf_gettext.texi,
rt-printf_ngettext.texi.
* gettext-runtime/NEWS: Mention the new programs.
* NEWS: Likewise.
* PACKAGING: Add the printf_gettext and printf_ngettext programs and their
documentation.
2025-06-25 04:16:03 +02:00

213 lines
7.3 KiB
Plaintext

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 five packages:
gettext-runtime
Contents: Runtime libraries and programs.
Audience: Anyone who wants to run internationalized programs.
gettext-runtime-d
Contents: Runtime libraries specifically for the D programming
language.
Audience: Anyone who wants to run internationalized D programs.
Dependencies: requires gettext-runtime.
gettext-runtime-m2
Contents: Runtime libraries specifically for the Modula-2 programming
language.
Audience: Anyone who wants to run internationalized Modula-2 programs.
Dependencies: requires gettext-runtime.
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 three 'gettext-runtime*' binary packages 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 five at the same time, you simply do at the
top-level directory:
./configure
make
make install
The precise split between gettext-runtime, gettext-runtime-d,
gettext-runtime-m2, 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/printf_gettext
$prefix/bin/printf_ngettext
$prefix/bin/envsubst
$prefix/bin/gettext.sh
$prefix/share/man/man1/gettext.1
$prefix/share/man/man1/ngettext.1
$prefix/share/man/man1/printf_gettext.1
$prefix/share/man/man1/printf_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/printf_gettext.1.html
$prefix/share/doc/gettext/printf_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/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/lib/gettext/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
gettext-runtime-d
$prefix/lib/libintl_d.a
$prefix/include/d/gnu/libintl/package.d
$prefix/include/d/gnu/libintl/libintl.d
$prefix/include/d/gnu/libintl/internal/low.d
gettext-runtime-m2
$prefix/lib/libintl_m2.*
$prefix/include/m2/Libintl.def
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/libexec/gettext/*
$prefix/share/locale/*/LC_MESSAGES/gettext-tools.mo
$prefix/share/gettext/config.rpath
$prefix/share/gettext/m4/build-to-host.m4
$prefix/share/gettext/m4/gettext.m4
$prefix/share/gettext/m4/host-cpu-c-abi.m4
$prefix/share/gettext/m4/iconv.m4
$prefix/share/gettext/m4/intlmacosx.m4
$prefix/share/gettext/m4/lib-ld.m4
$prefix/share/gettext/m4/lib-link.m4
$prefix/share/gettext/m4/lib-prefix.m4
$prefix/share/gettext/m4/nls.m4
$prefix/share/gettext/m4/po.m4
$prefix/share/gettext/m4/progtest.m4
$prefix/share/gettext/po/*
$prefix/share/gettext/projects/*
$prefix/share/gettext/schema/*
$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/disclaim-translations.txt
$prefix/share/gettext-$VERSION/its/*
$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, either mono or dotnet must be available at build time and
at run time.