# --- 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 # 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 } 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 # 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" fi fi