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.
		
		
		
		
		
			
		
			
				
					
					
						
							185 lines
						
					
					
						
							4.8 KiB
						
					
					
				
			
		
		
	
	
							185 lines
						
					
					
						
							4.8 KiB
						
					
					
				# --- SDE-COPYRIGHT-NOTE-BEGIN --- | 
						|
# This copyright note is auto-generated by ./scripts/Create-CopyPatch. | 
						|
# | 
						|
# Filename: package/.../ncurses/ncurses.conf | 
						|
# Copyright (C) 2006 - 2011 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 | 
						|
	else | 
						|
		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 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 libncurses.so $root$libdir/libtermcap.so | 
						|
	fi | 
						|
 | 
						|
	ln -svf libncurses.a $root$libdir/libtermcap.a | 
						|
} | 
						|
 | 
						|
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" | 
						|
 | 
						|
	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 | 
						|
		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" | 
						|
	fi | 
						|
fi
 | 
						|
 |