prepare support for libiconv, libintl stub/full switching
authorJo-Philipp Wich <jow@openwrt.org>
Wed, 2 Feb 2011 01:26:19 +0000 (01:26 +0000)
committerJo-Philipp Wich <jow@openwrt.org>
Wed, 2 Feb 2011 01:26:19 +0000 (01:26 +0000)
SVN-Revision: 25302

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

index c9ef24a..cbca037 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.
 
+       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 (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)