summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGustavo Zacarias <gustavo@zacarias.com.ar>2013-12-03 18:03:20 (GMT)
committer Peter Korsgaard <peter@korsgaard.com>2013-12-04 09:36:38 (GMT)
commitc95134148512b9f191c09fe968818d9a6f386381 (patch)
tree3436fff2dc68655f9e7d18a1d9bc24e938b48085
parent6df5a40eccf88f0edbb54be24cb6a903ff047506 (diff)
downloadbuildroot-c95134148512b9f191c09fe968818d9a6f386381.tar.gz
buildroot-c95134148512b9f191c09fe968818d9a6f386381.tar.bz2
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>
-rw-r--r--package/ncurses/Config.in12
-rw-r--r--package/ncurses/ncurses.mk21
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