[buildroot] prepare support for libiconv, libintl stub/full switching
authorjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Wed, 2 Feb 2011 01:26:19 +0000 (01:26 +0000)
committerjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Wed, 2 Feb 2011 01:26:19 +0000 (01:26 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@25302 3c298f89-4303-0410-b956-a3cf2f4a3e73

Config.in
include/nls.mk [new file with mode: 0644]

index c9ef24a63dcc126e346db40780bcdc4f9469fe9f..cbca0374498d66954048d6497b1fe6de58f0609c 100644 (file)
--- 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.
 
                  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"
        config SHADOW_PASSWORDS
                bool
                prompt "Enable shadow password support"
diff --git a/include/nls.mk b/include/nls.mk
new file mode 100644 (file)
index 0000000..7743da4
--- /dev/null
@@ -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)