summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorYuri Vasilevski <yvasilev@duke.math.cinvestav.mx>2005-10-30 15:03:20 -0800
committerLinus Torvalds <torvalds@g5.osdl.org>2005-10-30 17:37:28 -0800
commit70a6a0cb92f24fd6bbe2e75299168909f735676a (patch)
treed57dc83325198a74c3b190930f73cf7c5edff42e /scripts
parentb39f72fef241ce0ce971ed21922b4d64aefaf916 (diff)
downloadlinux-3.10-70a6a0cb92f24fd6bbe2e75299168909f735676a.tar.gz
linux-3.10-70a6a0cb92f24fd6bbe2e75299168909f735676a.tar.bz2
linux-3.10-70a6a0cb92f24fd6bbe2e75299168909f735676a.zip
[PATCH] fix build on nls free systems
I made a patch that detects if libintl.h (needed for nls) is present on the host system and if it's not, it nls support is disabled by providing dummies for the used nls functions. This way if there is nls support on the host system the *config targets will build according to Arnaldo Carvalho de Melo's i18n modifications, else it just uses the original English messages. I have also made a bug report at kernel's bugzilla: http://bugzilla.kernel.org/show_bug.cgi?id=5501 And there is a discussion about this problem in Gentoo's bugzilla: http://bugs.gentoo.org/show_bug.cgi?id=99810 Cc: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'scripts')
-rw-r--r--scripts/kconfig/Makefile9
-rw-r--r--scripts/kconfig/lkc.h8
2 files changed, 16 insertions, 1 deletions
diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile
index 2fcb244a9e1..0dd96919de3 100644
--- a/scripts/kconfig/Makefile
+++ b/scripts/kconfig/Makefile
@@ -116,6 +116,15 @@ endif
clean-files := lkc_defs.h qconf.moc .tmp_qtcheck \
.tmp_gtkcheck zconf.tab.c zconf.tab.h lex.zconf.c
+# Needed for systems without gettext
+KBUILD_HAVE_NLS := $(shell \
+ if echo "\#include <libint.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
+
# generated files seem to need this to find local include files
HOSTCFLAGS_lex.zconf.o := -I$(src)
HOSTCFLAGS_zconf.tab.o := -I$(src)
diff --git a/scripts/kconfig/lkc.h b/scripts/kconfig/lkc.h
index c3d25786a64..5fba1feff2a 100644
--- a/scripts/kconfig/lkc.h
+++ b/scripts/kconfig/lkc.h
@@ -8,7 +8,13 @@
#include "expr.h"
-#include <libintl.h>
+#ifndef KBUILD_NO_NLS
+# include <libintl.h>
+#else
+# define gettext(Msgid) ((const char *) (Msgid))
+# define textdomain(Domainname) ((const char *) (Domainname))
+# define bindtextdomain(Domainname, Dirname) ((const char *) (Dirname))
+#endif
#ifdef __cplusplus
extern "C" {