[Buildroot] [git commit] ncurses: add target progs option

Peter Korsgaard peter at korsgaard.com
Wed Dec 4 09:36:38 UTC 2013


commit: http://git.buildroot.net/buildroot/commit/?id=c95134148512b9f191c09fe968818d9a6f386381
branch: http://git.buildroot.net/buildroot/commit/?id=refs/heads/master

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

Signed-off-by: Gustavo Zacarias <gustavo at zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter at korsgaard.com>
---
 package/ncurses/Config.in  |   12 +++++++++---
 package/ncurses/ncurses.mk |   21 +++++++++++++++++++--
 2 files changed, 28 insertions(+), 5 deletions(-)

diff --git a/package/ncurses/Config.in b/package/ncurses/Config.in
index 613b5b5..e8ab710 100644
--- a/package/ncurses/Config.in
+++ b/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
diff --git a/package/ncurses/ncurses.mk b/package/ncurses/ncurses.mk
index dbb514e..f331976 100644
--- a/package/ncurses/ncurses.mk
+++ b/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


More information about the buildroot mailing list