summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAbdoulaye Walsimou Gaye <walsimou@walsimou.com>2010-01-30 00:34:04 +0100
committerAbdoulaye Walsimou Gaye <walsimou@walsimou.com>2010-01-30 00:35:46 +0100
commitb7ad31a628317b07894bfd8ce44c98e72416c056 (patch)
tree926f36cb8b52e8b77ab2b50783c9b9972b9a380d
parentb6cafdaf85c0fd9d3b8a345b2c4d9240b5c8e985 (diff)
downloadembtoolkit-b7ad31a628317b07894bfd8ce44c98e72416c056.tar.gz
embtoolkit-b7ad31a628317b07894bfd8ce44c98e72416c056.tar.bz2
embtoolkit-b7ad31a628317b07894bfd8ce44c98e72416c056.tar.xz
Packages: New ncurses: add ncurses among buildable packages for target
Signed-off-by: Abdoulaye Walsimou Gaye <walsimou@walsimou.com>
-rw-r--r--kconfig/packages.kconfig1
-rw-r--r--mk/packages.mk7
-rw-r--r--packages/misc/ncurses/ncurses.kconfig49
-rw-r--r--packages/misc/ncurses/ncurses.mk106
4 files changed, 163 insertions, 0 deletions
diff --git a/kconfig/packages.kconfig b/kconfig/packages.kconfig
index 4a1a75c..e134067 100644
--- a/kconfig/packages.kconfig
+++ b/kconfig/packages.kconfig
@@ -92,6 +92,7 @@ source packages/misc/gettext/gettext.kconfig
source packages/misc/glib/glib.kconfig
source packages/misc/libelf/libelf.kconfig
source packages/misc/libxml/libxml.kconfig
+source packages/misc/ncurses/ncurses.kconfig
source packages/misc/pango/pango.kconfig
endmenu
endmenu
diff --git a/mk/packages.mk b/mk/packages.mk
index b18b45c..7820a7e 100644
--- a/mk/packages.mk
+++ b/mk/packages.mk
@@ -184,6 +184,13 @@ ROOTFS_COMPONENTS += libxml2_install
endif
ROOTFS_COMPONENTS_CLEAN += libxml2_clean
+#ncurses
+include $(EMBTK_ROOT)/packages/misc/ncurses/ncurses.mk
+ifeq ($(CONFIG_EMBTK_HAVE_NCURSES),y)
+ROOTFS_COMPONENTS += ncurses_install
+endif
+ROOTFS_COMPONENTS_CLEAN += ncurses_clean
+
#Pango
include $(EMBTK_ROOT)/packages/misc/pango/pango.mk
ifeq ($(CONFIG_EMBTK_HAVE_PANGO),y)
diff --git a/packages/misc/ncurses/ncurses.kconfig b/packages/misc/ncurses/ncurses.kconfig
new file mode 100644
index 0000000..a176daf
--- /dev/null
+++ b/packages/misc/ncurses/ncurses.kconfig
@@ -0,0 +1,49 @@
+################################################################################
+# GAYE Abdoulaye Walsimou, <walsimou@walsimou.com>
+# Copyright(C) 2010 GAYE Abdoulaye Walsimou. All rights reserved.
+#
+# This program is free software; you can distribute it and/or modify it
+# under the terms of the GNU General Public License
+# (Version 2 or later) published by the Free Software Foundation.
+#
+# This program is distributed in the hope it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+# for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
+################################################################################
+#
+# \file ncurses.kconfig
+# \brief ncurses.kconfig of Embtoolkit
+# \author GAYE Abdoulaye Walsimou, <walsimou@walsimou.com>
+# \date January 2010
+################################################################################
+
+config EMBTK_HAVE_NCURSES
+ bool "Have ncurses"
+ help
+ The Ncurses (new curses) library is a free software emulation of
+ curses in System V Release 4.0, and more. It uses Terminfo
+ format, supports pads and color and multiple highlights and
+ forms characters and function-key mapping, and has all the other
+ SYSV-curses enhancements over BSD Curses.
+ The distribution includes the library and support utilities,
+ including a terminfo compiler tic, a decompiler infocmp, clear,
+ tput, tset, and a termcap conversion tool captoinfo.
+choice
+ prompt "ncurses version you wish"
+ depends on EMBTK_HAVE_NCURSES
+ help
+ Here you can choose which version of ncurses you want to use.
+
+ config EMBTK_NCURSES_VERSION_5_7
+ bool "ncurses-5.7"
+endchoice
+
+config EMBTK_NCURSES_VERSION_STRING
+ string
+ default "5.7" if EMBTK_NCURSES_VERSION_5_7
+
diff --git a/packages/misc/ncurses/ncurses.mk b/packages/misc/ncurses/ncurses.mk
new file mode 100644
index 0000000..9e746e9
--- /dev/null
+++ b/packages/misc/ncurses/ncurses.mk
@@ -0,0 +1,106 @@
+################################################################################
+# GAYE Abdoulaye Walsimou, <walsimou@walsimou.com>
+# Copyright(C) 2010 GAYE Abdoulaye Walsimou. All rights reserved.
+#
+# This program is free software; you can distribute it and/or modify it
+# under the terms of the GNU General Public License
+# (Version 2 or later) published by the Free Software Foundation.
+#
+# This program is distributed in the hope it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+# for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
+################################################################################
+#
+# \file ncurses.mk
+# \brief ncurses.mk of Embtoolkit
+# \author GAYE Abdoulaye Walsimou, <walsimou@walsimou.com>
+# \date January 2010
+################################################################################
+
+NCURSES_VERSION := $(subst ",,$(strip $(CONFIG_EMBTK_NCURSES_VERSION_STRING)))
+NCURSES_SITE := http://ftp.gnu.org/pub/gnu/ncurses
+NCURSES_PACKAGE := ncurses-$(NCURSES_VERSION).tar.gz
+NCURSES_BUILD_DIR := $(PACKAGES_BUILD)/ncurses-$(NCURSES_VERSION)
+
+NCURSES_BINS = captoinfo clear infocmp infotocap ncurses5-config reset tic toe \
+ tput tset
+NCURSES_SBINS =
+NCURSES_INCLUDES = cursesapp.h curses.h cursesp.h cursslk.h etip.h menu.h \
+ ncurses_dll.h panel.h term_entry.h tic.h cursesf.h cursesm.h \
+ cursesw.h eti.h form.h nc_tparm.h ncurses.h termcap.h term.h \
+ unctrl.h
+NCURSES_LIBS = libcurses.a libform.a libform_g.a libmenu.a libmenu_g.a \
+ libncurses.a libncurses++.a libncurses_g.a libpanel.a \
+ libpanel_g.a terminfo
+NCURSES_PKGCONFIGS =
+
+ifeq ($(CONFIG_EMBTK_64BITS_FS_COMPAT32),y)
+PKG_CONFIG_PATH=$(SYSROOT)/usr/lib32/pkgconfig
+else
+PKG_CONFIG_PATH=$(SYSROOT)/usr/lib/pkgconfig
+endif
+
+ncurses_install: $(NCURSES_BUILD_DIR)/.installed
+
+$(NCURSES_BUILD_DIR)/.installed: download_ncurses \
+ $(NCURSES_BUILD_DIR)/.decompressed $(NCURSES_BUILD_DIR)/.configured
+ $(call EMBTK_GENERIC_MESSAGE,"Compiling and installing \
+ ncurses-$(NCURSES_VERSION) in your root filesystem...")
+ $(Q)$(MAKE) -C $(NCURSES_BUILD_DIR) $(J)
+ $(Q)$(MAKE) -C $(NCURSES_BUILD_DIR) DESTDIR=$(SYSROOT) install
+ $(Q)-cp -R $(SYSROOT)/usr/share/tabset $(ROOTFS)/usr/share/
+ @touch $@
+
+download_ncurses:
+ $(call EMBTK_GENERIC_MESSAGE,"Downloading $(NCURSES_PACKAGE) \
+ if necessary...")
+ @test -e $(DOWNLOAD_DIR)/$(NCURSES_PACKAGE) || \
+ wget -O $(DOWNLOAD_DIR)/$(NCURSES_PACKAGE) \
+ $(NCURSES_SITE)/$(NCURSES_PACKAGE)
+
+$(NCURSES_BUILD_DIR)/.decompressed:
+ $(call EMBTK_GENERIC_MESSAGE,"Decompressing $(NCURSES_PACKAGE) ...")
+ @tar -C $(PACKAGES_BUILD) -xzf $(DOWNLOAD_DIR)/$(NCURSES_PACKAGE)
+ @touch $@
+
+$(NCURSES_BUILD_DIR)/.configured:
+ $(Q)cd $(NCURSES_BUILD_DIR); \
+ CC=$(TARGETCC_CACHED) \
+ CXX=$(TARGETCXX_CACHED) \
+ AR=$(TARGETAR) \
+ RANLIB=$(TARGETRANLIB) \
+ AS=$(CROSS_COMPILE)as \
+ LD=$(TARGETLD) \
+ NM=$(TARGETNM) \
+ STRIP=$(TARGETSTRIP) \
+ OBJDUMP=$(TARGETOBJDUMP) \
+ OBJCOPY=$(TARGETOBJCOPY) \
+ CFLAGS="$(TARGET_CFLAGS)" \
+ CXXFLAGS="$(TARGET_CFLAGS)" \
+ LDFLAGS="-L$(SYSROOT)/lib -L$(SYSROOT)/usr/lib \
+ -L$(SYSROOT)/lib32 -L$(SYSROOT)/usr/lib32" \
+ CPPFLGAS="-I$(SYSROOT)/usr/include" \
+ PKG_CONFIG=$(PKGCONFIG_BIN) \
+ PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) \
+ ./configure --build=$(HOST_BUILD) --host=$(STRICT_GNU_TARGET) \
+ --target=$(STRICT_GNU_TARGET) --program-prefix="" \
+ --prefix=/usr
+ @touch $@
+
+ncurses_clean:
+ $(call EMBTK_GENERIC_MESSAGE,"cleanup ncurses-$(NCURSES_VERSION)...")
+ $(Q)-cd $(SYSROOT)/usr/bin; rm -rf $(NCURSES_BINS)
+ $(Q)-cd $(SYSROOT)/usr/sbin; rm -rf $(NCURSES_SBINS)
+ $(Q)-cd $(SYSROOT)/usr/include; rm -rf $(NCURSES_INCLUDES)
+ $(Q)-cd $(SYSROOT)/usr/lib; rm -rf $(NCURSES_LIBS)
+ $(Q)-cd $(SYSROOT)/usr/lib/pkgconfig; rm -rf $(NCURSES_PKGCONFIGS)
+ifeq ($(CONFIG_EMBTK_64BITS_FS_COMPAT32),y)
+ $(Q)-cd $(SYSROOT)/usr/lib32; rm -rf $(NCURSES_LIBS)
+ $(Q)-cd $(SYSROOT)/usr/lib32/pkgconfig; rm -rf $(NCURSES_PKGCONFIGS)
+endif
+