]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - configure.in
ncurses 5.2
[ncurses.git] / configure.in
index 4ccaceeedab424e368b233533428457d2f2bad00..a46fbf1d43ed64f08eaa9d8ad4f9a7f6daea224d 100644 (file)
@@ -1,5 +1,5 @@
 dnl***************************************************************************
 dnl***************************************************************************
-dnl Copyright (c) 1998 Free Software Foundation, Inc.                        *
+dnl Copyright (c) 1998,1999,2000 Free Software Foundation, Inc.              *
 dnl                                                                          *
 dnl Permission is hereby granted, free of charge, to any person obtaining a  *
 dnl copy of this software and associated documentation files (the            *
 dnl                                                                          *
 dnl Permission is hereby granted, free of charge, to any person obtaining a  *
 dnl copy of this software and associated documentation files (the            *
@@ -28,15 +28,19 @@ dnl***************************************************************************
 dnl
 dnl Author: Thomas E. Dickey <dickey@clark.net> 1996,1997
 dnl
 dnl
 dnl Author: Thomas E. Dickey <dickey@clark.net> 1996,1997
 dnl
-dnl $Id: configure.in,v 1.126 1998/02/12 23:10:43 tom Exp $
+dnl $Id: configure.in,v 1.220 2000/10/15 00:54:36 tom Exp $
 dnl Process this file with autoconf to produce a configure script.
 dnl Process this file with autoconf to produce a configure script.
-AC_PREREQ(2.12.971222)
-AC_REVISION($Revision: 1.126 $)
-AC_INIT(ncurses/lib_initscr.c)
+dnl
+dnl See http://dickey.his.com/autoconf/ for additional information.
+dnl
+dnl ---------------------------------------------------------------------------
+AC_PREREQ(2.13.20000819)
+AC_REVISION($Revision: 1.220 $)
+AC_INIT(ncurses/base/lib_initscr.c)
 AC_CONFIG_HEADER(include/ncurses_cfg.h:include/ncurses_cfg.hin)
 
 CF_SUBST_NCURSES_VERSION
 AC_CONFIG_HEADER(include/ncurses_cfg.h:include/ncurses_cfg.hin)
 
 CF_SUBST_NCURSES_VERSION
-CF_CHECK_CACHE
+CF_CHECK_CACHE([AC_CANONICAL_SYSTEM])
 AC_ARG_WITH(system-type,
 [  --with-system-type=XXX  test: override derived host system-type],
 [AC_MSG_WARN(overriding system type to $withval)
 AC_ARG_WITH(system-type,
 [  --with-system-type=XXX  test: override derived host system-type],
 [AC_MSG_WARN(overriding system type to $withval)
@@ -79,31 +83,78 @@ CF_CFG_DEFAULTS
 
 ###    Checks for programs.
 AC_PROG_CC
 
 ###    Checks for programs.
 AC_PROG_CC
-if test -n "$GCC" ; then
-AC_MSG_CHECKING(version of gcc)
-eval "$CC --version"
+if test "$GCC" = yes ; then
+       AC_MSG_CHECKING(version of gcc)
+       eval "$CC --version"
+fi
+if test "$host" != $build; then
+       AC_CHECK_PROGS(BUILD_CC, $CC gcc cc)
+else
+       BUILD_CC="$CC"
 fi
 fi
+AC_SUBST(BUILD_CC)
 AC_PROG_CPP
 AC_PROG_GCC_TRADITIONAL
 AC_ISC_POSIX
 AC_PROG_CPP
 AC_PROG_GCC_TRADITIONAL
 AC_ISC_POSIX
-AC_PATH_PROG(LDCONFIG,ldconfig,,$PATH:/sbin:/usr/sbin)
+CF_ANSI_CC_REQD
+CF_PROG_EXT
+
+case "$cf_cv_system_name" in
+freebsd*) #(vi
+  test -z "$LDCONFIG" && LDCONFIG="/sbin/ldconfig -R"
+  ;;
+*) LDPATH=$PATH:/sbin:/usr/sbin
+  AC_PATH_PROG(LDCONFIG,ldconfig,,$LDPATH)
+  ;;
+esac
+AC_SUBST(LDCONFIG)
 
 dnl DEFECT in autoconf 2.12:   an attempt to set policy, this breaks the
 dnl                            configure script by not letting us test if C++
 dnl                            is present, making this option necessary.
 
 dnl DEFECT in autoconf 2.12:   an attempt to set policy, this breaks the
 dnl                            configure script by not letting us test if C++
 dnl                            is present, making this option necessary.
-AC_MSG_CHECKING(if you want to build with C++)
+AC_MSG_CHECKING(if you want to ensure bool is consistent with C++)
 AC_ARG_WITH(cxx,
 AC_ARG_WITH(cxx,
-       [  --without-cxx           suppress check for C++, don't build demo],
+       [  --without-cxx           do not adjust ncurses bool to match C++],
        [cf_with_cxx=$withval],
        [cf_with_cxx=yes])
 AC_MSG_RESULT($cf_with_cxx)
        [cf_with_cxx=$withval],
        [cf_with_cxx=yes])
 AC_MSG_RESULT($cf_with_cxx)
-if test "X$cf_with_cxx" != Xno ; then
-AC_PROG_CXX
+if test "X$cf_with_cxx" = Xno ; then
+       CXX=""
+       GXX=""
+else
+       pushdef([AC_MSG_ERROR],
+               [AC_MSG_RESULT([You don't have any C++ compiler, too bad]); dnl
+               cf_with_cxx=no; CXX=""; GXX="";])dnl
+       AC_PROG_CXX
+       popdef([AC_MSG_ERROR])dnl
 fi
 fi
+
 changequote(,)dnl
 changequote(,)dnl
-if test -n "$GXX" ; then case "`${CXX-g++} --version`" in 1*|2.[0-6]*) GXX=""; CXX=""; ac_cv_prog_gxx=no; cf_cxx_library=no ; echo No: templates do not work;; esac; fi
+if test "$GXX" = yes; then
+       case "`${CXX-g++} --version`" in
+       1*|2.[0-6]*)
+               GXX=""; CXX=""; ac_cv_prog_gxx=no
+               cf_cxx_library=no
+               echo No: templates do not work
+               ;;
+       esac
+fi
 changequote([,])dnl
 
 changequote([,])dnl
 
+AC_MSG_CHECKING(if you want to build C++ binding and demo)
+AC_ARG_WITH(cxx-binding,
+       [  --without-cxx-binding   do not build C++ binding and demo],
+       [cf_with_cxx_binding=$withval],
+       [cf_with_cxx_binding=$cf_with_cxx])
+AC_MSG_RESULT($cf_with_cxx_binding)
+
+AC_MSG_CHECKING(if you want to build with Ada95)
+AC_ARG_WITH(ada,
+       [  --without-ada           suppress check for Ada95, don't build demo],
+       [cf_with_ada=$withval],
+       [cf_with_ada=yes])
+AC_MSG_RESULT($cf_with_ada)
+
 AC_MSG_CHECKING(if you want to build programs such as tic)
 AC_ARG_WITH(progs,
        [  --without-progs         suppress build with programs (e.g., tic)],
 AC_MSG_CHECKING(if you want to build programs such as tic)
 AC_ARG_WITH(progs,
        [  --without-progs         suppress build with programs (e.g., tic)],
@@ -111,18 +162,28 @@ AC_ARG_WITH(progs,
        [cf_with_progs=yes])
 AC_MSG_RESULT($cf_with_progs)
 
        [cf_with_progs=yes])
 AC_MSG_RESULT($cf_with_progs)
 
+AC_MSG_CHECKING(if you wish to install curses.h)
+AC_ARG_WITH(curses-h,
+       [  --without-curses-h      install curses.h as ncurses.h only],
+       [with_curses_h=$withval],
+       [with_curses_h=yes])
+AC_MSG_RESULT($with_curses_h)
+
 modules_to_build="ncurses"
 if test "X$cf_with_progs" != Xno ; then
 modules_to_build="$modules_to_build progs tack"
 fi
 modules_to_build="$modules_to_build panel menu form"
 
 modules_to_build="ncurses"
 if test "X$cf_with_progs" != Xno ; then
 modules_to_build="$modules_to_build progs tack"
 fi
 modules_to_build="$modules_to_build panel menu form"
 
+AC_ARG_PROGRAM
 AC_PROG_AWK
 AC_PROG_MAKE_SET
 CF_PROG_INSTALL
 AC_SYS_LONG_FILE_NAMES
 AC_PROG_AWK
 AC_PROG_MAKE_SET
 CF_PROG_INSTALL
 AC_SYS_LONG_FILE_NAMES
+CF_MIXEDCASE_FILENAMES
 AC_PROG_LN_S
 AC_PROG_RANLIB
 AC_PROG_LN_S
 AC_PROG_RANLIB
+CF_MAKE_TAGS
 AC_CHECK_PROGS(LINT, tdlint lint alint)
 AC_CHECK_PROGS(MAN, man man_db)
 AC_SUBST(LINT_OPTS)
 AC_CHECK_PROGS(LINT, tdlint lint alint)
 AC_CHECK_PROGS(MAN, man man_db)
 AC_SUBST(LINT_OPTS)
@@ -133,7 +194,6 @@ CF_SUBST(archiver,AR,ar)
 CF_SUBST(archiver options,AR_OPTS,rv)
 
 CF_MAKEFLAGS
 CF_SUBST(archiver options,AR_OPTS,rv)
 
 CF_MAKEFLAGS
-CF_MAN_PAGES
 
 dnl Special option for use by system-builders: the install-prefix is used to
 dnl adjust the location into which the actual install is done, so that an
 
 dnl Special option for use by system-builders: the install-prefix is used to
 dnl adjust the location into which the actual install is done, so that an
@@ -144,11 +204,11 @@ AC_ARG_WITH(install-prefix,
        [case "$withval" in #(vi
        yes|no) #(vi
                ;;
        [case "$withval" in #(vi
        yes|no) #(vi
                ;;
-       *)      INSTALL_PREFIX="$withval"
+       *)      DESTDIR="$withval"
                ;;
        esac])
                ;;
        esac])
-AC_MSG_RESULT($INSTALL_PREFIX)
-AC_SUBST(INSTALL_PREFIX)
+AC_MSG_RESULT($DESTDIR)
+AC_SUBST(DESTDIR)
 
 ###############################################################################
 CF_HELP_MESSAGE(Options to Specify the Libraries Built/Used:)
 
 ###############################################################################
 CF_HELP_MESSAGE(Options to Specify the Libraries Built/Used:)
@@ -157,6 +217,21 @@ CF_HELP_MESSAGE(Options to Specify the Libraries Built/Used:)
 ### Use "--without-normal --with-shared" to allow the default model to be
 ### shared, for example.
 cf_list_models=""
 ### Use "--without-normal --with-shared" to allow the default model to be
 ### shared, for example.
 cf_list_models=""
+AC_SUBST(cf_list_models)dnl    the complete list of models ("normal debug")
+
+AC_MSG_CHECKING(if you want to build libraries with libtool)
+AC_ARG_WITH(libtool,
+       [  --with-libtool          generate libraries with libtool],
+       [with_libtool=$withval],
+       [with_libtool=no])
+AC_MSG_RESULT($with_libtool)
+if test "$with_libtool" = "yes"; then
+       cf_list_models="$cf_list_models libtool"
+       test -z "$LIBTOOL" && LIBTOOL=libtool
+else
+       LIBTOOL=""
+fi
+AC_SUBST(LIBTOOL)
 
 AC_MSG_CHECKING(if you want to build shared libraries)
 AC_ARG_WITH(shared,
 
 AC_MSG_CHECKING(if you want to build shared libraries)
 AC_ARG_WITH(shared,
@@ -190,6 +265,42 @@ AC_ARG_WITH(profile,
 AC_MSG_RESULT($with_profile)
 test "$with_profile" = "yes" && cf_list_models="$cf_list_models profile"
 
 AC_MSG_RESULT($with_profile)
 test "$with_profile" = "yes" && cf_list_models="$cf_list_models profile"
 
+###############################################################################
+
+AC_MSG_CHECKING(for specified models)
+test -z "$cf_list_models" && cf_list_models=normal
+dnl If we use libtool to generate libraries, then it must be the only
+dnl specified model.
+test "$with_libtool" = "yes" && cf_list_models=libtool
+AC_MSG_RESULT($cf_list_models)
+
+### Use the first model as the default, and save its suffix for use in building
+### up test-applications.
+AC_MSG_CHECKING(for default model)
+DFT_LWR_MODEL=`echo $cf_list_models | $AWK '{print $1}'`
+AC_MSG_RESULT($DFT_LWR_MODEL)
+
+CF_UPPER(DFT_UPR_MODEL,$DFT_LWR_MODEL)dnl
+
+AC_SUBST(DFT_LWR_MODEL)dnl     the default model ("normal")
+AC_SUBST(DFT_UPR_MODEL)dnl     the default model ("NORMAL")
+
+TINFO_NAME=tinfo
+AC_SUBST(TINFO_NAME)
+
+LIB_NAME=ncurses
+AC_SUBST(LIB_NAME)
+
+LIB_DIR=../lib
+CF_LIB_PREFIX(cf_prefix)
+LIB_PREFIX=$cf_prefix
+AC_SUBST(LIB_PREFIX)
+
+LIB_SUFFIX=
+AC_SUBST(LIB_SUFFIX)
+
+###############################################################################
+
 AC_MSG_CHECKING(if you want to build a separate terminfo library)
 AC_ARG_WITH(termlib,
        [  --with-termlib          generate separate terminfo library],
 AC_MSG_CHECKING(if you want to build a separate terminfo library)
 AC_ARG_WITH(termlib,
        [  --with-termlib          generate separate terminfo library],
@@ -201,92 +312,63 @@ AC_MSG_RESULT($with_termlib)
 AC_MSG_CHECKING(if you want to link with dbmalloc for testing)
 AC_ARG_WITH(dbmalloc,
        [  --with-dbmalloc         test: use Conor Cahill's dbmalloc library],
 AC_MSG_CHECKING(if you want to link with dbmalloc for testing)
 AC_ARG_WITH(dbmalloc,
        [  --with-dbmalloc         test: use Conor Cahill's dbmalloc library],
-       [with_dbmalloc=yes],
+       [with_dbmalloc=$withval],
        [with_dbmalloc=no])
 AC_MSG_RESULT($with_dbmalloc)
        [with_dbmalloc=no])
 AC_MSG_RESULT($with_dbmalloc)
-if test $with_dbmalloc = yes ; then
+if test "$with_dbmalloc" = yes ; then
        AC_CHECK_LIB(dbmalloc,debug_malloc)
 fi
 
 AC_MSG_CHECKING(if you want to link with dmalloc for testing)
 AC_ARG_WITH(dmalloc,
        [  --with-dmalloc          test: use Gray Watson's dmalloc library],
        AC_CHECK_LIB(dbmalloc,debug_malloc)
 fi
 
 AC_MSG_CHECKING(if you want to link with dmalloc for testing)
 AC_ARG_WITH(dmalloc,
        [  --with-dmalloc          test: use Gray Watson's dmalloc library],
-       [with_dmalloc=yes],
+       [with_dmalloc=$withval],
        [with_dmalloc=no])
 AC_MSG_RESULT($with_dmalloc)
        [with_dmalloc=no])
 AC_MSG_RESULT($with_dmalloc)
-if test $with_dmalloc = yes ; then
+if test "$with_dmalloc" = yes ; then
        AC_CHECK_LIB(dmalloc,dmalloc_debug)
 fi
 
        AC_CHECK_LIB(dmalloc,dmalloc_debug)
 fi
 
+SHLIB_LIST=""
 AC_MSG_CHECKING(if you want to link with the gpm mouse library)
 AC_ARG_WITH(gpm,
        [  --with-gpm              use Alessandro Rubini's GPM library],
 AC_MSG_CHECKING(if you want to link with the gpm mouse library)
 AC_ARG_WITH(gpm,
        [  --with-gpm              use Alessandro Rubini's GPM library],
-       [with_gpm=yes],
+       [with_gpm=$withval],
        [with_gpm=no])
 AC_MSG_RESULT($with_gpm)
        [with_gpm=no])
 AC_MSG_RESULT($with_gpm)
-if test $with_gpm = yes ; then
+if test "$with_gpm" = yes ; then
        AC_CHECK_LIB(gpm,Gpm_Open,[
        AC_CHECK_LIB(gpm,Gpm_Open,[
-               EXTRA_LIBS="$EXTRA_LIBS -lgpm -lncurses"
-               SHLIB_LIST="$SHLIB_DEPS -lgpm "
+               EXTRA_LIBS="-lgpm -lncurses $EXTRA_LIBS"
+               SHLIB_LIST="-lgpm $SHLIB_LIST"
                AC_DEFINE(HAVE_LIBGPM)
                AC_CHECK_HEADERS(gpm.h)
                AC_DEFINE(HAVE_LIBGPM)
                AC_CHECK_HEADERS(gpm.h)
-       ],,-lcurses -ltermcap)
+       ],AC_MSG_WARN(Cannot link with gpm library - read the FAQ))
 fi
 
 fi
 
-AC_SUBST(EXTRA_LIBS)
-AC_SUBST(SHLIB_LIST)
-
-AC_MSG_CHECKING(for specified models)
-test -z "$cf_list_models" && cf_list_models=normal
-AC_MSG_RESULT($cf_list_models)
-
-### Use the first model as the default, and save its suffix for use in building
-### up test-applications.
-DFT_LWR_MODEL=`echo $cf_list_models | $AWK '{print $1}'`
-CF_UPPER(DFT_UPR_MODEL,$DFT_LWR_MODEL)dnl
-CF_LIB_SUFFIX($DFT_LWR_MODEL,DFT_DEP_SUFFIX)dnl
-CF_LIB_TYPE($DFT_LWR_MODEL,DFT_ARG_SUFFIX)dnl
-CF_OBJ_SUBDIR($DFT_LWR_MODEL,DFT_OBJ_SUBDIR)dnl
-AC_SUBST(DFT_OBJ_SUBDIR)dnl    the default object-directory ("obj")
-AC_SUBST(DFT_LWR_MODEL)dnl     the default model ("normal")
-AC_SUBST(DFT_UPR_MODEL)dnl     the default model ("NORMAL")
-AC_SUBST(DFT_DEP_SUFFIX)dnl    the corresponding library-suffix (".a")
-AC_SUBST(DFT_ARG_SUFFIX)dnl    the string to append to "-lncurses" ("")
-AC_SUBST(cf_list_models)dnl    the complete list of models ("normal debug")
-
-TINFO_NAME=tinfo
-AC_SUBST(TINFO_NAME)
-
-LIB_NAME=ncurses
-AC_SUBST(LIB_NAME)
-
-LIB_DIR=../lib
-CF_LIB_PREFIX(cf_prefix)
-LIB_PREFIX=$LIB_DIR/$cf_prefix
-AC_SUBST(LIB_PREFIX)
-
 dnl Not all ports of gcc support the -g option
 dnl Not all ports of gcc support the -g option
-dnl autoconf 2.12 uses different symbol for -g option than autoconf 2.10, etc.
 
 if test X"$CC_G_OPT" = X"" ; then
        CC_G_OPT='-g'
 
 if test X"$CC_G_OPT" = X"" ; then
        CC_G_OPT='-g'
-       test -n "$GCC" && test "${ac_cv_prog_cc_g}${ac_cv_prog_gcc_g}" != yes && CC_G_OPT=''
+       test -n "$GCC" && test "${ac_cv_prog_cc_g}" != yes && CC_G_OPT=''
 fi
 AC_SUBST(CC_G_OPT)
 
 if test X"$CXX_G_OPT" = X"" ; then
        CXX_G_OPT='-g'
 fi
 AC_SUBST(CC_G_OPT)
 
 if test X"$CXX_G_OPT" = X"" ; then
        CXX_G_OPT='-g'
-       test -n "$GXX" && test "${ac_cv_prog_cxx_g}${ac_cv_prog_gxx_g}" != yes && CXX_G_OPT=''
+       test -n "$GXX" && test "${ac_cv_prog_cxx_g}" != yes && CXX_G_OPT=''
 fi
 AC_SUBST(CXX_G_OPT)
 
 fi
 AC_SUBST(CXX_G_OPT)
 
+AC_MSG_CHECKING(for default loader flags)
 case $DFT_LWR_MODEL in
 case $DFT_LWR_MODEL in
+libtool) LD_MODEL=''   ;;
 normal)  LD_MODEL=''   ;;
 debug)   LD_MODEL=$CC_G_OPT ;;
 profile) LD_MODEL='-pg';;
 shared)  LD_MODEL=''   ;;
 esac
 AC_SUBST(LD_MODEL)dnl          the type of link (e.g., -g or -pg)
 normal)  LD_MODEL=''   ;;
 debug)   LD_MODEL=$CC_G_OPT ;;
 profile) LD_MODEL='-pg';;
 shared)  LD_MODEL=''   ;;
 esac
 AC_SUBST(LD_MODEL)dnl          the type of link (e.g., -g or -pg)
+AC_MSG_RESULT($LD_MODEL)
 
 AC_MSG_CHECKING(if rpath option should be used)
 AC_ARG_ENABLE(rpath,
 
 AC_MSG_CHECKING(if rpath option should be used)
 AC_ARG_ENABLE(rpath,
@@ -296,7 +378,6 @@ AC_ARG_ENABLE(rpath,
 AC_MSG_RESULT($cf_cv_ld_rpath)
 
 CF_SHARED_OPTS
 AC_MSG_RESULT($cf_cv_ld_rpath)
 
 CF_SHARED_OPTS
-
 if test "$CC_SHARED_OPTS" = "unknown"; then
        for model in $cf_list_models; do
                if test "$model" = "shared"; then
 if test "$CC_SHARED_OPTS" = "unknown"; then
        for model in $cf_list_models; do
                if test "$model" = "shared"; then
@@ -312,31 +393,35 @@ CF_HELP_MESSAGE(Fine-Tuning Your Configuration:)
 AC_MSG_CHECKING(if you wish to install ncurses overwriting curses)
 AC_ARG_ENABLE(overwrite,
        [  --disable-overwrite     leave out the link to -lcurses],
 AC_MSG_CHECKING(if you wish to install ncurses overwriting curses)
 AC_ARG_ENABLE(overwrite,
        [  --disable-overwrite     leave out the link to -lcurses],
-       [with_overwrite=$enableval
-        test "$with_overwrite" = no && \
-        test "x$includedir" = 'x${prefix}/include' && \
-               includedir='$(prefix)/include/ncurses'
-       ],
+       [with_overwrite=$enableval],
        [with_overwrite=yes])
 AC_MSG_RESULT($with_overwrite)
        [with_overwrite=yes])
 AC_MSG_RESULT($with_overwrite)
-AC_MSG_CHECKING(where we will install curses.h)
-AC_MSG_RESULT($includedir)
 
 AC_MSG_CHECKING(if external terminfo-database is used)
 AC_ARG_ENABLE(database,
        [  --disable-database      use only built-in data],
 
 AC_MSG_CHECKING(if external terminfo-database is used)
 AC_ARG_ENABLE(database,
        [  --disable-database      use only built-in data],
-       [with_database=$enableval],
-       [with_database=yes])
-AC_MSG_RESULT($with_database)
-test $with_database != no && AC_DEFINE(USE_DATABASE)
+       [use_database=$enableval],
+       [use_database=yes])
+AC_MSG_RESULT($use_database)
 
 
-AC_MSG_CHECKING(if you want to build with function extensions)
-AC_ARG_ENABLE(ext-funcs,
-       [  --disable-ext-funcs     disable function-extensions],
-       [with_ext_funcs=$enableval],
-       [with_ext_funcs=yes])
-AC_MSG_RESULT($with_ext_funcs)
-test "$with_ext_funcs" = yes && AC_DEFINE(NCURSES_EXT_FUNCS)
+case $host_os in #(vi
+os2*) #(vi
+       TERMINFO_SRC='${top_srcdir}/misc/emx.src'
+       ;;
+*) #(vi
+       TERMINFO_SRC='${top_srcdir}/misc/terminfo.src'
+       ;;
+esac
+AC_SUBST(TERMINFO_SRC)
+
+if test "$use_database" != no ; then
+       AC_DEFINE(USE_DATABASE)
+       AC_MSG_CHECKING(which terminfo source-file will be installed)
+       AC_ARG_ENABLE(database,
+               [  --with-database=XXX     specify terminfo source to install],
+               [TERMINFO_SRC=$withval])
+       AC_MSG_RESULT($TERMINFO_SRC)
+fi
 
 AC_MSG_CHECKING(for list of fallback descriptions)
 AC_ARG_WITH(fallbacks,
 
 AC_MSG_CHECKING(for list of fallback descriptions)
 AC_ARG_WITH(fallbacks,
@@ -344,21 +429,57 @@ AC_ARG_WITH(fallbacks,
        [with_fallback=$withval],
        [with_fallback=])
 AC_MSG_RESULT($with_fallback)
        [with_fallback=$withval],
        [with_fallback=])
 AC_MSG_RESULT($with_fallback)
-FALLBACK_LIST=`echo $with_fallback|sed -e 's/,/ /'`
+FALLBACK_LIST=`echo $with_fallback|sed -e 's/,/ /g'`
 AC_SUBST(FALLBACK_LIST)
 
 AC_SUBST(FALLBACK_LIST)
 
-if test $with_database = no ; then
+if test "$use_database" = no ; then
        if test -z $with_fallback ; then
                AC_ERROR(You have disabled the database w/o specifying fallbacks)
        fi
        if test -z $with_fallback ; then
                AC_ERROR(You have disabled the database w/o specifying fallbacks)
        fi
+       TERMINFO="${datadir}/terminfo"
+else
+
+AC_MSG_CHECKING(for list of terminfo directories)
+CF_WITH_PATHLIST(terminfo-dirs,
+       [  --with-terminfo-dirs=XXX specify list of terminfo directories],
+       TERMINFO_DIRS,
+       DATADIR/terminfo,
+       ${datadir}/terminfo)
+AC_MSG_RESULT($TERMINFO_DIRS)
+test -n "$TERMINFO_DIRS" && AC_DEFINE_UNQUOTED(TERMINFO_DIRS,"$TERMINFO_DIRS")
+
+AC_MSG_CHECKING(for default terminfo directory)
+CF_WITH_PATH(default-terminfo-dir,
+       [  --with-default-terminfo-dir=DIR default terminfo directory],
+       TERMINFO,
+       DATADIR/terminfo,
+       ${datadir}/terminfo)
+AC_MSG_RESULT($TERMINFO)
+AC_DEFINE_UNQUOTED(TERMINFO,"$TERMINFO")
+
 fi
 
 fi
 
-###    use option --enable-big-core to make tic run faster on big machines
+AC_SUBST(TERMINFO)
+
+###    use option --disable-big-core to make tic run on small machines
+###    We need 4Mb, check if we can allocate 50% more than that.
 AC_MSG_CHECKING(if big-core option selected)
 AC_ARG_ENABLE(big-core,
 AC_MSG_CHECKING(if big-core option selected)
 AC_ARG_ENABLE(big-core,
-       [  --enable-big-core       assume machine has lots of memory],
+       [  --disable-big-core      assume machine has little memory],
        [with_big_core=$enableval],
        [with_big_core=$enableval],
-       [with_big_core=no])
+       [AC_TRY_RUN([
+#include <stdlib.h>
+#include <string.h>
+int main() {
+       unsigned long n = 6000000L;
+       char *s = malloc(n);
+       if (s != 0)
+               s[0] = s[n-1] = 0;
+       exit(s == 0);
+}],
+       [with_big_core=yes],
+       [with_big_core=no],
+       [with_big_core=no])])
 AC_MSG_RESULT($with_big_core)
 test "$with_big_core" = "yes" && AC_DEFINE(HAVE_BIG_CORE)
 
 AC_MSG_RESULT($with_big_core)
 test "$with_big_core" = "yes" && AC_DEFINE(HAVE_BIG_CORE)
 
@@ -395,14 +516,7 @@ fi
 
 ###   Use option --enable-symlinks to make tic use symlinks, not hard links
 ###   to reduce storage requirements for the terminfo database.
 
 ###   Use option --enable-symlinks to make tic use symlinks, not hard links
 ###   to reduce storage requirements for the terminfo database.
-###
-###   Most Unix systems have both link and symlink, a few don't have symlink.
-###   A few non-Unix systems implement symlink, but not link.
-###   A few non-systems implement neither.
-
-AC_CHECK_FUNCS( \
-       link \
-       symlink )
+CF_LINK_FUNCS
 
 with_links=no
 with_symlinks=no
 
 with_links=no
 with_symlinks=no
@@ -435,6 +549,15 @@ fi
 test "$with_links" = yes && AC_DEFINE(USE_LINKS)
 test "$with_symlinks" = yes && AC_DEFINE(USE_SYMLINKS)
 
 test "$with_links" = yes && AC_DEFINE(USE_LINKS)
 test "$with_symlinks" = yes && AC_DEFINE(USE_SYMLINKS)
 
+###   use option --enable-broken-linker to force on use of broken-linker support
+AC_MSG_CHECKING(if you want broken-linker support code)
+AC_ARG_ENABLE(broken_linker,
+       [  --enable-broken_linker  compile with broken-linker support code],
+       [with_broken_linker=$enableval],
+       [with_broken_linker=$BROKEN_LINKER])
+AC_MSG_RESULT($with_broken_linker)
+test "$with_broken_linker" = yes && AC_DEFINE(BROKEN_LINKER)
+
 ###   use option --enable-bsdpad to have tputs process BSD-style prefix padding
 AC_MSG_CHECKING(if tputs should process BSD-style prefix padding)
 AC_ARG_ENABLE(bsdpad,
 ###   use option --enable-bsdpad to have tputs process BSD-style prefix padding
 AC_MSG_CHECKING(if tputs should process BSD-style prefix padding)
 AC_ARG_ENABLE(bsdpad,
@@ -444,6 +567,37 @@ AC_ARG_ENABLE(bsdpad,
 AC_MSG_RESULT($with_bsdpad)
 test "$with_bsdpad" = yes && AC_DEFINE(BSD_TPUTS)
 
 AC_MSG_RESULT($with_bsdpad)
 test "$with_bsdpad" = yes && AC_DEFINE(BSD_TPUTS)
 
+### Enable compiling-in rcs id's
+AC_MSG_CHECKING(if RCS identifiers should be compiled-in)
+AC_ARG_WITH(rcs-ids,
+       [  --with-rcs-ids          compile-in RCS identifiers],
+       [with_rcs_ids=$withval],
+       [with_rcs_ids=no])
+AC_MSG_RESULT($with_rcs_ids)
+test "$with_rcs_ids" = yes && AC_DEFINE(USE_RCS_IDS)
+
+###############################################################################
+CF_MAN_PAGES([ captoinfo clear infocmp infotocap tic toe tput ])
+
+###############################################################################
+CF_HELP_MESSAGE(Extensions:)
+
+### Note that some functions (such as const) are normally disabled anyway.
+AC_MSG_CHECKING(if you want to build with function extensions)
+AC_ARG_ENABLE(ext-funcs,
+       [  --disable-ext-funcs     disable function-extensions],
+       [with_ext_funcs=$enableval],
+       [with_ext_funcs=yes])
+AC_MSG_RESULT($with_ext_funcs)
+if test "$with_ext_funcs" = yes ; then
+       AC_DEFINE(HAVE_CURSES_VERSION)
+       AC_DEFINE(HAVE_HAS_KEY)
+       AC_DEFINE(HAVE_RESIZETERM)
+       AC_DEFINE(HAVE_USE_DEFAULT_COLORS)
+       AC_DEFINE(HAVE_WRESIZE)
+       AC_DEFINE(NCURSES_EXT_FUNCS)
+fi
+
 ###   use option --enable-const to turn on use of const beyond that in XSI.
 AC_MSG_CHECKING(for extended use of const keyword)
 AC_ARG_ENABLE(const,
 ###   use option --enable-const to turn on use of const beyond that in XSI.
 AC_MSG_CHECKING(for extended use of const keyword)
 AC_ARG_ENABLE(const,
@@ -451,92 +605,143 @@ AC_ARG_ENABLE(const,
        [with_ext_const=$enableval],
        [with_ext_const=no])
 AC_MSG_RESULT($with_ext_const)
        [with_ext_const=$enableval],
        [with_ext_const=no])
 AC_MSG_RESULT($with_ext_const)
-test "$with_ext_const" = yes && AC_DEFINE(NCURSES_CONST,const)
+NCURSES_CONST='/*nothing*/'
+if test "$with_ext_const" = yes ; then
+       NCURSES_CONST=const
+fi
+AC_SUBST(NCURSES_CONST)
 
 
-### Enable compiling-in rcs id's
-AC_MSG_CHECKING(if RCS identifiers should be compiled-in)
-AC_ARG_WITH(rcs-ids,
-       [  --with-rcs-ids          compile-in RCS identifiers],
-       [with_rcs_ids=$enableval],
-       [with_rcs_ids=no])
-AC_MSG_RESULT($with_rcs_ids)
-test "$with_rcs_ids" = yes && AC_DEFINE(USE_RCS_IDS)
+AC_MSG_CHECKING(if you want \$NCURSES_NO_PADDING code)
+AC_ARG_ENABLE(no-padding,
+       [  --enable-no-padding     compile with \$NCURSES_NO_PADDING code],
+       [with_no_padding=$enableval],
+       [with_no_padding=$with_ext_funcs])
+AC_MSG_RESULT($with_no_padding)
+test "$with_no_padding" = yes && AC_DEFINE(NCURSES_NO_PADDING)
+
+###   use option --enable-sigwinch to turn on use of SIGWINCH logic
+AC_MSG_CHECKING(if you want SIGWINCH handler)
+AC_ARG_ENABLE(sigwinch,
+       [  --enable-sigwinch       compile with SIGWINCH handler],
+       [with_sigwinch=$enableval],
+       [with_sigwinch=$with_ext_funcs])
+AC_MSG_RESULT($with_sigwinch)
+test "$with_sigwinch" = yes && AC_DEFINE(USE_SIGWINCH)
+
+###   use option --enable-tcap-names to allow user to define new capabilities
+AC_MSG_CHECKING(if you want user-definable terminal capabilities like termcap)
+AC_ARG_ENABLE(tcap-names,
+       [  --enable-tcap-names     compile with user-definable terminal capabilities],
+       [with_tcap_names=$enableval],
+       [with_tcap_names=$with_ext_funcs])
+AC_MSG_RESULT($with_tcap_names)
+NCURSES_XNAMES=0
+test "$with_tcap_names" = yes && NCURSES_XNAMES=1
+AC_SUBST(NCURSES_XNAMES)
 
 ###############################################################################
 
 ###############################################################################
-CF_HELP_MESSAGE(Experimental Code:)
-AC_MSG_CHECKING(if you want all experimental code)
+# These options are relatively safe to experiment with.
+CF_HELP_MESSAGE(Development Code:)
+AC_MSG_CHECKING(if you want all development code)
 AC_ARG_WITH(develop,
 AC_ARG_WITH(develop,
-       [  --with-develop          enable all experimental options for testing],
+       [  --with-develop          enable all development options],
        [with_develop=$withval],
        [with_develop=no])
 AC_MSG_RESULT($with_develop)
 
        [with_develop=$withval],
        [with_develop=no])
 AC_MSG_RESULT($with_develop)
 
+###   use option --enable-colorfgbg to turn on use of $COLORFGBG environment
+AC_MSG_CHECKING(if you want colorfgbg code)
+AC_ARG_ENABLE(hard-tabs,
+       [  --enable-colorfgbg      compile with \$COLORFGBG code],
+       [with_colorfgbg=$enableval],
+       [with_colorfgbg=$with_develop])
+AC_MSG_RESULT($with_colorfgbg)
+test "$with_colorfgbg" = yes && AC_DEFINE(USE_COLORFGBG)
+
 ###   use option --enable-hard-tabs to turn on use of hard-tabs optimize
 ###   use option --enable-hard-tabs to turn on use of hard-tabs optimize
-AC_MSG_CHECKING(if you want experimental hard-tabs code)
+AC_MSG_CHECKING(if you want hard-tabs code)
 AC_ARG_ENABLE(hard-tabs,
 AC_ARG_ENABLE(hard-tabs,
-       [  --enable-hard-tabs      compile with experimental hard-tabs code],
+       [  --enable-hard-tabs      compile with hard-tabs code],
        [with_hardtabs=$enableval],
        [with_hardtabs=$with_develop])
 AC_MSG_RESULT($with_hardtabs)
 test "$with_hardtabs" = yes && AC_DEFINE(USE_HARD_TABS)
 
        [with_hardtabs=$enableval],
        [with_hardtabs=$with_develop])
 AC_MSG_RESULT($with_hardtabs)
 test "$with_hardtabs" = yes && AC_DEFINE(USE_HARD_TABS)
 
+AC_MSG_CHECKING(if you want to use restrict environment when running as root)
+AC_ARG_ENABLE(root-environ,
+       [  --disable-root-environ  limit environment when running as root],
+       [with_root_environ=$enableval],
+       [with_root_environ=yes])
+AC_MSG_RESULT($with_root_environ)
+test "$with_root_environ" = yes && AC_DEFINE(USE_ROOT_ENVIRON)
+
+###   use option --enable-xmc-glitch to turn on use of magic-cookie optimize
+AC_MSG_CHECKING(if you want limited support for xmc)
+AC_ARG_ENABLE(xmc-glitch,
+       [  --enable-xmc-glitch     compile with limited support for xmc],
+       [with_xmc_glitch=$enableval],
+       [with_xmc_glitch=$with_develop])
+AC_MSG_RESULT($with_xmc_glitch)
+test "$with_xmc_glitch" = yes && AC_DEFINE(USE_XMC_SUPPORT)
+
+###############################################################################
+# These are just experimental, probably should not be in a package:
+CF_HELP_MESSAGE(Experimental Code:)
+
+AC_MSG_CHECKING(if you do not want to assume colors are white-on-black)
+AC_ARG_ENABLE(assumed-color,
+       [  --disable-assumed-color do not assume anything about default-colors],
+       [with_assumed_color=$enableval],
+       [with_assumed_color=yes])
+AC_MSG_RESULT($with_assumed_color)
+test "$with_assumed_color" = yes && AC_DEFINE(USE_ASSUMED_COLOR)
+
 ###   use option --enable-hashmap to turn on use of hashmap scrolling logic
 ###   use option --enable-hashmap to turn on use of hashmap scrolling logic
-AC_MSG_CHECKING(if you want experimental hashmap code)
+AC_MSG_CHECKING(if you want hashmap scrolling-optimization code)
 AC_ARG_ENABLE(hashmap,
 AC_ARG_ENABLE(hashmap,
-       [  --enable-hashmap        compile with experimental hashmap code],
+       [  --disable-hashmap       compile without hashmap scrolling-optimization],
        [with_hashmap=$enableval],
        [with_hashmap=$enableval],
-       [with_hashmap=$with_develop])
+       [with_hashmap=yes])
 AC_MSG_RESULT($with_hashmap)
 test "$with_hashmap" = yes && AC_DEFINE(USE_HASHMAP)
 
 AC_MSG_CHECKING(if you want experimental safe-sprintf code)
 AC_ARG_ENABLE(safe-sprintf,
 AC_MSG_RESULT($with_hashmap)
 test "$with_hashmap" = yes && AC_DEFINE(USE_HASHMAP)
 
 AC_MSG_CHECKING(if you want experimental safe-sprintf code)
 AC_ARG_ENABLE(safe-sprintf,
-       [  --disable-safe-sprintf  compile with experimental safe-sprintf code],
+       [  --enable-safe-sprintf   compile with experimental safe-sprintf code],
        [with_safe_sprintf=$enableval],
        [with_safe_sprintf=no])
 AC_MSG_RESULT($with_safe_sprintf)
 test "$with_safe_sprintf" = yes && AC_DEFINE(USE_SAFE_SPRINTF)
 
 ###   use option --disable-scroll-hints to turn off use of scroll-hints scrolling logic
        [with_safe_sprintf=$enableval],
        [with_safe_sprintf=no])
 AC_MSG_RESULT($with_safe_sprintf)
 test "$with_safe_sprintf" = yes && AC_DEFINE(USE_SAFE_SPRINTF)
 
 ###   use option --disable-scroll-hints to turn off use of scroll-hints scrolling logic
+# when hashmap is used scroll hints are useless
+if test "$with_hashmap" = no ; then
 AC_MSG_CHECKING(if you want to experiment without scrolling-hints code)
 AC_ARG_ENABLE(scroll-hints,
 AC_MSG_CHECKING(if you want to experiment without scrolling-hints code)
 AC_ARG_ENABLE(scroll-hints,
-       [  --disable-scroll-hints  compile hashmap without scroll-hints code],
+       [  --disable-scroll-hints  compile without scroll-hints code],
        [with_scroll_hints=$enableval],
        [with_scroll_hints=yes])
 AC_MSG_RESULT($with_scroll_hints)
 test "$with_scroll_hints" = yes && AC_DEFINE(USE_SCROLL_HINTS)
        [with_scroll_hints=$enableval],
        [with_scroll_hints=yes])
 AC_MSG_RESULT($with_scroll_hints)
 test "$with_scroll_hints" = yes && AC_DEFINE(USE_SCROLL_HINTS)
-
-###   use option --enable-sigwinch to turn on use of SIGWINCH logic
-AC_MSG_CHECKING(if you want experimental SIGWINCH handler)
-AC_ARG_ENABLE(sigwinch,
-       [  --enable-sigwinch       compile with experimental SIGWINCH handler],
-       [with_sigwinch=$enableval],
-       [with_sigwinch=$with_develop])
-AC_MSG_RESULT($with_sigwinch)
-test "$with_sigwinch" = yes && AC_DEFINE(USE_SIGWINCH)
+fi
 
 ###   use option --enable-widec to turn on use of wide-character support
 AC_MSG_CHECKING(if you want experimental wide-character code)
 AC_ARG_ENABLE(widec,
 
 ###   use option --enable-widec to turn on use of wide-character support
 AC_MSG_CHECKING(if you want experimental wide-character code)
 AC_ARG_ENABLE(widec,
-       [  --enable-widec          compile with experimental wide-char code],
+       [  --enable-widec          compile with experimental wide-char/UTF-8 code],
        [with_widec=$enableval],
        [with_widec=no])
 AC_MSG_RESULT($with_widec)
        [with_widec=$enableval],
        [with_widec=no])
 AC_MSG_RESULT($with_widec)
-test "$with_widec" = yes && AC_DEFINE(USE_WIDEC_SUPPORT)
-
-###   use option --enable-xmc-glitch to turn on use of magic-cookie optimize
-AC_MSG_CHECKING(if you want experimental xmc code)
-AC_ARG_ENABLE(xmc-glitch,
-       [  --enable-xmc-glitch     compile with experimental xmc code],
-       [with_xmc_glitch=$enableval],
-       [with_xmc_glitch=$with_develop])
-AC_MSG_RESULT($with_xmc_glitch)
-test "$with_xmc_glitch" = yes && AC_DEFINE(USE_XMC_SUPPORT)
+if test "$with_widec" = yes ; then
+       LIB_SUFFIX="w${LIB_SUFFIX}"
+       AC_DEFINE(USE_WIDEC_SUPPORT)
+fi
 
 ###############################################################################
 CF_HELP_MESSAGE(Testing/development Options:)
 
 ###    use option --disable-echo to suppress full display compiling commands
 
 ###############################################################################
 CF_HELP_MESSAGE(Testing/development Options:)
 
 ###    use option --disable-echo to suppress full display compiling commands
+AC_MSG_CHECKING(if you want to display full commands during build)
 AC_ARG_ENABLE(echo,
        [  --enable-echo           build: display "compiling" commands (default)],
        [with_echo=$enableval],
 AC_ARG_ENABLE(echo,
        [  --enable-echo           build: display "compiling" commands (default)],
        [with_echo=$enableval],
@@ -545,13 +750,18 @@ if test "$with_echo" = yes; then
        ECHO_LINK=
 else
        ECHO_LINK='@ echo linking $@ ... ;'
        ECHO_LINK=
 else
        ECHO_LINK='@ echo linking $@ ... ;'
+       test -n "$LIBTOOL" && LIBTOOL="$LIBTOOL --silent"
 fi
 fi
+AC_MSG_RESULT($with_echo)
 AC_SUBST(ECHO_LINK)
 
 ###    use option --enable-warnings to turn on all gcc warnings
 AC_SUBST(ECHO_LINK)
 
 ###    use option --enable-warnings to turn on all gcc warnings
+AC_MSG_CHECKING(if you want to see compiler warnings)
 AC_ARG_ENABLE(warnings,
        [  --enable-warnings       build: turn on GCC compiler warnings],
        [with_warnings=$enableval])
 AC_ARG_ENABLE(warnings,
        [  --enable-warnings       build: turn on GCC compiler warnings],
        [with_warnings=$enableval])
+AC_MSG_RESULT($with_warnings)
+
 if test -n "$with_warnings"; then
        ADAFLAGS="$ADAFLAGS -gnatg"
        CF_GCC_WARNINGS
 if test -n "$with_warnings"; then
        ADAFLAGS="$ADAFLAGS -gnatg"
        CF_GCC_WARNINGS
@@ -559,13 +769,15 @@ fi
 CF_GCC_ATTRIBUTES
 
 ###    use option --enable-assertions to turn on generation of assertion code
 CF_GCC_ATTRIBUTES
 
 ###    use option --enable-assertions to turn on generation of assertion code
+AC_MSG_CHECKING(if you want to enable runtime assertions)
 AC_ARG_ENABLE(assertions,
        [  --enable-assertions     test: turn on generation of assertion code],
        [with_assertions=$enableval],
        [with_assertions=no])
 AC_ARG_ENABLE(assertions,
        [  --enable-assertions     test: turn on generation of assertion code],
        [with_assertions=$enableval],
        [with_assertions=no])
+AC_MSG_RESULT($with_assertions)
 if test -n "$GCC"
 then
 if test -n "$GCC"
 then
-       if test $with_assertions = no
+       if test "$with_assertions" = no
        then
                AC_DEFINE(NDEBUG)
                CPPFLAGS="$CPPFLAGS -DNDEBUG"
        then
                AC_DEFINE(NDEBUG)
                CPPFLAGS="$CPPFLAGS -DNDEBUG"
@@ -577,18 +789,18 @@ fi
 ###    use option --disable-leaks to suppress "permanent" leaks, for testing
 AC_ARG_ENABLE(leaks,
        [  --disable-leaks         test: suppress permanent memory-leaks],
 ###    use option --disable-leaks to suppress "permanent" leaks, for testing
 AC_ARG_ENABLE(leaks,
        [  --disable-leaks         test: suppress permanent memory-leaks],
-       [test $enableval = no && AC_DEFINE(NO_LEAKS)])
+       [test "$enableval" = no && AC_DEFINE(NO_LEAKS)])
 AC_DEFINE(HAVE_NC_ALLOC_H)
 
 ###    use option --enable-expanded to generate certain macros as functions
 AC_ARG_ENABLE(expanded,
        [  --enable-expanded       test: generate functions for certain macros],
 AC_DEFINE(HAVE_NC_ALLOC_H)
 
 ###    use option --enable-expanded to generate certain macros as functions
 AC_ARG_ENABLE(expanded,
        [  --enable-expanded       test: generate functions for certain macros],
-       [test $enableval = yes && AC_DEFINE(NCURSES_EXPANDED)])
+       [test "$enableval" = yes && AC_DEFINE(NCURSES_EXPANDED)])
 
 ###    use option --disable-macros to suppress macros in favor of functions
 AC_ARG_ENABLE(macros,
        [  --disable-macros        test: use functions rather than macros],
 
 ###    use option --disable-macros to suppress macros in favor of functions
 AC_ARG_ENABLE(macros,
        [  --disable-macros        test: use functions rather than macros],
-       [test $enableval = no && AC_DEFINE(NCURSES_NOMACROS)])
+       [test "$enableval" = no && AC_DEFINE(NCURSES_NOMACROS)])
 
 ###    Checks for libraries.
 AC_CHECK_FUNC(gettimeofday,
 
 ###    Checks for libraries.
 AC_CHECK_FUNC(gettimeofday,
@@ -598,9 +810,7 @@ AC_CHECK_LIB(bsd, gettimeofday,
        AC_DEFINE(HAVE_GETTIMEOFDAY)
        LIBS="$LIBS -lbsd")])dnl CLIX: bzero, select, gettimeofday
 
        AC_DEFINE(HAVE_GETTIMEOFDAY)
        LIBS="$LIBS -lbsd")])dnl CLIX: bzero, select, gettimeofday
 
-MATH_LIB=""
-AC_CHECK_FUNC(sin,,
-       AC_CHECK_LIB(m, sin,[MATH_LIB="-lm"]))
+CF_MATH_LIB(MATH_LIB,sin(x))
 AC_SUBST(MATH_LIB)
 
 ###    Checks for header files.
 AC_SUBST(MATH_LIB)
 
 ###    Checks for header files.
@@ -615,53 +825,23 @@ getopt.h \
 libc.h \
 limits.h \
 locale.h \
 libc.h \
 limits.h \
 locale.h \
+poll.h \
 sys/bsdtypes.h \
 sys/ioctl.h \
 sys/param.h \
 sys/bsdtypes.h \
 sys/ioctl.h \
 sys/param.h \
-poll.h \
+sys/poll.h \
 sys/select.h \
 sys/select.h \
-sys/stropts.h \
 sys/time.h \
 sys/times.h \
 sys/time.h \
 sys/times.h \
-termio.h \
-termios.h \
 ttyent.h \
 unistd.h \
 ttyent.h \
 unistd.h \
-values.h \
 )
 
 )
 
-PROG_EXT=
-case $cf_cv_system_name in
-hpux*)
-    # check for HPUX's ANSI compiler
-    if test -z "$GCC"; then
-       AC_MSG_CHECKING([for HP/UX ANSI compiler])
-       cf_save_CFLAGS="$CFLAGS"
-       CFLAGS="$CFLAGS -Aa"
-       AC_TRY_COMPILE([],[void (*f)(void)=0],[cf_hpux_cc=yes],[cf_hpux_cc=no])
-       AC_MSG_RESULT($cf_hpux_cc)
-       if test $cf_hpux_cc = yes; then
-               AC_DEFINE(_HPUX_SOURCE)
-       else
-               CFLAGS="$cf_save_CFLAGS"
-       fi
-    fi
-    ;;
-os2*)
-    # We make sure -Zexe is not used -- it would interfere with @PROG_EXT@
-    CFLAGS="$CFLAGS -Zmt -D__ST_MT_ERRNO__"
-    LDFLAGS=`echo "$LDFLAGS -Zmt -Zcrtdll" | sed "s/-Zexe//g"`
-    PROG_EXT=".exe"
-    ;;
-esac
-AC_SUBST(PROG_EXT)
-
 # check for ISC (this may also define _POSIX_SOURCE)
 # Note: even non-Posix ISC needs <sys/bsdtypes.h> to declare fd_set
 if test "$ISC" = yes ; then
        AC_CHECK_LIB(cposix,main)
        AC_CHECK_LIB(inet,bzero,LIBS="$LIBS -linet")dnl also 'select()'
 # check for ISC (this may also define _POSIX_SOURCE)
 # Note: even non-Posix ISC needs <sys/bsdtypes.h> to declare fd_set
 if test "$ISC" = yes ; then
        AC_CHECK_LIB(cposix,main)
        AC_CHECK_LIB(inet,bzero,LIBS="$LIBS -linet")dnl also 'select()'
-       AC_CHECK_HEADERS( sys/termio.h )
 fi
 
 CF_SYS_TIME_SELECT
 fi
 
 CF_SYS_TIME_SELECT
@@ -670,7 +850,7 @@ CF_SYS_TIME_SELECT
 AC_LANG_C
 AC_C_CONST
 AC_C_INLINE
 AC_LANG_C
 AC_C_CONST
 AC_C_INLINE
-test $ac_cv_c_inline != no && AC_DEFINE(CC_HAS_INLINE_FUNCS)
+test "$ac_cv_c_inline" != no && AC_DEFINE(CC_HAS_INLINE_FUNCS)
 
 CF_TYPEOF_CHTYPE
 CF_WIDEC_SHIFT
 
 CF_TYPEOF_CHTYPE
 CF_WIDEC_SHIFT
@@ -678,12 +858,16 @@ CF_WIDEC_SHIFT
 ###    Checks for external-data
 CF_ERRNO
 CF_LINK_DATAONLY
 ###    Checks for external-data
 CF_ERRNO
 CF_LINK_DATAONLY
-CF_SPEED_TYPE
 
 ###    Checks for library functions.
 AC_CHECK_FUNCS( \
 
 ###    Checks for library functions.
 AC_CHECK_FUNCS( \
+getcwd \
+getegid \
+geteuid \
 getttynam \
 getttynam \
+issetugid \
 memccpy \
 memccpy \
+mkstemp \
 nanosleep \
 poll \
 remove \
 nanosleep \
 poll \
 remove \
@@ -694,21 +878,20 @@ setvbuf \
 sigaction \
 sigvec \
 strdup \
 sigaction \
 sigvec \
 strdup \
-tcgetattr \
+strstr \
+tcgetpgrp \
 times \
 times \
-usleep \
 vfscanf \
 vsnprintf \
 vsscanf \
 )
 vfscanf \
 vsnprintf \
 vsscanf \
 )
-
 if test "$with_getcap" = "yes" ; then
        CF_CGETENT
 fi
 
 CF_ISASCII
 CF_STRUCT_SIGACTION
 if test "$with_getcap" = "yes" ; then
        CF_CGETENT
 fi
 
 CF_ISASCII
 CF_STRUCT_SIGACTION
-CF_STRUCT_TERMIOS
+CF_FUNC_TERMIOS
 
 dnl FIXME (may need this) AC_SYS_RESTARTABLE_SYSCALLS
 if test "$cross_compiling" = yes ; then
 
 dnl FIXME (may need this) AC_SYS_RESTARTABLE_SYSCALLS
 if test "$cross_compiling" = yes ; then
@@ -719,13 +902,8 @@ fi
 AC_TYPE_SIGNAL
 CF_TYPE_SIGACTION
 CF_SIZECHANGE
 AC_TYPE_SIGNAL
 CF_TYPE_SIGACTION
 CF_SIZECHANGE
-
-dnl FIXME checks we don't do (but neither does the old Configure script):
-case "$cf_cv_system_name" in
-linux*)
-       AC_DEFINE(GOOD_SELECT)
-       ;;
-esac
+CF_FUNC_MEMMOVE
+CF_FUNC_POLL
 
 dnl We'll do our own -g libraries, unless the user's overridden via $CFLAGS
 if test -z "$cf_user_CFLAGS" ; then
 
 dnl We'll do our own -g libraries, unless the user's overridden via $CFLAGS
 if test -z "$cf_user_CFLAGS" ; then
@@ -734,21 +912,55 @@ if test -z "$cf_user_CFLAGS" ; then
 fi
 
 dnl Check for C++ compiler characteristics (and ensure that it's there!)
 fi
 
 dnl Check for C++ compiler characteristics (and ensure that it's there!)
+CF_BOOL_DECL(cf_cv_cc_bool_type)
 if test -n "$CXX" ; then
 if test -n "$CXX" ; then
-       AC_CHECK_PROG(CXX_EXISTS, $CXX, yes, no)
-else
-       ac_cv_prog_CXX_EXISTS=no
-fi
-if test "$ac_cv_prog_CXX_EXISTS" = yes; then
        AC_LANG_CPLUSPLUS
        AC_LANG_CPLUSPLUS
-       CF_CXX_LIBRARY
-       AC_CHECK_HEADERS(builtin.h typeinfo)
+       CF_STDCPP_LIBRARY
+       if test "$GXX" = yes; then
+               case "`${CXX-g++} --version`" in
+               1*|2.[0-6]*)
+                       cf_cxx_library=yes
+                       ;;
+               2.7*)
+                       CF_GPP_LIBRARY
+                       ;;
+               *)
+                       cf_cxx_library=no
+                       ;;
+               esac
+       else
+               cf_cxx_library=no
+       fi
+       AC_CHECK_HEADERS(typeinfo)
        CF_BOOL_DECL
        CF_BOOL_SIZE
        CF_BOOL_DECL
        CF_BOOL_SIZE
+       CF_ETIP_DEFINES
+       CF_CPP_PARAM_INIT
+       case $cf_cv_system_name in #(vi
+       sco3.2v5*)
+           CXXLDFLAGS="-u main"
+           ;;
+       esac
+       AC_SUBST(CXXLDFLAGS)
 else
        cf_cxx_library=no
 else
        cf_cxx_library=no
-       AC_CACHE_VAL(cf_cv_builtin_bool,[cf_cv_builtin_bool=0])
-       AC_CACHE_VAL(cf_cv_sizeof_bool,[cf_cv_sizeof_bool=int])
+       cf_cv_builtin_bool=1
+
+       # Just because we are not configuring against C++ right now does not
+       # mean that a user will not want to use C++.  Some distributors disable
+       # the C++ portion of this configuration as a shortcut (or just to avoid
+       # compiling the demo in the c++ directory).  So we need a reasonable
+       # default for the 'bool' type.
+       #
+       # Caveat: since the storage of the bool type is not standardized, it
+       # may change.
+
+       AC_MSG_CHECKING(for fallback type of bool)
+       case "$host_cpu" in #(vi
+       i?86)   cf_cv_type_of_bool=char ;; #(vi
+       *)      cf_cv_type_of_bool=int  ;;
+       esac
+       AC_MSG_RESULT($cf_cv_type_of_bool)
 fi
 AC_SUBST(CXXLIBS)
 
 fi
 AC_SUBST(CXXLIBS)
 
@@ -756,21 +968,40 @@ CF_HELP_MESSAGE(Ada95 Binding Options:)
 
 dnl Check for availability of GNU Ada Translator (GNAT).
 dnl At the moment we support no other Ada95 compiler.
 
 dnl Check for availability of GNU Ada Translator (GNAT).
 dnl At the moment we support no other Ada95 compiler.
+if test "$cf_with_ada" != "no" ; then
 cf_ada_make=gnatmake
 AC_CHECK_PROG(gnat_exists, $cf_ada_make, yes, no)
 if test "$ac_cv_prog_gnat_exists" = no; then
    cf_ada_make=
 else
    CF_GNAT_VERSION
 cf_ada_make=gnatmake
 AC_CHECK_PROG(gnat_exists, $cf_ada_make, yes, no)
 if test "$ac_cv_prog_gnat_exists" = no; then
    cf_ada_make=
 else
    CF_GNAT_VERSION
-   AC_CHECK_PROG(m4_exists, m4, yes, no)
-   if test "$ac_cv_prog_m4_exists" = no; then
-      ac_cv_prog_gnat_correct=no
+   AC_CHECK_PROG(M4_exists, m4, yes, no)
+   if test "$ac_cv_prog_M4_exists" = no; then
+      cf_cv_prog_gnat_correct=no
       echo Ada95 binding required program m4 not found. Ada95 binding disabled.
    fi
       echo Ada95 binding required program m4 not found. Ada95 binding disabled.
    fi
+   if test "$cf_cv_prog_gnat_correct" = yes; then
+      AC_MSG_CHECKING(if GNAT works)
+      CF_GNAT_TRY_RUN([procedure conftest;],
+[with Text_IO;
+with GNAT.OS_Lib;
+procedure conftest is
+begin
+   Text_IO.Put ("Hello World");
+   Text_IO.New_Line;
+   GNAT.OS_Lib.OS_Exit (0);
+end conftest;],[cf_cv_prog_gnat_correct=yes],[cf_cv_prog_gnat_correct=no])
+      AC_MSG_RESULT($cf_cv_prog_gnat_correct)
+   fi
 fi
 fi
-if test        "$ac_cv_prog_gnat_correct" = yes; then
-   ADAFLAGS="-O3 $ADAFLAGS"
-   cf_ada_compiler=gcc
+if test        "$cf_cv_prog_gnat_correct" = yes; then
+   ADAFLAGS="-O3 -gnatpn $ADAFLAGS"
+
+   AC_ARG_WITH(ada-compiler,
+       [  --with-ada-compiler=CMD specify Ada95 compiler command (default gnatmake)],
+       [cf_ada_compiler=$withval],
+       [cf_ada_compiler=gnatmake])
+
    cf_ada_package=terminal_interface
 
    AC_SUBST(cf_ada_make)
    cf_ada_package=terminal_interface
 
    AC_SUBST(cf_ada_make)
@@ -778,31 +1009,33 @@ if test  "$ac_cv_prog_gnat_correct" = yes; then
    AC_SUBST(cf_ada_package)
    AC_SUBST(ADAFLAGS)
    AC_SUBST(cf_compile_generics)
    AC_SUBST(cf_ada_package)
    AC_SUBST(ADAFLAGS)
    AC_SUBST(cf_compile_generics)
+   AC_SUBST(cf_generic_objects)
 
    CF_WITH_PATH(ada-include,
        [  --with-ada-include=DIR  Ada includes are in DIR],
        ADA_INCLUDE,
 
    CF_WITH_PATH(ada-include,
        [  --with-ada-include=DIR  Ada includes are in DIR],
        ADA_INCLUDE,
-       EPREFIX/ada_include,
-       [$]exec_prefix/ada_include)
+       PREFIX/lib/ada/adainclude,
+       [$]prefix/lib/ada/adainclude)
    AC_SUBST(ADA_INCLUDE)
 
    CF_WITH_PATH(ada-objects,
        [  --with-ada-objects=DIR  Ada objects are in DIR],
        ADA_OBJECTS,
    AC_SUBST(ADA_INCLUDE)
 
    CF_WITH_PATH(ada-objects,
        [  --with-ada-objects=DIR  Ada objects are in DIR],
        ADA_OBJECTS,
-       EPREFIX/ada_objects,
-       [$]exec_prefix/ada_objects)
+       PREFIX/lib/ada/adalib,
+       [$]prefix/lib/ada/adalib)
    AC_SUBST(ADA_OBJECTS)
 
 fi
    AC_SUBST(ADA_OBJECTS)
 
 fi
+fi
 
 ### It's not possible to appease gcc 2.6.3's conversion-warnings if we're
 ### using a 'char' for bools.  gcc 2.7.0's conversion-warnings are broken too
 ### badly to consider using for development purposes, but 2.5.8 is okay.
 if test -n "$with_warnings"; then
 
 ### It's not possible to appease gcc 2.6.3's conversion-warnings if we're
 ### using a 'char' for bools.  gcc 2.7.0's conversion-warnings are broken too
 ### badly to consider using for development purposes, but 2.5.8 is okay.
 if test -n "$with_warnings"; then
-       if test -n "$GCC"; then
+       if test "$GCC" = yes; then
                case "`$CC --version`" in
                2.6.3)
                case "`$CC --version`" in
                2.6.3)
-                       if test "$cf_cv_sizeof_bool" != "char"; then
+                       if test "$cf_cv_type_of_bool" != "char"; then
                                EXTRA_CFLAGS="$EXTRA_CFLAGS -Wconversion"
                        fi
                        ;;
                                EXTRA_CFLAGS="$EXTRA_CFLAGS -Wconversion"
                        fi
                        ;;
@@ -825,15 +1058,65 @@ LIB_SUBSETS="${LIB_SUBSETS}base"
 test "$with_ext_funcs" = yes && LIB_SUBSETS="${LIB_SUBSETS}+ext_funcs"
 AC_MSG_RESULT($LIB_SUBSETS)
 
 test "$with_ext_funcs" = yes && LIB_SUBSETS="${LIB_SUBSETS}+ext_funcs"
 AC_MSG_RESULT($LIB_SUBSETS)
 
+LIB_TRACING=DEBUG
+case "$CFLAGS" in
+*-DTRACE*)
+       LIB_TRACING=all
+       ;;
+esac
+
 ### Construct the list of include-directories to be generated
 CF_INCLUDE_DIRS
 CF_ADA_INCLUDE_DIRS
 
 ### Construct the list of include-directories to be generated
 CF_INCLUDE_DIRS
 CF_ADA_INCLUDE_DIRS
 
+### Build up pieces for makefile rules
+AC_MSG_CHECKING(default library suffix)
+CF_LIB_TYPE($DFT_LWR_MODEL,DFT_ARG_SUFFIX)dnl
+AC_SUBST(DFT_ARG_SUFFIX)dnl the string to append to "-lncurses" ("")
+AC_MSG_RESULT($DFT_ARG_SUFFIX)
+
+AC_MSG_CHECKING(default library-dependency suffix)
+CF_LIB_SUFFIX($DFT_LWR_MODEL,DFT_DEP_SUFFIX)dnl
+AC_SUBST(DFT_DEP_SUFFIX)dnl the corresponding library-suffix (".a")
+AC_MSG_RESULT($DFT_DEP_SUFFIX)
+
+AC_MSG_CHECKING(default object directory)
+CF_OBJ_SUBDIR($DFT_LWR_MODEL,DFT_OBJ_SUBDIR)dnl
+AC_SUBST(DFT_OBJ_SUBDIR)dnl the default object-directory ("obj")
+AC_MSG_RESULT($DFT_OBJ_SUBDIR)
+
+# libtool thinks it can make c++ shared libraries (perhaps only g++)
+AC_MSG_CHECKING(c++ library-dependency suffux)
+if test "$with_libtool" = "yes"; then
+       CXX_LIB_SUFFIX=$DFT_DEP_SUFFIX
+else
+       CF_LIB_SUFFIX(normal,CXX_LIB_SUFFIX)dnl we normally make a static library
+fi
+AC_MSG_RESULT($CXX_LIB_SUFFIX)
+AC_SUBST(CXX_LIB_SUFFIX)
+
+TINFO_LIST="$SHLIB_LIST"
+test "$with_termlib" = yes && SHLIB_LIST="$SHLIB_LIST -ltinfo${LIB_SUFFIX}"
+
+AC_MSG_CHECKING(where we will install curses.h)
+test "$with_overwrite" = no && \
+test "x$includedir" = 'x${prefix}/include' && \
+       includedir='$(prefix)/include/ncurses'${LIB_SUFFIX}
+AC_MSG_RESULT($includedir)
+
+AC_SUBST(EXTRA_LIBS)
+AC_SUBST(TINFO_LIST)
+AC_SUBST(SHLIB_LIST)
+
 ### Set up low-level terminfo dependencies for makefiles.  Note that we
 ### could override this.
 if test "$with_termlib" = yes ; then
 ### Set up low-level terminfo dependencies for makefiles.  Note that we
 ### could override this.
 if test "$with_termlib" = yes ; then
-       TEST_DEPS="${LIB_PREFIX}${TINFO_NAME}${DFT_DEP_SUFFIX}"
-       TEST_ARGS="-l${TINFO_NAME}${DFT_ARG_SUFFIX}"
+       TEST_DEPS="${LIB_DIR}/${LIB_PREFIX}${TINFO_NAME}${DFT_DEP_SUFFIX}"
+       if test "$DFT_LWR_MODEL" = "libtool"; then
+               TEST_ARGS="${TEST_DEPS}"
+       else
+               TEST_ARGS="-l${TINFO_NAME}${DFT_ARG_SUFFIX}"
+       fi
 fi
 PROG_DEPS="$TEST_DEPS"
 PROG_ARGS="$TEST_ARGS"
 fi
 PROG_DEPS="$TEST_DEPS"
 PROG_ARGS="$TEST_ARGS"
@@ -853,6 +1136,7 @@ AC_OUTPUT( \
        include/curses.h \
        include/termcap.h \
        include/unctrl.h \
        include/curses.h \
        include/termcap.h \
        include/unctrl.h \
+       misc/run_tic.sh:misc/run_tic.in \
        $SUB_MAKEFILES \
        Makefile,[
 CF_LIB_RULES
        $SUB_MAKEFILES \
        Makefile,[
 CF_LIB_RULES
@@ -865,17 +1149,22 @@ CF_LIST_MODELS="$cf_list_models"
 DFT_LWR_MODEL="$DFT_LWR_MODEL"
 LDCONFIG="$LDCONFIG"
 LIB_NAME="$LIB_NAME"
 DFT_LWR_MODEL="$DFT_LWR_MODEL"
 LDCONFIG="$LDCONFIG"
 LIB_NAME="$LIB_NAME"
+LIB_SUFFIX="$LIB_SUFFIX"
 LIB_SUBSETS="$LIB_SUBSETS"
 LIB_SUBSETS="$LIB_SUBSETS"
+LIB_TRACING="$LIB_TRACING"
 SRC_SUBDIRS="$SRC_SUBDIRS"
 SRC_SUBDIRS="$SRC_SUBDIRS"
+TERMINFO="$TERMINFO"
 TINFO_NAME="$TINFO_NAME"
 WITH_ECHO="$with_echo"
 WITH_OVERWRITE="$with_overwrite"
 TINFO_NAME="$TINFO_NAME"
 WITH_ECHO="$with_echo"
 WITH_OVERWRITE="$with_overwrite"
+WITH_CURSES_H="$with_curses_h"
 cf_cv_abi_version="$cf_cv_abi_version"
 cf_cv_do_symlinks="$cf_cv_do_symlinks"
 cf_cv_rel_version="$cf_cv_rel_version"
 cf_cv_rm_so_locs="$cf_cv_rm_so_locs"
 cf_cv_system_name="$cf_cv_system_name"
 cf_cv_abi_version="$cf_cv_abi_version"
 cf_cv_do_symlinks="$cf_cv_do_symlinks"
 cf_cv_rel_version="$cf_cv_rel_version"
 cf_cv_rm_so_locs="$cf_cv_rm_so_locs"
 cf_cv_system_name="$cf_cv_system_name"
-cf_cxx_library="$cf_cxx_library"
+cf_with_cxx_binding="$cf_with_cxx_binding"
+cf_cv_shlib_version="$cf_cv_shlib_version"
 target="$target"
 
 ],sort)dnl
 target="$target"
 
 ],sort)dnl