]> git.ipfire.org Git - ipfire-2.x.git/blobdiff - lfs/ncurses
Move toolchain from /tools to /tools_${arch}
[ipfire-2.x.git] / lfs / ncurses
index 691d4e5dd5429a3b1f90e52cbca8b8cfb9d730ff..1186b5244f3aeea2a12cc1c7f8deb37269238347 100644 (file)
@@ -1,22 +1,20 @@
 ###############################################################################
-# This file is part of the IPCop Firewall.                                    #
 #                                                                             #
-# IPCop is free software; you can redistribute it and/or modify               #
+# IPFire.org - A linux based firewall                                         #
+# Copyright (C) 2007-2016  IPFire Team  <info@ipfire.org>                     #
+#                                                                             #
+# This program is free software: you can redistribute it and/or modify        #
 # it under the terms of the GNU General Public License as published by        #
-# the Free Software Foundation; either version 2 of the License, or           #
+# the Free Software Foundation, either version 3 of the License, or           #
 # (at your option) any later version.                                         #
 #                                                                             #
-# IPCop is distributed in the hope that it will be useful,                    #
+# This program is distributed in the hope that 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 IPCop; if not, write to the Free Software                        #
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA    #
-#                                                                             #
-# Makefiles are based on LFSMake, which is                                    #
-# Copyright (C) 2002 Rod Roard <rod@sunsetsystems.com>                        #
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
 #                                                                             #
 ###############################################################################
 
 
 include Config
 
-VER        = 5.5
+VER        = 6.0
 
 THISAPP    = ncurses-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
 DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 
-# Normal build or /tools build.
+# Normal build or $(TOOLS_DIR) build.
 #
 ifeq "$(ROOT)" ""
   TARGET = $(DIR_INFO)/$(THISAPP)
-  EXTRA_CONFIG = --prefix=/usr --with-shared \
-       --without-debug --enable-widec --disable-nls
-  EXTRA_MAKE =
-  EXTRA_INSTALL =
+  PREFIX = /usr
 else
   TARGET = $(DIR_INFO)/$(THISAPP)-tools
-  EXTRA_CONFIG = --prefix=/tools --with-shared \
-    --without-debug --without-ada --enable-overwrite \
-    --disable-nls
-  EXTRA_MAKE = 
-  EXTRA_INSTALL = 
+  PREFIX = $(TOOLS_DIR)
+  EXTRA_CONFIG = --build=$(BUILDTARGET)
 endif
 
+EXTRA_CONFIG += \
+       --prefix=$(PREFIX) \
+       --enable-widec \
+       --with-shared \
+       --without-debug \
+       --without-normal \
+       --enable-pc-files \
+       --disable-nls \
+       --mandir=/usr/share/man
+
 ###############################################################################
 # Top-level Rules
 ###############################################################################
@@ -58,7 +60,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = e73c1ac10b4bfc46db43b2ddfd6244ef
+$(DL_FILE)_MD5 = ee13d052e1ead260d7c28071f46eefb1
 
 install : $(TARGET)
 
@@ -88,25 +90,27 @@ $(subst %,%_MD5,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
-       cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/ncurses-5.5-fixes-1.patch
-       cd $(DIR_APP) && ./configure $(EXTRA_CONFIG)
-       cd $(DIR_APP) && make $(EXTRA_MAKE)  #$(MAKETUNING) # Causes an error!
-       cd $(DIR_APP) && make $(EXTRA_INSTALL) install
-ifeq "$(ROOT)" ""
-       chmod -v 755 /usr/lib/*.5.5
-       chmod -v 644 /usr/lib/libncurses++w.a
-       mv -v /usr/lib/libncursesw.so.5* /lib
-       ln -sfv ../../lib/libncursesw.so.5 /usr/lib/libncursesw.so
-       cd $(DIR_APP) && for lib in curses ncurses form panel menu ; do \
-           rm -vf /usr/lib/lib${lib}.so ; \
-           echo "INPUT(-l${lib}w)" >/usr/lib/lib${lib}.so ; \
-           ln -sfv lib${lib}w.a /usr/lib/lib${lib}.a ; \
-       done
-       ln -sfv libncurses++w.a /usr/lib/libncurses++.a4
-       echo "INPUT(-lncursesw)" >/usr/lib/libcursesw.so &&
-       ln -sfv libncurses.so /usr/lib/libcurses.so &&
-       ln -sfv libncursesw.a /usr/lib/libcursesw.a &&
-       ln -sfv libncurses.a /usr/lib/libcurses.a
+       # Don't install a static library
+       cd $(DIR_APP) && sed -i '/LIBTOOL_INSTALL/d' c++/Makefile.in
+       # Create pkgconfig dir in toolchain
+ifneq "$(ROOT)" ""
+       mkdir -pv $(TOOLS_DIR)/lib/pkgconfig/
 endif
+       cd $(DIR_APP) && CPPFLAGS=-P ./configure $(EXTRA_CONFIG)
+       cd $(DIR_APP) && make $(MAKETUNING)
+       cd $(DIR_APP) && make install
+
+       # allow the linker to find non-wide-character ncurses libraries
+       for lib in ncurses form panel menu; do \
+       rm -vf                     $(PREFIX)/lib/lib$${lib}.so; \
+       echo "INPUT(-l$${lib}w)" > $(PREFIX)/lib/lib$${lib}.so; \
+       ln -sfv $${lib}w.pc        $(PREFIX)/lib/pkgconfig/$${lib}.pc; \
+       done
+
+       # old applications that look for -lcurses at build time are still buildable
+       rm -vf /usr/lib/libcursesw.so
+       echo "INPUT(-lncursesw)" > $(PREFIX)/lib/libcursesw.so
+       ln -sfv libncurses.so      $(PREFIX)/lib/libcurses.so
+
        @rm -rf $(DIR_APP)
        @$(POSTBUILD)