kbuild: check if we can link gettext not just compile
cygwin provides the header file but the lib file needs to be added manually. A generic fix is to check if we can compile and link a program that uses gettext() and if it fails fall back to NO_NLS. International users of cygwin may have to specify HOST_LOADLIBES := "-lintl" on the make command line. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
This commit is contained in:
parent
4f4c4ee1b7
commit
aa1e5ef5c1
2 changed files with 16 additions and 8 deletions
|
@ -143,14 +143,8 @@ clean-files := lkc_defs.h qconf.moc .tmp_qtcheck \
|
|||
.tmp_gtkcheck zconf.tab.c lex.zconf.c zconf.hash.c
|
||||
clean-files += mconf qconf gconf
|
||||
|
||||
# Needed for systems without gettext
|
||||
KBUILD_HAVE_NLS := $(shell \
|
||||
if echo "\#include <libintl.h>" | $(HOSTCC) $(HOSTCFLAGS) -E - > /dev/null 2>&1 ; \
|
||||
then echo yes ; \
|
||||
else echo no ; fi)
|
||||
ifeq ($(KBUILD_HAVE_NLS),no)
|
||||
HOSTCFLAGS += -DKBUILD_NO_NLS
|
||||
endif
|
||||
# Add environment specific flags
|
||||
HOST_EXTRACFLAGS += $(shell $(CONFIG_SHELL) $(srctree)/$(src)/check.sh $(HOSTCC) $(HOSTCFLAGS))
|
||||
|
||||
# generated files seem to need this to find local include files
|
||||
HOSTCFLAGS_lex.zconf.o := -I$(src)
|
||||
|
|
14
scripts/kconfig/check.sh
Executable file
14
scripts/kconfig/check.sh
Executable file
|
@ -0,0 +1,14 @@
|
|||
#!/bin/sh
|
||||
# Needed for systems without gettext
|
||||
$* -xc -o /dev/null - > /dev/null 2>&1 << EOF
|
||||
#include <libintl.h>
|
||||
int main()
|
||||
{
|
||||
gettext("");
|
||||
return 0;
|
||||
}
|
||||
EOF
|
||||
if [ ! "$?" -eq "0" ]; then
|
||||
echo -DKBUILD_NO_NLS;
|
||||
fi
|
||||
|
Loading…
Reference in a new issue