summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Config.in7
-rw-r--r--include/nls.mk40
2 files changed, 47 insertions, 0 deletions
diff --git a/Config.in b/Config.in
index c9ef24a63..cbca03744 100644
--- a/Config.in
+++ b/Config.in
@@ -140,6 +140,13 @@ menu "Global build settings"
In case software provides optional support for patented functionality,
this optional support will get disabled for this package.
+ config BUILD_NLS
+ default n
+ bool "Compile with full language support"
+ help
+ When this option is enabled, packages are built with the full versions of iconv and GNU gettext
+ instead of the default OpenWrt stubs.
+
config SHADOW_PASSWORDS
bool
prompt "Enable shadow password support"
diff --git a/include/nls.mk b/include/nls.mk
new file mode 100644
index 000000000..7743da470
--- /dev/null
+++ b/include/nls.mk
@@ -0,0 +1,40 @@
+#
+# Copyright (C) 2011 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+# iconv full
+ifeq ($(CONFIG_BUILD_NLS),y)
+ ICONV_PREFIX:=$(STAGING_DIR)/usr/lib/libiconv-full
+ ICONV_FULL:=1
+
+ INTL_PREFIX:=$(STAGING_DIR)/usr/lib/libintl-full
+ INTL_FULL:=1
+
+# iconv stub
+else
+ ICONV_PREFIX:=$(STAGING_DIR)/usr/lib/libiconv-stub
+ ICONV_FULL:=
+
+ INTL_PREFIX:=$(STAGING_DIR)/usr/lib/libintl-stub
+ INTL_FULL:=
+endif
+
+PKG_CONFIG_DEPENDS += CONFIG_BUILD_NLS
+PKG_BUILD_DEPENDS += !BUILD_NLS:libiconv !BUILD_NLS:gettext
+
+ICONV_DEPENDS:=+BUILD_NLS:libiconv-full
+ICONV_CFLAGS:=-I$(ICONV_PREFIX)/include
+ICONV_CPPFLAGS:=-I$(ICONV_PREFIX)/include
+ICONV_LDFLAGS:=-L$(ICONV_PREFIX)/lib
+
+INTL_DEPENDS:=+BUILD_NLS:libintl-full
+INTL_CFLAGS:=-I$(INTL_PREFIX)/include
+INTL_CPPFLAGS:=-I$(INTL_PREFIX)/include
+INTL_LDFLAGS:=-L$(INTL_PREFIX)/lib
+
+TARGET_CFLAGS += $(ICONV_CFLAGS) $(INTL_CFLAGS)
+TARGET_CPPFLAGS += $(ICONV_CFLAGS) $(INTL_CPPFLAGS)
+TARGET_LDFLAGS += $(ICONV_LDFLAGS) $(INTL_LDFLAGS)