12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- // -*- mode:doc; -*-
- // vim: set syntax=asciidoc:
- === Gettext integration and interaction with packages
- Many packages that support internationalization use the gettext
- library. Dependencies for this library are fairly complicated and
- therefore, deserve some explanation.
- The 'uClibc' C library doesn't implement gettext functionality;
- therefore with this C library, a separate gettext must be compiled,
- which is provided by the additional +libintl+ library, part of the
- +gettext+ package.
- 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
- functions unconditionally, while other packages (in general, those who
- support +--disable-nls+) only require gettext functions 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
- Packages that need gettext only when locale support is enabled should:
- * use +select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE+ in the
- +Config.in+ file;
- * use +$(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext)+ in the package
- +DEPENDENCIES+ variable in the +.mk+ file.
- Packages that unconditionally need gettext (which should be very rare)
- should:
- * use +select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT+ in the +Config.in+
- file;
- * use +$(if $(BR2_NEEDS_GETTEXT),gettext)+ in the package
- +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.
|