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.

141 lines
5.6 KiB

dnl IU_LIB_NCURSES, IU_LIB_CURSES and IU_LIB_TERMCAP are:
dnl Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
dnl Written by Miles Bader <miles@gnu.ai.mit.edu>
dnl
dnl This program is free software; you can redistribute it and/or modify
dnl it under the terms of the GNU General Public License as published by
dnl the Free Software Foundation; either version 2, or (at your option)
dnl any later version.
dnl
dnl This program is distributed in the hope that it will be useful,
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
dnl GNU General Public License for more details.
dnl
dnl You should have received a copy of the GNU General Public License
dnl along with this program; if not, write to the Free Software
dnl Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
dnl
dnl IU_LIB_NCURSES -- check for, and configure, ncurses
dnl
dnl If libncurses is found to exist on this system and the --disable-ncurses
dnl flag wasn't specified, defines LIBNCURSES with the appropriate linker
dnl specification, and possibly defines NCURSES_INCLUDE with the appropriate
dnl -I flag to get access to ncurses include files.
dnl
AC_DEFUN([IU_LIB_NCURSES], [
AC_ARG_ENABLE(ncurses, [ --disable-ncurses don't prefer -lncurses over -lcurses],
, enable_ncurses=yes)
if test "$enable_ncurses" = yes; then
PKG_CHECK_MODULES([NCURSES], [ncursesw], [LIBNCURSES="${NCURSES_LIBS}" have_ncursesw=yes], [
PKG_CHECK_MODULES([NCURSES], [ncurses], [LIBNCURSES="${NCURSES_LIBS}" have_ncursesw=no], [
AC_CHECK_LIB(ncursesw, initscr, LIBNCURSES="-lncursesw",
AC_CHECK_LIB(ncurses, initscr, LIBNCURSES="-lncurses"))
if test "$ac_cv_lib_ncursesw_initscr" = yes; then
have_ncursesw=yes
else
have_ncursesw=no
fi
])
])
if test "$LIBNCURSES"; then
# Use ncurses header files instead of the ordinary ones, if possible;
# is there a better way of doing this, that avoids looking in specific
# directories?
AC_ARG_WITH([ncurses-include-dir],
AS_HELP_STRING([--with-ncurses-include-dir=DIR],
[Set directory containing the include files for
use with -lncurses, when it isn't installed as
the default curses library. If DIR is "none",
then no special ncurses include files are used.]))
if test "${with_ncurses_include_dir+set}" = set; then
AC_MSG_CHECKING(for ncurses include dir)
case "$with_ncurses_include_dir" in
no|none)
inetutils_cv_includedir_ncurses=none;;
*)
inetutils_cv_includedir_ncurses="$with_ncurses_include_dir";;
esac
AC_MSG_RESULT($inetutils_cv_includedir_ncurses)
else
AC_CACHE_CHECK(for ncurses include dir,
inetutils_cv_includedir_ncurses,
if test "$have_ncursesw" = yes; then
ncursesdir=ncursesw
else
ncursesdir=ncurses
fi
for D in $includedir $prefix/include /local/include /usr/local/include /include /usr/include; do
if test -d $D/$ncursesdir; then
inetutils_cv_includedir_ncurses="$D/$ncursesdir"
break
fi
test "$inetutils_cv_includedir_ncurses" \
|| inetutils_cv_includedir_ncurses=none
done)
fi
if test "$inetutils_cv_includedir_ncurses" = none; then
NCURSES_INCLUDE=""
else
NCURSES_INCLUDE="-I$inetutils_cv_includedir_ncurses"
fi
fi
if test $have_ncursesw = yes; then
AC_DEFINE(HAVE_NCURSESW, 1, [Define if you have working ncursesw])
fi
fi
AC_SUBST(NCURSES_INCLUDE)
AC_SUBST(LIBNCURSES)])dnl
dnl IU_LIB_TERMCAP -- check for various termcap libraries
dnl
dnl Checks for various common libraries implementing the termcap interface,
dnl including ncurses (unless --disable ncurses is specified), curses (which
dnl does on some systems), termcap, and termlib. If termcap is found, then
dnl LIBTERMCAP is defined with the appropriate linker specification.
dnl
AC_DEFUN([IU_LIB_TERMCAP], [
AC_REQUIRE([IU_LIB_NCURSES])
if test "$LIBNCURSES"; then
LIBTERMCAP="$LIBNCURSES"
else
AC_CHECK_LIB(curses, tgetent, LIBTERMCAP=-lcurses)
if test "$ac_cv_lib_curses_tgetent" = no; then
AC_CHECK_LIB(termcap, tgetent, LIBTERMCAP=-ltermcap)
fi
if test "$ac_cv_lib_termcap_tgetent" = no; then
AC_CHECK_LIB(termlib, tgetent, LIBTERMCAP=-ltermlib)
fi
fi
AC_SUBST(LIBTERMCAP)])dnl
dnl IU_LIB_CURSES -- check for curses, and associated libraries
dnl
dnl Checks for various libraries implementing the curses interface, and if
dnl found, defines LIBCURSES to be the appropriate linker specification,
dnl *including* any termcap libraries if needed (some versions of curses
dnl don't need termcap).
dnl
AC_DEFUN([IU_LIB_CURSES], [
AC_REQUIRE([IU_LIB_TERMCAP])
AC_REQUIRE([IU_LIB_NCURSES])
if test "$LIBNCURSES"; then
LIBCURSES="$LIBNCURSES" # ncurses doesn't require termcap
else
_IU_SAVE_LIBS="$LIBS"
LIBS="$LIBTERMCAP"
AC_CHECK_LIB(curses, initscr, LIBCURSES="-lcurses")
if test "$LIBCURSES" -a "$LIBTERMCAP" -a "$LIBCURSES" != "$LIBTERMCAP"; then
AC_CACHE_CHECK(whether curses needs $LIBTERMCAP,
inetutils_cv_curses_needs_termcap,
LIBS="$LIBCURSES"
AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <curses.h>]], [[initscr ();]])],[inetutils_cv_curses_needs_termcap=no],[inetutils_cv_curses_needs_termcap=yes]))
if test $inetutils_cv_curses_needs_termcap = yes; then
LIBCURSES="$LIBCURSES $LIBTERMCAP"
fi
fi
LIBS="$_IU_SAVE_LIBS"
fi
AC_SUBST(LIBCURSES)])dnl