aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSam Ravnborg <sam@ravnborg.org>2007-08-12 17:15:44 -0400
committerSam Ravnborg <sam@neptun.(none)>2007-10-12 15:13:50 -0400
commitaa1e5ef5c1d95e7ebf0821d9ba27debe43a87a22 (patch)
tree900a9fa8d090ab5323a4276e55b8108fa0d40568
parent4f4c4ee1b79b9102db19ff39f7cb11abddaa43e1 (diff)
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>
-rw-r--r--scripts/kconfig/Makefile10
-rwxr-xr-xscripts/kconfig/check.sh14
2 files changed, 16 insertions, 8 deletions
diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile
index 8986a48c8c49..bb08069b04af 100644
--- a/scripts/kconfig/Makefile
+++ b/scripts/kconfig/Makefile
@@ -143,14 +143,8 @@ clean-files := lkc_defs.h qconf.moc .tmp_qtcheck \
143 .tmp_gtkcheck zconf.tab.c lex.zconf.c zconf.hash.c 143 .tmp_gtkcheck zconf.tab.c lex.zconf.c zconf.hash.c
144clean-files += mconf qconf gconf 144clean-files += mconf qconf gconf
145 145
146# Needed for systems without gettext 146# Add environment specific flags
147KBUILD_HAVE_NLS := $(shell \ 147HOST_EXTRACFLAGS += $(shell $(CONFIG_SHELL) $(srctree)/$(src)/check.sh $(HOSTCC) $(HOSTCFLAGS))
148 if echo "\#include <libintl.h>" | $(HOSTCC) $(HOSTCFLAGS) -E - > /dev/null 2>&1 ; \
149 then echo yes ; \
150 else echo no ; fi)
151ifeq ($(KBUILD_HAVE_NLS),no)
152HOSTCFLAGS += -DKBUILD_NO_NLS
153endif
154 148
155# generated files seem to need this to find local include files 149# generated files seem to need this to find local include files
156HOSTCFLAGS_lex.zconf.o := -I$(src) 150HOSTCFLAGS_lex.zconf.o := -I$(src)
diff --git a/scripts/kconfig/check.sh b/scripts/kconfig/check.sh
new file mode 100755
index 000000000000..fa59cbf9d62c
--- /dev/null
+++ b/scripts/kconfig/check.sh
@@ -0,0 +1,14 @@
1#!/bin/sh
2# Needed for systems without gettext
3$* -xc -o /dev/null - > /dev/null 2>&1 << EOF
4#include <libintl.h>
5int main()
6{
7 gettext("");
8 return 0;
9}
10EOF
11if [ ! "$?" -eq "0" ]; then
12 echo -DKBUILD_NO_NLS;
13fi
14