Browse Source

ncurses: add target progs option

Closes bug #5072
Based on work from Stefan Meißner, thanks!

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Gustavo Zacarias 11 years ago
parent
commit
c951341485
2 changed files with 28 additions and 5 deletions
  1. 9 3
      package/ncurses/Config.in
  2. 19 2
      package/ncurses/ncurses.mk

+ 9 - 3
package/ncurses/Config.in

@@ -8,20 +8,26 @@ config BR2_PACKAGE_NCURSES
 
 	  http://www.gnu.org/software/ncurses/
 
+if BR2_PACKAGE_NCURSES
+
 config BR2_PACKAGE_NCURSES_TARGET_PANEL
 	bool "ncurses libpanel in target"
-	depends on BR2_PACKAGE_NCURSES
 	help
 	  Includes ncurses dynamic libpanel in target
 
 config BR2_PACKAGE_NCURSES_TARGET_FORM
 	bool "ncurses libform in target"
-	depends on BR2_PACKAGE_NCURSES
 	help
 	  Includes ncurses dynamic libform in target
 
 config BR2_PACKAGE_NCURSES_TARGET_MENU
 	bool "ncurses libmenu in target"
-	depends on BR2_PACKAGE_NCURSES
 	help
 	  Includes ncurses dynamic libmenu in target
+
+config BR2_PACKAGE_NCURSES_TARGET_PROGS
+	bool "ncurses programs"
+	help
+	  Include ncurses programs in traget (clear, reset, tput, ...)
+
+endif

+ 19 - 2
package/ncurses/ncurses.mk

@@ -8,6 +8,8 @@ NCURSES_VERSION = 5.9
 NCURSES_SITE = $(BR2_GNU_MIRROR)/ncurses
 NCURSES_INSTALL_STAGING = YES
 NCURSES_DEPENDENCIES = host-ncurses
+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
@@ -17,7 +19,6 @@ NCURSES_CONF_OPT = \
 	--without-cxx \
 	--without-cxx-binding \
 	--without-ada \
-	--without-progs \
 	--without-tests \
 	--disable-big-core \
 	--without-profile \
@@ -27,13 +28,18 @@ NCURSES_CONF_OPT = \
 	--enable-const \
 	--enable-overwrite \
 	--enable-pc-files \
+	$(if $(BR2_PACKAGE_NCURSES_TARGET_PROGS),,--without-progs) \
 	$(if $(BR2_HAVE_DOCUMENTATION),,--without-manpages)
 
+# Install after busybox for the full-blown versions
+ifeq ($(BR2_PACKAGE_BUSYBOX),y)
+	NCURSES_DEPENDENCIES += busybox
+endif
+
 ifneq ($(BR2_ENABLE_DEBUG),y)
 NCURSES_CONF_OPT += --without-debug
 endif
 
-
 define NCURSES_BUILD_CMDS
 	$(MAKE1) -C $(@D) DESTDIR=$(STAGING_DIR)
 endef
@@ -60,12 +66,23 @@ endif
 
 endif
 
+ifeq ($(BR2_PACKAGE_NCURSES_TARGET_PROGS),y)
+define NCURSES_INSTALL_TARGET_PROGS
+	for x in $(NCURSES_PROGS); do \
+		$(INSTALL) -m 0755 $(NCURSES_DIR)/progs/$$x \
+			$(TARGET_DIR)/usr/bin/$$x; \
+	done
+	ln -sf tset $(TARGET_DIR)/usr/bin/reset
+endef
+endif
+
 define NCURSES_INSTALL_TARGET_CMDS
 	mkdir -p $(TARGET_DIR)/usr/lib
 	$(if $(BR2_PREFER_STATIC_LIB),,cp -dpf $(NCURSES_DIR)/lib/libncurses.so* $(TARGET_DIR)/usr/lib/)
 	$(NCURSES_INSTALL_TARGET_PANEL)
 	$(NCURSES_INSTALL_TARGET_FORM)
 	$(NCURSES_INSTALL_TARGET_MENU)
+	$(NCURSES_INSTALL_TARGET_PROGS)
 	ln -snf /usr/share/terminfo $(TARGET_DIR)/usr/lib/terminfo
 	mkdir -p $(TARGET_DIR)/usr/share/terminfo/x
 	cp -dpf $(STAGING_DIR)/usr/share/terminfo/x/xterm $(TARGET_DIR)/usr/share/terminfo/x