diff options
Diffstat (limited to 'package')
-rw-r--r-- | package/ncurses/ncurses.mk | 188 |
1 files changed, 67 insertions, 121 deletions
diff --git a/package/ncurses/ncurses.mk b/package/ncurses/ncurses.mk index fb22c6cbc..79560b121 100644 --- a/package/ncurses/ncurses.mk +++ b/package/ncurses/ncurses.mk @@ -23,99 +23,88 @@ # USA # TARGETS -NCURSES_VERSION:=5.6 -NCURSES_SITE:=$(BR2_GNU_MIRROR)/ncurses -NCURSES_DIR:=$(BUILD_DIR)/ncurses-$(NCURSES_VERSION) -NCURSES_SOURCE:=ncurses-$(NCURSES_VERSION).tar.gz -NCURSES_CAT:=$(ZCAT) +NCURSES_VERSION = 5.6 +NCURSES_SITE = $(BR2_GNU_MIRROR)/ncurses +NCURSES_SOURCE = ncurses-$(NCURSES_VERSION).tar.gz +NCURSES_INSTALL_STAGING = YES + +NCURSES_CONF_OPT = \ + --with-shared \ + --without-cxx \ + --without-cxx-binding \ + --without-ada \ + --without-progs \ + --disable-big-core \ + --without-profile \ + --disable-rpath \ + --enable-echo \ + --enable-const \ + --enable-overwrite \ + --enable-broken_linker ifneq ($(BR2_PACKAGE_NCURSES_TARGET_HEADERS),y) -NCURSES_WANT_STATIC=--disable-static +NCURSES_CONF_OPT += --disable-static endif -$(DL_DIR)/$(NCURSES_SOURCE): - $(call DOWNLOAD,$(NCURSES_SITE),$(NCURSES_SOURCE)) - -$(NCURSES_DIR)/.patched: $(DL_DIR)/$(NCURSES_SOURCE) - $(NCURSES_CAT) $(DL_DIR)/$(NCURSES_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) - - #use the local tic and not whatever the build system was going to find. - $(SED) 's~\$$srcdir/shlib tic\$$suffix~/usr/bin/tic~' \ - $(NCURSES_DIR)/misc/run_tic.in - toolchain/patch-kernel.sh $(NCURSES_DIR) package/ncurses/ ncurses\*.patch - $(CONFIG_UPDATE) $(NCURSES_DIR) - touch $@ +ifneq ($(BR2_ENABLE_DEBUG),y) +NCURSES_CONF_OPT += --without-debug +endif -$(NCURSES_DIR)/.configured: $(NCURSES_DIR)/.patched - (cd $(NCURSES_DIR); rm -rf config.cache; \ - BUILD_CC="$(HOSTCC)" \ - $(TARGET_CONFIGURE_OPTS) \ - $(TARGET_CONFIGURE_ARGS) \ - ./configure $(QUIET) \ - --target=$(GNU_TARGET_NAME) \ - --host=$(REAL_GNU_TARGET_NAME) \ - --build=$(GNU_HOST_NAME) \ - --prefix=/usr \ - --exec-prefix=/usr \ - --bindir=/usr/bin \ - --sbindir=/usr/sbin \ - --libdir=/usr/lib \ - --libexecdir=/usr/lib \ - --sysconfdir=/etc \ - --datadir=/usr/share \ - --localstatedir=/var \ - --includedir=/usr/include \ - --mandir=/usr/man \ - --infodir=/usr/info \ - --with-terminfo-dirs=/usr/share/terminfo \ - --with-default-terminfo-dir=/usr/share/terminfo \ - --with-shared --without-cxx --without-cxx-binding \ - --without-ada --without-progs --disable-big-core \ - $(DISABLE_NLS) $(DISABLE_LARGEFILE) \ - --without-profile --without-debug --disable-rpath \ - --enable-echo --enable-const --enable-overwrite \ - --enable-broken_linker \ - $(NCURSES_WANT_STATIC) \ - ) - touch $@ -$(NCURSES_DIR)/lib/libncurses.so.$(NCURSES_VERSION): $(NCURSES_DIR)/.configured - $(MAKE1) DESTDIR=$(STAGING_DIR) -C $(NCURSES_DIR) \ - libs panel menu form headers +define NCURSES_BUILD_CMDS + $(MAKE1) -C $(@D) DESTDIR=$(STAGING_DIR) +endef -$(STAGING_DIR)/usr/lib/libncurses.so.$(NCURSES_VERSION): $(NCURSES_DIR)/lib/libncurses.so.$(NCURSES_VERSION) - $(MAKE1) \ - prefix=$(STAGING_DIR)/usr/ \ - exec_prefix=$(STAGING_DIR) \ - bindir=$(STAGING_DIR)/bin \ - sbindir=$(STAGING_DIR)/sbin \ - libexecdir=$(STAGING_DIR)/usr/lib \ - datadir=$(STAGING_DIR)/usr/share \ - sysconfdir=$(STAGING_DIR)/etc \ - localstatedir=$(STAGING_DIR)/var \ - libdir=$(STAGING_DIR)/usr/lib \ - infodir=$(STAGING_DIR)/usr/info \ - mandir=$(STAGING_DIR)/usr/man \ - includedir=$(STAGING_DIR)/usr/include \ - gxx_include_dir=$(STAGING_DIR)/usr/include/c++ \ - ticdir=$(STAGING_DIR)/usr/share/terminfo \ - -C $(NCURSES_DIR) install - chmod a-x $(NCURSES_DIR)/lib/libncurses.so* +define NCURSES_PATCH_NCURSES_CONFIG $(SED) 's^prefix="^prefix="$(STAGING_DIR)^' \ $(STAGING_DIR)/bin/ncurses5-config - touch -c $@ +endef + +NCURSES_POST_BUILD_HOOKS += NCURSES_PATCH_NCURSES_CONFIG + +ifeq ($(BR2_HAVE_DEVFILES),y) +define NCURSES_INSTALL_TARGET_DEVFILES + mkdir -p $(TARGET_DIR)/usr/include + cp -dpf $(NCURSES_DIR)/include/curses.h $(TARGET_DIR)/usr/include/curses.h + cp -dpf $(NCURSES_DIR)/include/ncurses_dll.h $(TARGET_DIR)/usr/include/ncurses_dll.h + cp -dpf $(NCURSES_DIR)/include/term.h $(TARGET_DIR)/usr/include/ + cp -dpf $(NCURSES_DIR)/include/unctrl.h $(TARGET_DIR)/usr/include/ + cp -dpf $(NCURSES_DIR)/include/termcap.h $(TARGET_DIR)/usr/include/ + cp -dpf $(NCURSES_DIR)/lib/libncurses.a $(TARGET_DIR)/usr/lib/ + (cd $(TARGET_DIR)/usr/lib; \ + ln -fs libncurses.a libcurses.a; \ + ln -fs libncurses.a libtermcap.a; \ + ) + (cd $(TARGET_DIR)/usr/include; ln -fs curses.h ncurses.h) + rm -f $(TARGET_DIR)/usr/lib/libncurses.so + (cd $(TARGET_DIR)/usr/lib; ln -fs libncurses.so.$(NCURSES_VERSION) libncurses.so) +endef +endif -$(TARGET_DIR)/usr/lib/libncurses.so.$(NCURSES_VERSION): $(STAGING_DIR)/usr/lib/libncurses.so.$(NCURSES_VERSION) - mkdir -p $(TARGET_DIR)/usr/lib - cp -dpf $(NCURSES_DIR)/lib/libncurses.so* $(TARGET_DIR)/usr/lib/ ifeq ($(BR2_PACKAGE_NCURSES_TARGET_PANEL),y) +define NCURSES_INSTALL_TARGET_PANEL cp -dpf $(NCURSES_DIR)/lib/libpanel.so* $(TARGET_DIR)/usr/lib/ +endef 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 + +define NCURSES_INSTALL_TARGET_CMDS + mkdir -p $(TARGET_DIR)/usr/lib + cp -dpf $(NCURSES_DIR)/lib/libncurses.so* $(TARGET_DIR)/usr/lib/ + $(NCURSES_INSTALL_TARGET_PANEL) + $(NCURSES_INSTALL_TARGET_FORM) + $(NCURSES_INSTALL_TARGET_MENU) 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 @@ -130,51 +119,8 @@ endif cp -dpf $(STAGING_DIR)/usr/share/terminfo/a/ansi $(TARGET_DIR)/usr/share/terminfo/a mkdir -p $(TARGET_DIR)/usr/share/terminfo/l cp -dpf $(STAGING_DIR)/usr/share/terminfo/l/linux $(TARGET_DIR)/usr/share/terminfo/l - -$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $@ - touch -c $@ + -$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libncurses.so* + $(NCURSES_INSTALL_TARGET_DEVFILES) +endef # NCURSES_INSTALL_TARGET_CMDS -$(NCURSES_DIR)/lib/libncurses.a: $(NCURSES_DIR)/lib/libncurses.so.$(NCURSES_VERSION) - -$(TARGET_DIR)/usr/lib/libncurses.a: $(NCURSES_DIR)/lib/libncurses.a - mkdir -p $(TARGET_DIR)/usr/include - cp -dpf $(NCURSES_DIR)/include/curses.h $(TARGET_DIR)/usr/include/curses.h - cp -dpf $(NCURSES_DIR)/include/ncurses_dll.h $(TARGET_DIR)/usr/include/ncurses_dll.h - cp -dpf $(NCURSES_DIR)/include/term.h $(TARGET_DIR)/usr/include/ - cp -dpf $(NCURSES_DIR)/include/unctrl.h $(TARGET_DIR)/usr/include/ - cp -dpf $(NCURSES_DIR)/include/termcap.h $(TARGET_DIR)/usr/include/ - cp -dpf $(NCURSES_DIR)/lib/libncurses.a $(TARGET_DIR)/usr/lib/ - (cd $(TARGET_DIR)/usr/lib; \ - ln -fs libncurses.a libcurses.a; \ - ln -fs libncurses.a libtermcap.a; \ - ) - (cd $(TARGET_DIR)/usr/include; ln -fs curses.h ncurses.h) - rm -f $(TARGET_DIR)/usr/lib/libncurses.so - (cd $(TARGET_DIR)/usr/lib; ln -fs libncurses.so.$(NCURSES_VERSION) libncurses.so) - -$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libncurses.so.$(NCURSES_VERSION) - touch -c $@ - -ncurses: $(TARGET_DIR)/usr/lib/libncurses.so.$(NCURSES_VERSION) \ - $(if $(BR2_HAVE_DEVFILES),$(TARGET_DIR)/usr/lib/libncurses.a) - -ncurses-unpacked: $(NCURSES_DIR)/.patched - -ncurses-source: $(DL_DIR)/$(NCURSES_SOURCE) - -ncurses-clean: - rm -f $(STAGING_DIR)/usr/lib/libncurses.so* $(TARGET_DIR)/usr/lib/libncurses.so* - rm -rf $(STAGING_DIR)/usr/share/tabset $(TARGET_DIR)/usr/share/tabset - rm -rf $(STAGING_DIR)/usr/share/terminfo $(TARGET_DIR)/usr/share/terminfo - rm -rf $(TARGET_DIR)/usr/lib/terminfo - -$(MAKE) -C $(NCURSES_DIR) clean - -ncurses-dirclean: - rm -rf $(NCURSES_DIR) - -############################################################# -# -# Toplevel Makefile options -# -############################################################# -ifeq ($(BR2_PACKAGE_NCURSES),y) -TARGETS+=ncurses -endif +$(eval $(call AUTOTARGETS,package,ncurses)) |