[Buildroot] [PATCH 02/19] Make all package using gettext rely on BR2_NEEDS_GETTEXT
thomas.petazzoni at free-electrons.com
Fri May 21 22:11:49 UTC 2010
On Fri, 21 May 2010 21:56:05 +0200
Peter Korsgaard <jacmet at uclibc.org> wrote:
> I unfortunately now get the following error when building with an
> internal toolchain and locales NOT enabled:
> checking libintl.h usability... no
> checking libintl.h presence... no
> checking for libintl.h... no
> configure: error:
> *** You must have either have gettext support in your C library, or
> use the *** GNU gettext library.
> make: *** [/tmp/br/build/libglib2-2.22.5/.stamp_configured] Error 1
> Seems like we need to make libglib2 depend on locale support?
I can reproduce the same problem (strange because I thought I tested
this case, but anyway).
So we have two cases :
* Packages like Avahi. They understand --disable-nls and therefore
when locale support is not enabled, they don't need gettext.
* Packages like libglib2. They don't understand --disable-nls, so even
when locale is not enabled, they need gettext. libglib2 builds
fine in the previous situation, where BR2_NEEDS_GETTEXT was set
to yes as soon as an uClibc toolchain was used (regardless of
whether BR2_ENABLE_LOCALE is set or not). So it is possible to build
libglib2 with a !BR2_ENABLE_LOCALE toolchain, but it requires
gettext to be built.
So either we decide that packages such as libglib2 do require
BR2_ENABLE_LOCALE, or we need to find some smarter way.
In general, this locale/gettext/libintl/libiconv thing still isn't 100%
clear to me. Why is iconv selected only when !BR2_ENABLE_LOCALE ? Does
gettext works when the toolchain doesn't support locales ? What is the
exact role of all these components ?
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
More information about the buildroot