| Gettext integration and interaction with packages |
| ------------------------------------------------- |
| |
| Many packages that support internationalization use the gettext |
| library. Dependencies for this library are fairly complicated and |
| therefore, deserves some explanation. |
| |
| The 'uClibc' C library doesn't implement gettext functionality, |
| therefore with this C library, a separate gettext must be compiled. On |
| the other hand, the 'glibc' C library does integrate its own gettext, |
| and in this case, the separate gettext library should not be compiled, |
| because it creates various kinds of build failures. |
| |
| Additionally, some packages (such as +libglib2+) do require gettext |
| unconditionally, while other packages (those who support |
| +--disable-nls+ in general) only require gettext when locale support |
| is enabled. |
| |
| Therefore, Buildroot defines two configuration options: |
| |
| * +BR2_NEEDS_GETTEXT+, which is true as soon as the toolchain doesn't |
| provide its own gettext implementation |
| |
| * +BR2_NEEDS_GETTEXT_IF_LOCALE+, which is true if the toolchain |
| doesn't provide its own gettext implementation and if locale support |
| is enabled |
| |
| Therefore, packages that unconditionally need gettext should: |
| |
| * Use +select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT+ and possibly |
| +select BR2_PACKAGE_LIBINTL if BR2_NEEDS_GETTEXT+, if libintl is |
| also needed |
| |
| * Use +$(if $(BR2_NEEDS_GETTEXT),gettext)+ in the package |
| +DEPENDENCIES+ variable |
| |
| Packages that need gettext only when locale support is enabled should: |
| |
| * Use +select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE+ and |
| possibly +select BR2_PACKAGE_LIBINTL if |
| BR2_NEEDS_GETTEXT_IF_LOCALE+, if libintl is also needed |
| |
| * Use +$(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext)+ in the package |
| +DEPENDENCIES+ variable |