summaryrefslogtreecommitdiffstats
path: root/PACKAGING
blob: c64b0930c560073b6a068a6354fcab01898514a3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
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.

   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/intl.m4
      $prefix/share/aclocal/intldir.m4
      $prefix/share/aclocal/intmax.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/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.