docs/manual: update documentation about gettext handling

This commit updates the Buildroot manual regarding how gettext related
issues are handled, now that we have cases where the gettext package
should be selected even with glibc toolchains.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
Thomas Petazzoni 2014-08-16 15:47:22 +02:00 committed by Peter Korsgaard
parent effe0beb1d
commit 2289c34a19

View File

@ -8,15 +8,22 @@ library. Dependencies for this library are fairly complicated and
therefore, deserve some explanation. therefore, deserve some explanation.
The 'uClibc' C library doesn't implement gettext functionality; The 'uClibc' C library doesn't implement gettext functionality;
therefore with this C library, a separate gettext must be compiled. On therefore with this C library, a separate gettext must be compiled,
the other hand, the 'glibc' C library does integrate its own gettext, which is provided by the additional +libintl+ library, part of the
and in this case the separate gettext library should not be compiled, +gettext+ package.
because it creates various kinds of build failures.
On the other hand, the 'glibc' C library does integrate its own
gettext library functions, so it is not necessary to build a separate
+libintl+ library.
However, certain packages need some gettext utilities on the target,
such as the +gettext+ program itself, which allows to retrieve
translated strings, from the command line.
Additionally, some packages (such as +libglib2+) do require gettext Additionally, some packages (such as +libglib2+) do require gettext
unconditionally, while other packages (those who support functions unconditionally, while other packages (in general, those who
+--disable-nls+ in general) only require gettext when locale support support +--disable-nls+) only require gettext functions when locale
is enabled. support is enabled.
Therefore, Buildroot defines two configuration options: Therefore, Buildroot defines two configuration options:
@ -44,3 +51,11 @@ should:
* use +$(if $(BR2_NEEDS_GETTEXT),gettext)+ in the package * use +$(if $(BR2_NEEDS_GETTEXT),gettext)+ in the package
+DEPENDENCIES+ variable in the +.mk+ file. +DEPENDENCIES+ variable in the +.mk+ file.
Packages that need the +gettext+ utilities on the target (should be
rare) should:
* use +select BR2_PACKAGE_GETTEXT+ in their +Config.in+ file,
indicating in a comment above that it's a runtime dependency only.
* not add any +gettext+ dependency in the +DEPENDENCIES+ variable of
their +.mk+ file.