Root/package/libs/ncurses/Makefile

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

Archive Download this file



interactive