1# 2# Copyright (c) 2013 The Linux Foundation. All rights reserved. 3# Copyright (C) 2006-2011 OpenWrt.org 4# 5# This is free software, licensed under the GNU General Public License v2. 6# See /LICENSE for more information. 7# 8 9include $(TOPDIR)/rules.mk 10 11PKG_NAME:=ncurses 12PKG_VERSION:=5.7 13PKG_RELEASE:=5 14 15PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION) 16PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz 17PKG_SOURCE_URL:=@GNU/ncurses 18PKG_MD5SUM:=cce05daf61a64501ef6cd8da1f727ec6 19 20PKG_INSTALL:=1 21PKG_BUILD_PARALLEL:=1 22 23include $(INCLUDE_DIR)/package.mk 24 25define Package/libncurses 26 SECTION:=libs 27 CATEGORY:=Libraries 28 TITLE:=Terminal handling library 29 URL:=http://www.gnu.org/software/ncurses/ 30 DEPENDS:= +terminfo 31 VARIANT:=libncurses 32endef 33 34define Package/terminfo 35 SECTION:=libs 36 CATEGORY:=Libraries 37 TITLE:=Terminal Info Database (ncurses) 38 URL:=http://www.gnu.org/software/ncurses/ 39 VARIANT:=libncurses 40endef 41 42define Package/libncursesw 43 SECTION:=libs 44 CATEGORY:=Libraries 45 TITLE:=Terminal handling library (Unicode) 46 URL:=http://www.gnu.org/software/ncurses/ 47 VARIANT:=libncursesw 48endef 49 50TARGET_CFLAGS += $(FPIC) 51 52CONFIGURE_ARGS += \ 53 --enable-echo \ 54 --enable-const \ 55 --enable-overwrite \ 56 --disable-rpath \ 57 --without-ada \ 58 --without-debug \ 59 --without-profile \ 60 --without-progs \ 61 --disable-big-core \ 62 --disable-home-terminfo \ 63 --with-normal \ 64 --with-shared \ 65 --with-terminfo-dirs=/usr/share/terminfo \ 66 --with-default-terminfo-dir=/usr/share/terminfo 67 68ifneq ($(CONFIG_INSTALL_LIBSTDCPP),y) 69CONFIGURE_ARGS += \ 70 --without-cxx-binding 71endif 72 73ifeq ($(HOST_OS),FreeBSD) 74 CONFIGURE_ARGS += 75 --with-terminfo=/usr/share/terminfo.db 76endif 77 78ifeq ($(BUILD_VARIANT),libncursesw) 79 CONFIGURE_ARGS += \ 80 --enable-widec \ 81 --with-build-cppflags=-D_GNU_SOURCE 82endif 83 84MAKE_FLAGS += \ 85 BUILD_CC="$(HOSTCC)" \ 86 HOSTCC="$(HOSTCC)" \ 87 HOSTCCFLAGS="" \ 88 libs 89 90define Build/Install/Default 91 $(MAKE_VARS) \ 92 $(MAKE) -C $(PKG_BUILD_DIR)/$(MAKE_PATH) \ 93 $(MAKE_INSTALL_FLAGS) \ 94 $(1) install.libs install.data; 95endef 96 97define Package/terminfo/install 98 echo "" 99ifneq ($(HOST_OS),FreeBSD) 100 $(INSTALL_DIR) $(1)/usr/share/terminfo 101 (cd $(PKG_INSTALL_DIR)/usr/share/terminfo; \ 102 for dir in ??; do \ 103 [ -d "$$$$dir" ] || continue; \ 104 mv $$$$dir $$$$(echo -ne "\x$$$$dir"); \ 105 done \ 106 ) 107 for file in a/ansi d/dumb l/linux r/rxvt r/rxvt-unicode s/screen v/vt100 v/vt102 x/xterm x/xterm-color; do \ 108 $(INSTALL_DIR) $(1)/usr/share/terminfo/`dirname $$$$file`; \ 109 $(CP) $(PKG_INSTALL_DIR)/usr/share/terminfo/$$$$file \ 110 $(1)/usr/share/terminfo/$$$$file; \ 111 done 112endif 113endef 114 115define Package/libncurses/install 116 $(INSTALL_DIR) $(1)/usr/lib 117 $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{curses,ncurses,panel,menu,form}.so* $(1)/usr/lib/ 118endef 119 120define Package/libncursesw/install 121 $(INSTALL_DIR) $(1)/usr/lib 122 $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{ncurses,panel,menu,form}w.so* $(1)/usr/lib/ 123endef 124 125ifeq ($(BUILD_VARIANT),libncursesw) 126define Build/InstallDev 127 $(INSTALL_DIR) $(1)/usr/include/ncursesw/ 128 $(CP) $(PKG_INSTALL_DIR)/usr/include/*.h $(1)/usr/include/ncursesw/ 129 130 $(INSTALL_DIR) $(1)/usr/lib 131 $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{ncurses,panel,menu,form}w.{a,so*} $(1)/usr/lib/ 132 133 $(INSTALL_DIR) $(1)/usr/bin $(2)/bin 134 $(CP) $(PKG_INSTALL_DIR)/usr/bin/ncursesw5-config $(2)/bin/ 135 $(SED) 's,^\(prefix\|exec_prefix\)=.*,\1=$(STAGING_DIR)/usr,g' -e 's/$$$$INCS //g' \ 136 $(2)/bin/ncursesw5-config 137 ln -sf $(STAGING_DIR)/host/bin/ncursesw5-config $(1)/usr/bin/ncursesw5-config 138endef 139else 140define Build/InstallDev 141 $(INSTALL_DIR) $(1)/usr/include 142 $(CP) $(PKG_INSTALL_DIR)/usr/include/*.h $(1)/usr/include/ 143 144 $(INSTALL_DIR) $(1)/usr/lib 145 $(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{curses,ncurses,panel,menu,form}.{a,so*} $(1)/usr/lib/ 146 147 $(INSTALL_DIR) $(1)/usr/bin $(2)/bin 148 $(CP) $(PKG_INSTALL_DIR)/usr/bin/ncurses5-config $(2)/bin/ 149 $(SED) 's,^\(prefix\|exec_prefix\)=.*,\1=$(STAGING_DIR)/usr,g' \ 150 $(2)/bin/ncurses5-config 151 ln -sf $(STAGING_DIR)/host/bin/ncurses5-config $(1)/usr/bin/ncurses5-config 152endef 153endif 154 155$(eval $(call BuildPackage,terminfo)) 156$(eval $(call BuildPackage,libncurses)) 157$(eval $(call BuildPackage,libncursesw)) 158