Adding -lintl to LIBS causes a failure in the configure phase when using
a toolchain which already has locale support because the intl library is
not present in the staging area. We fix this by adding -lintl only when
is needed.
This is the configure error:
checking whether the C compiler works... no
configure: error: in
`/br/output/build/lightning-2.0.5':
configure: error: C compiler cannot create executables
See `config.log' for more details
This is the message in the config.log:
configure:3351: /br/output/host/usr/bin/mips-linux-gnu-gcc
-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os
-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
conftest.c -lintl >&5
/br/output/host/opt/ext-toolchain/bin/../lib/gcc/mips-linux-gnu/4.9.1/../../../../mips-linux-gnu/bin/ld:
cannot find -lintl
collect2: error: ld returned 1 exit status
Fixes:
http://autobuild.buildroot.net/results/280/
28006ab35379a9b7f380d40b99a760bec1b69e84/
[Thomas:
- Adjust the fix to not add a dependency on gettext: lightning
doesn't depend on gettext. It is just that binutils libraries are
linked against libintl when available, and we need to add -lintl
explicitly in such cases.]
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
LIGHTNING_DEPENDENCIES += binutils zlib
LIGHTNING_CONF_OPTS += --enable-disassembler
# binutils libraries are not explicitly linked against gettext
-LIGHTNING_CONF_ENV += $(if $(BR2_PACKAGE_GETTEXT),LIBS=-lintl)
+LIGHTNING_CONF_ENV += $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),LIBS=-lintl)
endif
$(eval $(autotools-package))