2 # Copyright (C) 2006-2015 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 include $(TOPDIR
)/rules.mk
14 PKG_BUILD_DIR
:=$(BUILD_DIR
)/$(PKG_NAME
)-$(PKG_VERSION
)
15 PKG_SOURCE
:=$(PKG_NAME
)-$(PKG_VERSION
).
tar.gz
16 PKG_SOURCE_URL
:=@GNU
/$(PKG_NAME
)
17 PKG_HASH
:=aa057eeeb4a14d470101eff4597d5833dcef5965331be3528c08d99cebaa0d17
20 PKG_LICENSE_FILES
:=README
25 PKG_BUILD_DEPENDS
:=ncurses
/host
27 include $(INCLUDE_DIR
)/package.mk
28 include $(INCLUDE_DIR
)/host-build.mk
30 define Package
/terminfo
33 TITLE
:=Terminal Info Database
(ncurses
)
34 URL
:=http
://www.gnu.org
/software
/ncurses
/
37 define Package
/libncurses
40 TITLE
:=Terminal handling library
(Unicode
)
41 URL
:=http
://www.gnu.org
/software
/ncurses
/
44 ABI_VERSION
:=$(PKG_VERSION
)
47 define Package
/libncurses-dev
52 TITLE
:=Development files for the ncurses library
55 TARGET_CFLAGS
+= $(FPIC
)
70 --disable-home-terminfo \
73 --with-terminfo-dirs
=/usr
/share
/terminfo \
74 --with-default-terminfo-dir
=/usr
/share
/terminfo \
75 --with-pkg-config-libdir
=/usr
/lib
/pkgconfig \
77 --with-build-cppflags
=-D_GNU_SOURCE
79 HOST_CONFIGURE_ARGS
+= \
81 --without-cxx-binding \
90 ifeq ($(HOST_OS
),FreeBSD
)
92 --with-terminfo
=/usr
/share
/terminfo.db
96 BUILD_CC
="$(HOSTCC)" \
99 PKG_CONFIG_LIBDIR
=/usr
/lib
/pkgconfig \
102 define Build
/Install
/Default
104 $(MAKE
) -C
$(PKG_BUILD_DIR
)/$(MAKE_PATH
) \
105 $(MAKE_INSTALL_FLAGS
) \
106 $(1) install.libs
install.data
;
109 define Package
/terminfo
/install
111 ifneq ($(HOST_OS
),FreeBSD
)
112 $(INSTALL_DIR
) $(1)/usr
/share
/terminfo
113 (cd
$(PKG_INSTALL_DIR
)/usr
/share
/terminfo
; \
115 [ -d
"$$$$dir" ] || continue
; \
116 mv
$$$$dir $$$$(echo
-ne
"\x$$$$dir"); \
119 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 x
/xterm-256color
; do \
120 $(INSTALL_DIR
) $(1)/usr
/share
/terminfo
/`dirname $$$$file`; \
121 $(CP
) $(PKG_INSTALL_DIR
)/usr
/share
/terminfo
/$$$$file \
122 $(1)/usr
/share
/terminfo
/$$$$file; \
127 define Package
/libncurses
/install
128 $(INSTALL_DIR
) $(1)/usr
/lib
129 for lib in ncurses panel menu form
; do \
130 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/lib
$$$${lib}w.so
* $(1)/usr
/lib
/; \
131 ln
-s lib
$$$${lib}w.so
$(1)/usr
/lib
/lib
$$$${lib}.so
; \
135 define Package
/libncurses-dev
/install
136 $(INSTALL_DIR
) $(1)/usr
/bin
137 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/bin
/* $(1)/usr
/bin
/
138 $(INSTALL_DIR
) $(1)/usr
/include
139 $(CP
) $(PKG_INSTALL_DIR
)/usr
/include/*.h
$(1)/usr
/include/
140 $(INSTALL_DIR
) $(1)/usr
/lib
141 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/*.a
$(1)/usr
/lib
/
142 $(INSTALL_DIR
) $(1)/usr
/lib
/pkgconfig
143 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/pkgconfig
/*.
pc $(1)/usr
/lib
/pkgconfig
/
146 define Build
/InstallDev
147 $(CP
) $(PKG_INSTALL_DIR
)/* $(1)
148 for lib in ncurses panel menu form
; do \
149 ln
-s lib
$$$${lib}w.so
$(1)/usr
/lib
/lib
$$$${lib}.so
; \
151 ln
-s .
$(1)/usr
/include/ncursesw
152 $(TARGET_CROSS
)ar rc
$(1)/usr
/lib
/libtinfo.a
153 $(INSTALL_DIR
) $(2)/bin
154 $(CP
) $(PKG_INSTALL_DIR
)/usr
/bin
/ncursesw6-config
$(2)/bin
/
155 $(SED
) 's,^\(prefix\|exec_prefix\)=.*,\1=$(STAGING_DIR)/usr,g' -e
's/$$$$INCS //g' \
156 $(2)/bin
/ncursesw6-config
157 ln
-sf
$(STAGING_DIR
)/host
/bin
/ncursesw6-config
$(1)/usr
/bin
/ncursesw6-config
161 $(MAKE
) -C
$(HOST_BUILD_DIR
) libs
162 $(MAKE
) -C
$(HOST_BUILD_DIR
)/progs tic
166 $(INSTALL_BIN
) $(HOST_BUILD_DIR
)/progs
/tic
$(STAGING_DIR_HOST
)/bin
/tic
167 $(INSTALL_DIR
) $(STAGING_DIR_HOSTPKG
)/lib
/
168 $(INSTALL_DATA
) $(HOST_BUILD_DIR
)/lib
/libncurses.a
$(STAGING_DIR_HOSTPKG
)/lib
/
171 $(eval
$(call HostBuild
))
172 $(eval
$(call BuildPackage
,terminfo
))
173 $(eval
$(call BuildPackage
,libncurses
))
174 $(eval
$(call BuildPackage
,libncurses-dev
))