NCURSES_SITE = $(BR2_GNU_MIRROR)/ncurses
NCURSES_INSTALL_STAGING = YES
NCURSES_DEPENDENCIES = host-ncurses
-NCURSES_PROGS = clear infocmp tabs tic toe tput tset
NCURSES_LICENSE = MIT with advertising clause
NCURSES_LICENSE_FILES = README
NCURSES_CONFIG_SCRIPTS = ncurses$(NCURSES_LIB_SUFFIX)$(NCURSES_ABI_VERSION)-config
NCURSES_CONF_OPTS += --without-gpm
endif
-NCURSES_LIBS-y = ncurses
-NCURSES_LIBS-$(BR2_PACKAGE_NCURSES_TARGET_MENU) += menu
-NCURSES_LIBS-$(BR2_PACKAGE_NCURSES_TARGET_PANEL) += panel
-NCURSES_LIBS-$(BR2_PACKAGE_NCURSES_TARGET_FORM) += form
-
NCURSES_TERMINFO_FILES = \
a/ansi \
l/linux \
ifeq ($(BR2_PACKAGE_NCURSES_WCHAR),y)
NCURSES_CONF_OPTS += --enable-widec
NCURSES_LIB_SUFFIX = w
+NCURSES_LIBS = ncurses menu panel form
define NCURSES_LINK_LIBS_STATIC
- $(foreach lib,$(NCURSES_LIBS-y:%=lib%), \
- ln -sf $(lib)$(NCURSES_LIB_SUFFIX).a $(1)/usr/lib/$(lib).a
+ $(foreach lib,$(NCURSES_LIBS:%=lib%), \
+ ln -sf $(lib)$(NCURSES_LIB_SUFFIX).a $(STAGING_DIR)/usr/lib/$(lib).a
)
ln -sf libncurses$(NCURSES_LIB_SUFFIX).a \
- $(1)/usr/lib/libcurses.a
+ $(STAGING_DIR)/usr/lib/libcurses.a
endef
define NCURSES_LINK_LIBS_SHARED
- $(foreach lib,$(NCURSES_LIBS-y:%=lib%), \
- ln -sf $(lib)$(NCURSES_LIB_SUFFIX).so $(1)/usr/lib/$(lib).so
+ $(foreach lib,$(NCURSES_LIBS:%=lib%), \
+ ln -sf $(lib)$(NCURSES_LIB_SUFFIX).so $(STAGING_DIR)/usr/lib/$(lib).so
)
ln -sf libncurses$(NCURSES_LIB_SUFFIX).so \
- $(1)/usr/lib/libcurses.so
+ $(STAGING_DIR)/usr/lib/libcurses.so
endef
define NCURSES_LINK_PC
- $(foreach pc,$(NCURSES_LIBS-y), \
+ $(foreach pc,$(NCURSES_LIBS), \
ln -sf $(pc)$(NCURSES_LIB_SUFFIX).pc \
- $(1)/usr/lib/pkgconfig/$(pc).pc
+ $(STAGING_DIR)/usr/lib/pkgconfig/$(pc).pc
)
endef
-NCURSES_LINK_TARGET_LIBS = \
- $(if $(BR2_STATIC_LIBS)$(BR2_SHARED_STATIC_LIBS),$(call NCURSES_LINK_LIBS_STATIC,$(TARGET_DIR));) \
- $(if $(BR2_SHARED_LIBS)$(BR2_SHARED_STATIC_LIBS),$(call NCURSES_LINK_LIBS_SHARED,$(TARGET_DIR)))
NCURSES_LINK_STAGING_LIBS = \
- $(if $(BR2_STATIC_LIBS)$(BR2_SHARED_STATIC_LIBS),$(call NCURSES_LINK_LIBS_STATIC,$(STAGING_DIR));) \
- $(if $(BR2_SHARED_LIBS)$(BR2_SHARED_STATIC_LIBS),$(call NCURSES_LINK_LIBS_SHARED,$(STAGING_DIR)))
+ $(if $(BR2_STATIC_LIBS)$(BR2_SHARED_STATIC_LIBS),$(call NCURSES_LINK_LIBS_STATIC);) \
+ $(if $(BR2_SHARED_LIBS)$(BR2_SHARED_STATIC_LIBS),$(call NCURSES_LINK_LIBS_SHARED))
-NCURSES_LINK_STAGING_PC = $(call NCURSES_LINK_PC,$(STAGING_DIR))
+NCURSES_LINK_STAGING_PC = $(call NCURSES_LINK_PC)
NCURSES_CONF_OPTS += --enable-ext-colors
NCURSES_ABI_VERSION = 6
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(STAGING_DIR)
endef
-ifneq ($(BR2_STATIC_LIBS),y)
-define NCURSES_INSTALL_TARGET_LIBS
- $(foreach lib,$(NCURSES_LIBS-y:%=lib%), \
- cp -dpf $(NCURSES_DIR)/lib/$(lib)$(NCURSES_LIB_SUFFIX).so* \
- $(TARGET_DIR)/usr/lib/
- )
-endef
-endif
-
ifeq ($(BR2_PACKAGE_NCURSES_TARGET_PROGS),y)
-define NCURSES_INSTALL_TARGET_PROGS
- $(foreach prog,$(NCURSES_PROGS), \
- $(INSTALL) -m 0755 $(NCURSES_DIR)/progs/$(prog) \
- $(TARGET_DIR)/usr/bin/$(prog)
- )
+define NCURSES_TARGET_SYMLINK_RESET
ln -sf tset $(TARGET_DIR)/usr/bin/reset
endef
+NCURSES_POST_INSTALL_TARGET_HOOKS += NCURSES_TARGET_SYMLINK_RESET
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
- $(foreach terminfo,$(NCURSES_TERMINFO_FILES),\
- $(INSTALL) -D -m 0644 $(STAGING_DIR)/usr/share/terminfo/$(terminfo) \
- $(TARGET_DIR)/usr/share/terminfo/$(terminfo)
+define NCURSES_TARGET_CLEANUP_TERMINFO
+ $(RM) -rf $(TARGET_DIR)/usr/share/terminfo $(TARGET_DIR)/usr/share/tabset
+ $(foreach t,$(NCURSES_TERMINFO_FILES), \
+ $(INSTALL) -D -m 0644 $(STAGING_DIR)/usr/share/terminfo/$(t) \
+ $(TARGET_DIR)/usr/share/terminfo/$(t)
)
-endef # NCURSES_INSTALL_TARGET_CMDS
+endef
+NCURSES_POST_INSTALL_TARGET_HOOKS += NCURSES_TARGET_CLEANUP_TERMINFO
#
# On systems with an older version of tic, the installation of ncurses hangs