You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							207 lines
						
					
					
						
							5.6 KiB
						
					
					
				
			
		
		
	
	
							207 lines
						
					
					
						
							5.6 KiB
						
					
					
				| # --- SDE-COPYRIGHT-NOTE-BEGIN --- | |
| # This copyright note is auto-generated by ./scripts/Create-CopyPatch. | |
| # | |
| # Filename: package/.../ncurses/ncurses.conf | |
| # Copyright (C) 2006 - 2012 The OpenSDE Project | |
| # Copyright (C) 2004 - 2006 The T2 SDE Project | |
| # Copyright (C) 1998 - 2003 Clifford Wolf | |
| # | |
| # More information can be found in the files COPYING and README. | |
| # | |
| # 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; version 2 of the License. A copy of the | |
| # GNU General Public License can be found in the file COPYING. | |
| # --- SDE-COPYRIGHT-NOTE-END --- | |
|  | |
| prefix= | |
| set_confopt | |
|  | |
| if ! atstage native; then | |
| 	var_append extraconfopt " " "--without-cxx --without-cxx-binding --with-build-cppflags=-D_GNU_SOURCE" | |
| fi | |
|  | |
| # saving our local patches and empty the patchfiles variable | |
| localpatches=$patchfiles | |
| patchfiles= | |
|  | |
| # append official patches | |
| for x in `match_source_file -p 'patch'` ; do | |
| 	var_append patchfiles " " "$x" | |
| done | |
|  | |
| # append our local patches | |
| var_append patchfiles " " "$localpatches" | |
|  | |
| # on dietlibc we won't use NLS | |
| [ "$SDECFG_LIBC" != dietlibc ] || SDECFG_DISABLE_NLS=1 | |
|  | |
| # custmain for toolchain stage | |
| tic_only() { | |
| 	mkdir build-tic | |
| 	cd build-tic | |
| 	# build a standalone termlib and dependendencyless ticlib | |
| 	../configure --prefix=$root --without-debug --with-termlib \ | |
| 		 --with-ticlib --disable-tic-depends --with-shared | |
| 	# build needed header files | |
| 	make -C include | |
| 	# build and install a tic which is linked against libtinfo | |
| 	# and libtic only | |
| 	make -C progs tic | |
| 	cp -a lib/libtinfo.so* $root/lib | |
| 	cp -a lib/libtic.so* $root/lib | |
| 	cp -a progs/tic $root/bin | |
| } | |
|  | |
| ncurses_preconf() { | |
| 	if [ $buildloop -eq 1 ]; then | |
| 		# first loop is easy, always simply narrowc | |
| 		mkdir -p narrowc | |
| 		cd narrowc | |
| 		# generate separate tic library | |
| 		var_append confopt ' ' "--with-ticlib" | |
| 	else | |
| 		# suppress to build programs | |
| 		var_append confopt ' ' "--without-progs" | |
|  | |
| 		cd .. | |
| 		# then the things get a bit uglier | |
| 		if [ "$SDECFG_DISABLE_NLS" != 1 ]; then | |
| 			# NLS support | |
| 			if [ $buildloop -eq 2 ]; then | |
| 				# loop 2: normal wide | |
| 				mkdir -p widec | |
| 				cd widec | |
| 				var_append confopt " " "--enable-widec" | |
| 				var_append makeinstopt " " "includedir=$includedir/ncursesw" | |
| 			elif [ $buildloop -eq 3 ]; then | |
| 				# loop 3: altered arch, narrow. | |
| 				var_remove GCC_WRAPPER_INSERT ' ' '-m64' | |
| 				alter_arch | |
|  | |
| 				mkdir -p narrowc_32 | |
| 				cd narrowc_32 | |
| 				var_remove makeinstopt " " "includedir=$includedir/ncursesw" | |
| 			else | |
| 				# loop 4: alreday altered arch, wide. | |
| 				mkdir -p widec_32 | |
| 				cd widec_32 | |
| 				var_append confopt " " "--enable-widec" | |
| 				var_append makeinstopt " " "includedir=$includedir/ncursesw" | |
| 			fi | |
| 		else | |
| 			# no NLS support | |
| 			# loop 2: altered arch, narrow. | |
| 			var_remove GCC_WRAPPER_INSERT ' ' '-m64' | |
| 			alter_arch | |
|  | |
| 			mkdir -p narrowc_32 | |
| 			cd narrowc_32 | |
| 		fi | |
| 	fi | |
| } | |
|  | |
| # create compatibility symlinks for curses | |
| make_curses_symlinks() { | |
| 		echo "Creating compatibility symlinks for curses." | |
|  | |
| 	if [ "$SDECFG_STATIC" != 1 ]; then | |
| 		ln -svf "$( readlink $root$libdir/libncurses.so )" $root$libdir/libcurses.so | |
| 	fi | |
|  | |
| 	ln -svf libncurses.a $root$libdir/libcurses.a | |
| } | |
|  | |
| # functions we use when termcap package is installed | |
| remove_include_termcap() { | |
| 	echo "Removing 'termcap.h' from include/Makefile for 'make install'." | |
| 	sed -i 's,termcap.h,,g' include/Makefile | |
| } | |
|  | |
| make_termcap_symlinks() { | |
| 	echo "Creating compatibility symlinks for termcap." | |
|  | |
| 	if [ "$SDECFG_STATIC" != 1 ]; then | |
| 		ln -svf "$( readlink $root$libdir/libtinfo.so )" $root$libdir/libtermcap.so | |
| 	fi | |
|  | |
| 	ln -svf libtinfo.a $root$libdir/libtermcap.a | |
| } | |
|  | |
| # function to create a compatibility symlink '/usr/lib/terminfo' | |
| make_terminfo_symlink() { | |
| 	# construct the path to the old terminfo dir (taken from run_tic.sh) | |
| 	local compatdir="$(echo $datadir/terminfo | sed -e 's%/share/\([^/]*\)$%/lib/\1%')" | |
|  | |
| 	if [ ! -e $root$compatdir ]; then | |
| 		ln -svf ../share/terminfo $root$compatdir | |
| 	fi | |
| } | |
|  | |
| if atstage toolchain; then | |
| 	buildloops=1 | |
| 	custmain='tic_only' | |
| else | |
| 	# on systems having NLS support we build ncurses twice | |
| 	if [ "$SDECFG_DISABLE_NLS" != 1 ]; then | |
| 		buildloops=2 | |
| 	fi | |
|  | |
| 	# sparc64 may need extra love | |
| 	if [ "$arch" == "sparc64" -a "$SDECFG_SPARC64_32BIT" = 1 ]; then | |
| 		# double the loops | |
| 		buildloops=$( expr $buildloops \* 2 ) | |
| 	fi | |
|  | |
| 	configscript="../configure" | |
|  | |
| 	hook_add preconf 3 "ncurses_preconf" | |
|  | |
| 	[ "$SDECFG_STATIC" != 1 ] && var_append extraconfopt " " "--with-shared" | |
|  | |
| 	var_append extraconfopt " " "--with-normal" | |
|  | |
| 	# Fine-Tuning: | |
| 	# | |
| 	# make tic use symbolic links not hard links | |
| 	var_append extraconfopt " " "--enable-symlinks" | |
|  | |
| 	# Extensions: | |
| 	# | |
| 	# compile with SIGWINCH handler | |
| 	var_append extraconfopt " " "--enable-sigwinch" | |
|  | |
| 	# Development Code: | |
| 	# | |
| 	# compile with hard-tabs code | |
| 	var_append extraconfopt " " "--enable-hard-tabs" | |
|  | |
| 	# Experimental Code: | |
| 	# | |
| 	# compile with $COLORFGBG code | |
| 	var_append extraconfopt " " "--enable-colorfgbg" | |
|  | |
| 	# always create compatibility symlinks for curses | |
| 	hook_add postmake 5 "make_curses_symlinks" | |
|  | |
| 	# always create compatibility symlinks for terminfo directory | |
| 	hook_add postmake 5 "make_terminfo_symlink" | |
|  | |
| 	if pkginstalled termcap ; then | |
| 		echo_status "Found termcap package ->" \ | |
| 				"disable ncurses internal termcap library." | |
| 		var_append extraconfopt " " "--disable-termcap" | |
| 		hook_add inmake 5 "remove_include_termcap" | |
| 	else | |
| 		# generate separate terminfo library | |
| 		var_append extraconfopt " " "--with-termlib" | |
| 		hook_add postmake 6 "make_termcap_symlinks" | |
| 	fi | |
|  | |
| 	# generate and install .pc files for pkg-config | |
| 	if pkginstalled pkgconfig; then | |
| 		var_append extraconfopt " " "--enable-pc-files" | |
| 		# without this .pc files will get installed into $datadir/pkgconfig | |
| 		var_append extraconfopt " " "--with-pkg-config-libdir=$libdir/pkgconfig" | |
| 	fi | |
| fi
 | |
| 
 |