package/gettext: ensure GETTEXTIZE is always defined
authorVadim Kochan <vadim4j@gmail.com>
Mon, 8 Apr 2019 20:31:32 +0000 (23:31 +0300)
committerThomas Petazzoni <thomas.petazzoni@bootlin.com>
Wed, 10 Apr 2019 11:35:05 +0000 (13:35 +0200)
commit554fa317ba015cba631b9c412b3d8dd7edac362d
treea756e286edb4d7ebe0debeb5702745f16d9af587
parent7d17ae2acf63810495cc480da38127c4612e4da9
package/gettext: ensure GETTEXTIZE is always defined

After introducing gettext-tiny in:

5367a1b253 package/gettext-tiny: new package

GETTEXTIZE variable is conditionally defined separately by gettext-gnu
or gettext-tiny package depending on which of them is
enabled. However, gettext-gnu only defines it when the target
gettext-gnu package is enabled. This is wrong, because the target
gettext-gnu package is only needed when the C library doesn't provide
a proper gettext implementation (uClibc, musl). When glibc is used,
gettext functionality is provided by the toolchain, and the target
gettext-gnu package is not enabled, causing GETTEXTIZE to not be
defined. This causes build failures in packages that need
gettextizing, in configurations that have BR2_SYSTEM_ENABLE_NLS=y and
use glibc.

This commit fixes this issue by defining GETTEXTIZE unconditionally in
package/gettext/gettext.mk. It is not needed to define it in each
gettext-*.mk because the difference is only in passing the 'data_dir'
parameter which points to ${PREFIX}/share/gettext-tiny (in case of
gettext-tiny provider), but a simple symlink:

${PREFIX}/share/gettext -> ${PREFIX}/share/gettext-tiny

solves this issue.

Reported-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Vadim Kochan <vadim4j@gmail.com>
Reviewed-by: Romain Naour <romain.naour@smile.fr>
[Thomas: improve commit log]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
package/gettext-gnu/gettext-gnu.mk
package/gettext-tiny/gettext-tiny.mk
package/gettext/gettext.mk