]> rtime.felk.cvut.cz Git - coffee/buildroot.git/commitdiff
package/ncurses: Allow building wide char support
authorJeremy Kerr <jk@ozlabs.org>
Wed, 17 Sep 2014 13:08:16 +0000 (10:08 -0300)
committerPeter Korsgaard <peter@korsgaard.com>
Wed, 17 Sep 2014 20:58:50 +0000 (22:58 +0200)
Allow ncurses to be configured with wide char support; this causes the
libraries to be built with the 'w' suffix (eg libncursesw.so,
libmenuw.so, etc), so we need to create a few symlinks.

Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Tested-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
package/ncurses/Config.in
package/ncurses/ncurses.mk

index e8ab7102228dc32665d602c8130020095562e47b..b90ec9e5976d6d7a72c673d33ff7fca5ca0ceff1 100644 (file)
@@ -10,6 +10,12 @@ config BR2_PACKAGE_NCURSES
 
 if BR2_PACKAGE_NCURSES
 
+config BR2_PACKAGE_NCURSES_WCHAR
+       bool "enable wide char support"
+       depends on BR2_USE_WCHAR
+       help
+         Enable wide char & UTF-8 support in ncurses libraries
+
 config BR2_PACKAGE_NCURSES_TARGET_PANEL
        bool "ncurses libpanel in target"
        help
index 4bba8f1b3b22339f29ce5f53be9c1d2203a4067d..bd2aac017f67fabf9bfe026aaeadebb64bc3acc0 100644 (file)
@@ -12,7 +12,7 @@ HOST_NCURSES_DEPENDENCIES =
 NCURSES_PROGS = clear infocmp tabs tic toe tput tset
 NCURSES_LICENSE = MIT with advertising clause
 NCURSES_LICENSE_FILES = README
-NCURSES_CONFIG_SCRIPTS = ncurses5-config
+NCURSES_CONFIG_SCRIPTS = ncurses$(NCURSES_LIB_SUFFIX)5-config
 
 NCURSES_CONF_OPT = \
        $(if $(BR2_PREFER_STATIC_LIB),--without-shared,--with-shared) \
@@ -36,6 +36,24 @@ ifeq ($(BR2_PACKAGE_BUSYBOX),y)
        NCURSES_DEPENDENCIES += busybox
 endif
 
+ifeq ($(BR2_PACKAGE_NCURSES_WCHAR),y)
+NCURSES_CONF_OPT += --enable-widec
+NCURSES_LIB_SUFFIX = w
+
+define NCURSES_LINK_LIBS
+       for lib in $(NCURSES_LIBS-y); do \
+               ln -sf $${lib}$(NCURSES_LIB_SUFFIX).so \
+                       $(1)/usr/lib/$${lib}.so; \
+       done
+endef
+
+NCURSES_LINK_TARGET_LIBS =  $(call NCURSES_LINK_LIBS, $(TARGET_DIR))
+NCURSES_LINK_STAGING_LIBS =  $(call NCURSES_LINK_LIBS, $(STAGING_DIR))
+
+NCURSES_POST_INSTALL_STAGING_HOOKS += NCURSES_LINK_STAGING_LIBS
+
+endif
+
 NCURSES_LIBS-y = libncurses
 NCURSES_LIBS-$(BR2_PACKAGE_NCURSES_TARGET_MENU) += libmenu
 NCURSES_LIBS-$(BR2_PACKAGE_NCURSES_TARGET_PANEL) += libpanel
@@ -56,7 +74,8 @@ endef
 ifneq ($(BR2_PREFER_STATIC_LIB),y)
 define NCURSES_INSTALL_TARGET_LIBS
        for lib in $(NCURSES_LIBS-y); do \
-               cp -dpf $(NCURSES_DIR)/lib/$${lib}.so* $(TARGET_DIR)/usr/lib/; \
+               cp -dpf $(NCURSES_DIR)/lib/$${lib}$(NCURSES_LIB_SUFFIX).so* \
+                       $(TARGET_DIR)/usr/lib/; \
        done
 endef
 endif
@@ -74,6 +93,7 @@ endif
 define NCURSES_INSTALL_TARGET_CMDS
        mkdir -p $(TARGET_DIR)/usr/lib
        $(NCURSES_INSTALL_TARGET_LIBS)
+       $(NCURSES_LINK_TARGET_LIBS)
        $(NCURSES_INSTALL_TARGET_PROGS)
        ln -snf /usr/share/terminfo $(TARGET_DIR)/usr/lib/terminfo
        mkdir -p $(TARGET_DIR)/usr/share/terminfo/x