-
-AS_IF([test "$with_tty" != "no" -a "$have_tty" != "no" ],[
- AC_DEFINE([HAVE_NCURSES], [1], [Description here!])
- with_ncurses=yes
- AC_CHECK_HEADER(ncurses/ncurses.h, curses_h_file=ncurses/ncurses.h)
- if test -z "$curses_h_file"; then
- AC_CHECK_HEADER(ncurses/curses.h, curses_h_file=ncurses/curses.h)
- fi
- if test -n "$curses_h_file"; then
- AC_CHECK_HEADER(ncurses/termcap.h, termcap_h_file=ncurses/termcap.h)
- AC_CHECK_HEADER(ncurses/term.h, term_h_file=ncurses/term.h)
- else
- AC_CHECK_HEADER(ncurses.h, curses_h_file=ncurses.h)
- AC_CHECK_HEADER(termcap.h, termcap_h_file=termcap.h)
- AC_CHECK_HEADER(term.h, term_h_file=term.h)
- fi
- SXE_ADD_SXEUITTY_OBJS(terminfo.o)
- SXE_PREPEND(-lncurses, LIBS)
-
- if test -z "$curses_h_file" ; then
- dnl Try again, and check for the bogus ncurses/ include bug.
- dnl (i.e. ncurses/curses.h bogusly includes <unctrl.h> instead of
- dnl <ncurses/unctrl.h>)
- save_c_switch_site="$c_switch_site"
- c_switch_site="$c_switch_site -I/usr/include/ncurses"
+ if test -n "$tty_libs"
+ then
+ AS_MESSAGE(["Considering libraries: $tty_libs"])
+
+ # Check which preferred lib can be used
+ for func in $tty_funcs
+ do
+ # Make sure no flags are harmed during the search
+ sxe_save_LIBS=$LIBS
+ AC_SEARCH_LIBS($func, $tty_libs)
+ LIBS=$sxe_save_LIBS
+ done
+
+ # Minimize the set of libraries
+ tty_feature=""
+ tty_fun=""
+ for func in $tty_funcs
+ do
+ eval lib=\$ac_cv_search_${func}
+ if test "$lib" != no -a "$lib" != "none required"
+ then
+ for feature in $tty_feature
+ do
+ if test "$feature" = "$lib"
+ then
+ lib=""
+ func=""
+ break;
+ fi
+ done
+ tty_feature="$tty_feature $lib"
+ tty_fun="$tty_fun $func"
+ fi
+ done
+ fi
+
+ if test -n "$tty_feature"
+ then
+ # Check all the expected functions still compile with all the added
+ # libraries
+ sxe_save_LIBS=$LIBS
+ LIBS="$LIBS $tty_feature"
+ AC_CHECK_FUNCS($tty_funcs)
+ for func in $tty_fun
+ do
+ if eval "test \"\$ac_cv_func_${func}\" = no"
+ then
+ tty_feature=""
+ break
+ fi
+ done
+ LIBS=$sxe_save_LIBS
+ fi
+
+ if test -n "$tty_feature"
+ then
+ SXE_PREPEND($tty_feature, LIBS)
+ for lib in $tty_feature
+ do
+ l=`echo $lib | sed -e 's/^-l//g'`
+ eval "with_${l}=yes"
+ done
+ with_builtin_tty=no
+ have_tty=yes
+ else
+ AC_MSG_WARN([Could not link all needed tty functions.]
+ [Please consider installing ncurses.])
+ if test "$with_builtin_tty" = yes
+ then
+ AC_MSG_WARN([Using builtin tty support.])
+ have_tty=yes
+ else
+ AC_MSG_WARN([Use --with-builtin-tty=yes if you cannot use ncurses.])
+ have_tty=no
+ fi
+ fi
+
+ if test "$with_builtin_tty" = yes
+ then
+ # Add our own wrappers using termcap
+ SXE_ADD_SXEUITTY_OBJS(termcap.o)
+ SXE_ADD_SXEUITTY_OBJS(tparam.o)
+ have_tty=yes
+ elif test "$have_tty" = yes
+ then
+ # Terminfo interface, since tgetent etc are available
+ SXE_ADD_SXEUITTY_OBJS(terminfo.o)
+ fi
+
+ # Check headers, first generally
+ AC_CHECK_HEADER(termcap.h, termcap_h_file=termcap.h)
+ AC_CHECK_HEADER(term.h, term_h_file=term.h)
+
+ if test "$have_ncurses" = yes; then
+ # Verify how ncurses overrides them