package/ncurses: Remove duplicated library install code

Currently, the ncurses package conditionally defines macros to install
the panel, form and menu libraries. This means we duplicate the install
step for each library type.

Rather than defining a set of macros, this change introduces a variable
for the set of installed libraries, $(NCURSES_LIBS-y). We use this in a
single macro to perform the library installation in one place.

Based on a change suggested by Thomas Petazzoni
<thomas.petazzoni@free-electrons.com>.

Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
Jeremy Kerr 2014-03-12 11:54:05 +08:00 committed by Peter Korsgaard
parent a1a86ebfba
commit 16bfc11df4

View File

@ -36,6 +36,11 @@ ifeq ($(BR2_PACKAGE_BUSYBOX),y)
NCURSES_DEPENDENCIES += busybox NCURSES_DEPENDENCIES += busybox
endif endif
NCURSES_LIBS-y = libncurses
NCURSES_LIBS-$(BR2_PACKAGE_NCURSES_TARGET_MENU) += libmenu
NCURSES_LIBS-$(BR2_PACKAGE_NCURSES_TARGET_PANEL) += libpanel
NCURSES_LIBS-$(BR2_PACKAGE_NCURSES_TARGET_FORM) += libform
ifneq ($(BR2_ENABLE_DEBUG),y) ifneq ($(BR2_ENABLE_DEBUG),y)
NCURSES_CONF_OPT += --without-debug NCURSES_CONF_OPT += --without-debug
endif endif
@ -45,27 +50,13 @@ define NCURSES_BUILD_CMDS
endef endef
ifneq ($(BR2_PREFER_STATIC_LIB),y) ifneq ($(BR2_PREFER_STATIC_LIB),y)
define NCURSES_INSTALL_TARGET_LIBS
ifeq ($(BR2_PACKAGE_NCURSES_TARGET_PANEL),y) for lib in $(NCURSES_LIBS-y); do \
define NCURSES_INSTALL_TARGET_PANEL cp -dpf $(NCURSES_DIR)/lib/$${lib}.so* $(TARGET_DIR)/usr/lib/; \
cp -dpf $(NCURSES_DIR)/lib/libpanel.so* $(TARGET_DIR)/usr/lib/ done
endef endef
endif endif
ifeq ($(BR2_PACKAGE_NCURSES_TARGET_FORM),y)
define NCURSES_INSTALL_TARGET_FORM
cp -dpf $(NCURSES_DIR)/lib/libform.so* $(TARGET_DIR)/usr/lib/
endef
endif
ifeq ($(BR2_PACKAGE_NCURSES_TARGET_MENU),y)
define NCURSES_INSTALL_TARGET_MENU
cp -dpf $(NCURSES_DIR)/lib/libmenu.so* $(TARGET_DIR)/usr/lib/
endef
endif
endif
ifeq ($(BR2_PACKAGE_NCURSES_TARGET_PROGS),y) ifeq ($(BR2_PACKAGE_NCURSES_TARGET_PROGS),y)
define NCURSES_INSTALL_TARGET_PROGS define NCURSES_INSTALL_TARGET_PROGS
for x in $(NCURSES_PROGS); do \ for x in $(NCURSES_PROGS); do \
@ -78,10 +69,7 @@ endif
define NCURSES_INSTALL_TARGET_CMDS define NCURSES_INSTALL_TARGET_CMDS
mkdir -p $(TARGET_DIR)/usr/lib 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_LIBS)
$(NCURSES_INSTALL_TARGET_PANEL)
$(NCURSES_INSTALL_TARGET_FORM)
$(NCURSES_INSTALL_TARGET_MENU)
$(NCURSES_INSTALL_TARGET_PROGS) $(NCURSES_INSTALL_TARGET_PROGS)
ln -snf /usr/share/terminfo $(TARGET_DIR)/usr/lib/terminfo ln -snf /usr/share/terminfo $(TARGET_DIR)/usr/lib/terminfo
mkdir -p $(TARGET_DIR)/usr/share/terminfo/x mkdir -p $(TARGET_DIR)/usr/share/terminfo/x