ncurses 4.2
[ncurses.git] / configure.in
index 3e202a79534c73bc322ac130d29f307113167973..4ccaceeedab424e368b233533428457d2f2bad00 100644 (file)
@@ -1,30 +1,46 @@
-dnl*****************************************************************************
-dnl Copyright 1996,1997 by Thomas E. Dickey <dickey@clark.net>                 *
-dnl All Rights Reserved.                                                       *
-dnl                                                                            *
-dnl Permission to use, copy, modify, and distribute this software and its      *
-dnl documentation for any purpose and without fee is hereby granted, provided  *
-dnl that the above copyright notice appear in all copies and that both that    *
-dnl copyright notice and this permission notice appear in supporting           *
-dnl documentation, and that the name of the above listed copyright holder(s)   *
-dnl not be used in advertising or publicity pertaining to distribution of the  *
-dnl software without specific, written prior permission. THE ABOVE LISTED      *
-dnl COPYRIGHT HOLDER(S) DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,  *
-dnl INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO     *
-dnl EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY         *
-dnl SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER       *
-dnl RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF       *
-dnl CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN        *
-dnl CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.                   *
-dnl*****************************************************************************
-dnl $Id: configure.in,v 1.64 1997/05/10 15:26:07 tom Exp $
+dnl***************************************************************************
+dnl Copyright (c) 1998 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 "Software"), to deal in the Software without restriction, including      *
+dnl without limitation the rights to use, copy, modify, merge, publish,      *
+dnl distribute, distribute with modifications, sublicense, and/or sell       *
+dnl copies of the Software, and to permit persons to whom the Software is    *
+dnl furnished to do so, subject to the following conditions:                 *
+dnl                                                                          *
+dnl The above copyright notice and this permission notice shall be included  *
+dnl in all copies or substantial portions of the Software.                   *
+dnl                                                                          *
+dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
+dnl OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
+dnl MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
+dnl IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
+dnl DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
+dnl OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
+dnl THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
+dnl                                                                          *
+dnl Except as contained in this notice, the name(s) of the above copyright   *
+dnl holders shall not be used in advertising or otherwise to promote the     *
+dnl sale, use or other dealings in this Software without prior written       *
+dnl authorization.                                                           *
+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 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)
-AC_REVISION($Revision: 1.64 $)
+AC_PREREQ(2.12.971222)
+AC_REVISION($Revision: 1.126 $)
 AC_INIT(ncurses/lib_initscr.c)
 AC_INIT(ncurses/lib_initscr.c)
+AC_CONFIG_HEADER(include/ncurses_cfg.h:include/ncurses_cfg.hin)
 
 
-NC_VERSION
-NC_SYSTYPE
+CF_SUBST_NCURSES_VERSION
+CF_CHECK_CACHE
+AC_ARG_WITH(system-type,
+[  --with-system-type=XXX  test: override derived host system-type],
+[AC_MSG_WARN(overriding system type to $withval)
+ cf_cv_system_name=$withval])
 
 # We need a configure script only when compiling as part of GNU C library.
 # Here we have to generate one of the files we need while compiling.
 
 # We need a configure script only when compiling as part of GNU C library.
 # Here we have to generate one of the files we need while compiling.
@@ -44,7 +60,6 @@ AC_ARG_ENABLE(add-ons, dnl
 dnl We need to use [ and ] for other purposes for a while now.
 changequote(,)dnl
 if test x"$glibc_add_on" = "xyes" ; then
 dnl We need to use [ and ] for other purposes for a while now.
 changequote(,)dnl
 if test x"$glibc_add_on" = "xyes" ; then
-if test -f $srcdir/../glibcbug.in; then
   rm -f $srcdir/Banner
   # We are in glibc.
   rm -f $srcdir/Makefile
   rm -f $srcdir/Banner
   # We are in glibc.
   rm -f $srcdir/Makefile
@@ -54,30 +69,13 @@ if test -f $srcdir/../glibcbug.in; then
                's/^[   ]*ncurses-version[      ]*=[    ]*\([^  ^ ]*\)[         ]*$/\1/'`" > $srcdir/Banner
   exit 0
 fi
                's/^[   ]*ncurses-version[      ]*=[    ]*\([^  ^ ]*\)[         ]*$/\1/'`" > $srcdir/Banner
   exit 0
 fi
-fi
 changequote([,])dnl
 
 ###    Save the given $CFLAGS to allow user-override.
 changequote([,])dnl
 
 ###    Save the given $CFLAGS to allow user-override.
-nc_user_CFLAGS="$CFLAGS"
-
-###    Derive the system name, as a check for reusing the autoconf cache
-system_name="`(uname -s -r || hostname || echo unknown) 2>/dev/null`"
-if test -n "$system_name" ; then
-       AC_DEFINE_UNQUOTED(SYSTEM_NAME,"$system_name")
-else
-       system_name="`(hostname) 2>/dev/null`"
-fi
-AC_CACHE_VAL(nc_cv_system_name,[nc_cv_system_name="$system_name"])
-test -z "$system_name" && system_name="$nc_cv_system_name"
-test -n "$nc_cv_system_name" && AC_MSG_RESULT("Configuring for $nc_cv_system_name")
-
-if test ".$system_name" != ".$nc_cv_system_name" ; then
-       AC_MSG_RESULT("Cached system name does not agree with actual")
-       AC_ERROR("Please remove config.cache and try again.")
-fi
+cf_user_CFLAGS="$CFLAGS"
 
 ###    Default install-location
 
 ###    Default install-location
-NC_CFG_DEFAULTS
+CF_CFG_DEFAULTS
 
 ###    Checks for programs.
 AC_PROG_CC
 
 ###    Checks for programs.
 AC_PROG_CC
@@ -88,21 +86,41 @@ fi
 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)
 
 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_ARG_WITH(cxx,
 AC_ARG_WITH(cxx,
-       [  --without-cxx           suppress check for C++])
-if test "X$withval" != Xno ; then
+       [  --without-cxx           suppress check for C++, don't build demo],
+       [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
 fi
 changequote(,)dnl
 AC_PROG_CXX
 fi
 changequote(,)dnl
-if test -n "$GXX" ; then case "`${CXX-g++} --version`" in 1*|2.[0-6]*) GXX=""; CXX=""; ac_cv_prog_gxx=no; nc_cxx_library=no ; echo No: templates do not work;; esac; fi
+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
 changequote([,])dnl
 changequote([,])dnl
+
+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)],
+       [cf_with_progs=$withval],
+       [cf_with_progs=yes])
+AC_MSG_RESULT($cf_with_progs)
+
+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_PROG_AWK
 AC_PROG_MAKE_SET
 AC_PROG_AWK
 AC_PROG_MAKE_SET
-NC_PROG_INSTALL
+CF_PROG_INSTALL
+AC_SYS_LONG_FILE_NAMES
 AC_PROG_LN_S
 AC_PROG_RANLIB
 AC_CHECK_PROGS(LINT, tdlint lint alint)
 AC_PROG_LN_S
 AC_PROG_RANLIB
 AC_CHECK_PROGS(LINT, tdlint lint alint)
@@ -110,16 +128,17 @@ AC_CHECK_PROGS(MAN, man man_db)
 AC_SUBST(LINT_OPTS)
 
 dnl These are standard among *NIX systems, but not when cross-compiling
 AC_SUBST(LINT_OPTS)
 
 dnl These are standard among *NIX systems, but not when cross-compiling
-NC_SUBST(loader,LD,ld)
-NC_SUBST(archiver,AR,ar)
-NC_SUBST(archiver options,AR_OPTS,rv)
+CF_SUBST(loader,LD,ld)
+CF_SUBST(archiver,AR,ar)
+CF_SUBST(archiver options,AR_OPTS,rv)
 
 
-NC_MAKEFLAGS
-NC_MAN_PAGES
+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 archive can be built without modifying the host system's configuration.
 
 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 archive can be built without modifying the host system's configuration.
+AC_MSG_CHECKING(if you have specified an install-prefix)
 AC_ARG_WITH(install-prefix,
        [  --with-install-prefix   prefixes actual install-location],
        [case "$withval" in #(vi
 AC_ARG_WITH(install-prefix,
        [  --with-install-prefix   prefixes actual install-location],
        [case "$withval" in #(vi
@@ -128,67 +147,122 @@ AC_ARG_WITH(install-prefix,
        *)      INSTALL_PREFIX="$withval"
                ;;
        esac])
        *)      INSTALL_PREFIX="$withval"
                ;;
        esac])
+AC_MSG_RESULT($INSTALL_PREFIX)
 AC_SUBST(INSTALL_PREFIX)
 
 AC_SUBST(INSTALL_PREFIX)
 
+###############################################################################
+CF_HELP_MESSAGE(Options to Specify the Libraries Built/Used:)
+
 ### Options to allow the user to specify the set of libraries which are used.
 ### Use "--without-normal --with-shared" to allow the default model to be
 ### shared, for example.
 ### Options to allow the user to specify the set of libraries which are used.
 ### Use "--without-normal --with-shared" to allow the default model to be
 ### shared, for example.
-nc_list_models=""
+cf_list_models=""
+
+AC_MSG_CHECKING(if you want to build shared libraries)
 AC_ARG_WITH(shared,
        [  --with-shared           generate shared-libraries],
 AC_ARG_WITH(shared,
        [  --with-shared           generate shared-libraries],
-       [test "$withval" = "yes" && nc_list_models="$nc_list_models shared"])
+       [with_shared=$withval],
+       [with_shared=no])
+AC_MSG_RESULT($with_shared)
+test "$with_shared" = "yes" && cf_list_models="$cf_list_models shared"
+
+AC_MSG_CHECKING(if you want to build static libraries)
 AC_ARG_WITH(normal,
        [  --with-normal           generate normal-libraries (default)],
 AC_ARG_WITH(normal,
        [  --with-normal           generate normal-libraries (default)],
-       [test "$withval" = "yes" && nc_list_models="$nc_list_models normal"],
-       [nc_list_models="$nc_list_models normal"])
+       [with_normal=$withval],
+       [with_normal=yes])
+AC_MSG_RESULT($with_normal)
+test "$with_normal" = "yes" && cf_list_models="$cf_list_models normal"
+
+AC_MSG_CHECKING(if you want to build debug libraries)
 AC_ARG_WITH(debug,
        [  --with-debug            generate debug-libraries (default)],
 AC_ARG_WITH(debug,
        [  --with-debug            generate debug-libraries (default)],
-       [test "$withval" = "yes" && nc_list_models="$nc_list_models debug"],
-       [nc_list_models="$nc_list_models debug"])
+       [with_debug=$withval],
+       [with_debug=yes])
+AC_MSG_RESULT($with_debug)
+test "$with_debug" = "yes" && cf_list_models="$cf_list_models debug"
+
+AC_MSG_CHECKING(if you want to build profiling libraries)
 AC_ARG_WITH(profile,
        [  --with-profile          generate profile-libraries],
 AC_ARG_WITH(profile,
        [  --with-profile          generate profile-libraries],
-       [test "$withval" = "yes" && nc_list_models="$nc_list_models profile"])
+       [with_profile=$withval],
+       [with_profile=no])
+AC_MSG_RESULT($with_profile)
+test "$with_profile" = "yes" && cf_list_models="$cf_list_models profile"
+
+AC_MSG_CHECKING(if you want to build a separate terminfo library)
+AC_ARG_WITH(termlib,
+       [  --with-termlib          generate separate terminfo library],
+       [with_termlib=$withval],
+       [with_termlib=no])
+AC_MSG_RESULT($with_termlib)
 
 ### Checks for special libraries, must be done up-front.
 
 ### Checks for special libraries, must be done up-front.
+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_ARG_WITH(dbmalloc,
        [  --with-dbmalloc         test: use Conor Cahill's dbmalloc library],
-       [AC_CHECK_LIB(dbmalloc,debug_malloc)])
+       [with_dbmalloc=yes],
+       [with_dbmalloc=no])
+AC_MSG_RESULT($with_dbmalloc)
+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_ARG_WITH(dmalloc,
        [  --with-dmalloc          test: use Gray Watson's dmalloc library],
-       [AC_CHECK_LIB(dmalloc,dmalloc_debug)])
+       [with_dmalloc=yes],
+       [with_dmalloc=no])
+AC_MSG_RESULT($with_dmalloc)
+if test $with_dmalloc = yes ; then
+       AC_CHECK_LIB(dmalloc,dmalloc_debug)
+fi
+
+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_ARG_WITH(gpm,
        [  --with-gpm              use Alessandro Rubini's GPM library],
-       [AC_CHECK_LIB(gpm,Gpm_Open,[
+       [with_gpm=yes],
+       [with_gpm=no])
+AC_MSG_RESULT($with_gpm)
+if test $with_gpm = yes ; then
+       AC_CHECK_LIB(gpm,Gpm_Open,[
                EXTRA_LIBS="$EXTRA_LIBS -lgpm -lncurses"
                EXTRA_LIBS="$EXTRA_LIBS -lgpm -lncurses"
+               SHLIB_LIST="$SHLIB_DEPS -lgpm "
                AC_DEFINE(HAVE_LIBGPM)
                AC_CHECK_HEADERS(gpm.h)
                AC_DEFINE(HAVE_LIBGPM)
                AC_CHECK_HEADERS(gpm.h)
-       ],,-lcurses -ltermcap)])
+       ],,-lcurses -ltermcap)
+fi
 
 AC_SUBST(EXTRA_LIBS)
 
 AC_SUBST(EXTRA_LIBS)
+AC_SUBST(SHLIB_LIST)
 
 AC_MSG_CHECKING(for specified models)
 
 AC_MSG_CHECKING(for specified models)
-test -z "$nc_list_models" && nc_list_models=normal
-AC_MSG_RESULT($nc_list_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.
 
 ### Use the first model as the default, and save its suffix for use in building
 ### up test-applications.
-DFT_LWR_MODEL=`echo $nc_list_models | $AWK '{print $1}'`
-NC_UPPERCASE($DFT_LWR_MODEL,DFT_UPR_MODEL)dnl
-NC_LIB_SUFFIX($DFT_LWR_MODEL,DFT_DEP_SUFFIX)dnl
-NC_LIB_TYPE($DFT_LWR_MODEL,DFT_ARG_SUFFIX)dnl
-NC_OBJ_SUBDIR($DFT_LWR_MODEL,DFT_OBJ_SUBDIR)dnl
+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(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(nc_list_models)dnl    the complete list of models ("normal debug")
+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
 
 LIB_NAME=ncurses
 AC_SUBST(LIB_NAME)
 
 LIB_DIR=../lib
-LIB_PREFIX=$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
 AC_SUBST(LIB_PREFIX)
 
 dnl Not all ports of gcc support the -g option
@@ -213,19 +287,29 @@ profile) LD_MODEL='-pg';;
 shared)  LD_MODEL=''   ;;
 esac
 AC_SUBST(LD_MODEL)dnl          the type of link (e.g., -g or -pg)
 shared)  LD_MODEL=''   ;;
 esac
 AC_SUBST(LD_MODEL)dnl          the type of link (e.g., -g or -pg)
-NC_SHARED_OPTS
+
+AC_MSG_CHECKING(if rpath option should be used)
+AC_ARG_ENABLE(rpath,
+[  --enable-rpath          use rpath option when generating shared libraries],
+[cf_cv_ld_rpath=$enableval],
+[cf_cv_ld_rpath=no])
+AC_MSG_RESULT($cf_cv_ld_rpath)
+
+CF_SHARED_OPTS
 
 if test "$CC_SHARED_OPTS" = "unknown"; then
 
 if test "$CC_SHARED_OPTS" = "unknown"; then
-       for model in $nc_list_models; do
+       for model in $cf_list_models; do
                if test "$model" = "shared"; then
                if test "$model" = "shared"; then
-                       echo '** Shared libraries are not supported in this version'
-                       exit 1
+                       AC_ERROR(Shared libraries are not supported in this version)
                fi
        done
 fi
 
                fi
        done
 fi
 
+###############################################################################
+CF_HELP_MESSAGE(Fine-Tuning Your Configuration:)
+
 ###    use option --disable-overwrite to leave out the link to -lcurses
 ###    use option --disable-overwrite to leave out the link to -lcurses
-AC_MSG_CHECKING(include directory)
+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
 AC_ARG_ENABLE(overwrite,
        [  --disable-overwrite     leave out the link to -lcurses],
        [with_overwrite=$enableval
@@ -234,8 +318,41 @@ AC_ARG_ENABLE(overwrite,
                includedir='$(prefix)/include/ncurses'
        ],
        [with_overwrite=yes])
                includedir='$(prefix)/include/ncurses'
        ],
        [with_overwrite=yes])
+AC_MSG_RESULT($with_overwrite)
+AC_MSG_CHECKING(where we will install curses.h)
 AC_MSG_RESULT($includedir)
 
 AC_MSG_RESULT($includedir)
 
+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)
+
+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)
+
+AC_MSG_CHECKING(for list of fallback descriptions)
+AC_ARG_WITH(fallbacks,
+       [  --with-fallbacks=XXX    specify list of fallback terminal descriptions],
+       [with_fallback=$withval],
+       [with_fallback=])
+AC_MSG_RESULT($with_fallback)
+FALLBACK_LIST=`echo $with_fallback|sed -e 's/,/ /'`
+AC_SUBST(FALLBACK_LIST)
+
+if test $with_database = no ; then
+       if test -z $with_fallback ; then
+               AC_ERROR(You have disabled the database w/o specifying fallbacks)
+       fi
+fi
+
 ###    use option --enable-big-core to make tic run faster on big machines
 AC_MSG_CHECKING(if big-core option selected)
 AC_ARG_ENABLE(big-core,
 ###    use option --enable-big-core to make tic run faster on big machines
 AC_MSG_CHECKING(if big-core option selected)
 AC_ARG_ENABLE(big-core,
@@ -246,7 +363,7 @@ AC_MSG_RESULT($with_big_core)
 test "$with_big_core" = "yes" && AC_DEFINE(HAVE_BIG_CORE)
 
 ###    use option --enable-termcap to compile in the termcap fallback support
 test "$with_big_core" = "yes" && AC_DEFINE(HAVE_BIG_CORE)
 
 ###    use option --enable-termcap to compile in the termcap fallback support
-AC_MSG_CHECKING(if termcap-fallback support is needed)
+AC_MSG_CHECKING(if you want termcap-fallback support)
 AC_ARG_ENABLE(termcap,
        [  --enable-termcap        compile in termcap fallback support],
        [with_termcap=$enableval],
 AC_ARG_ENABLE(termcap,
        [  --enable-termcap        compile in termcap fallback support],
        [with_termcap=$enableval],
@@ -276,13 +393,46 @@ test "$with_getcap_cache" = "yes" && AC_DEFINE(USE_GETCAP_CACHE)
 
 fi
 
 
 fi
 
-###   use option --enable-symlinks to make tic use symlinks, not hard links
-AC_MSG_CHECKING(if tic should use symbolic links)
-AC_ARG_ENABLE(symlinks,
+###   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 )
+
+with_links=no
+with_symlinks=no
+
+if test "$ac_cv_func_link" != yes ; then
+    AC_MSG_CHECKING(if tic should use symbolic links)
+    if test "$ac_cv_func_symlink" = yes ; then
+       with_symlinks=yes
+    else
+       with_symlinks=no
+    fi
+    AC_MSG_RESULT($with_symlinks)
+elif test "$ac_cv_func_symlink" != yes ; then
+    AC_MSG_CHECKING(if tic should use hard links)
+    if test "$ac_cv_func_link" = yes ; then
+       with_links=yes
+    else
+       with_links=no
+    fi
+    AC_MSG_RESULT($with_links)
+else
+    AC_MSG_CHECKING(if tic should use symbolic links)
+    AC_ARG_ENABLE(symlinks,
        [  --enable-symlinks       make tic use symbolic links not hard links],
        [with_symlinks=$enableval],
        [with_symlinks=no])
        [  --enable-symlinks       make tic use symbolic links not hard links],
        [with_symlinks=$enableval],
        [with_symlinks=no])
-AC_MSG_RESULT($with_symlinks)
+    AC_MSG_RESULT($with_symlinks)
+fi
+
+test "$with_links" = yes && AC_DEFINE(USE_LINKS)
 test "$with_symlinks" = yes && AC_DEFINE(USE_SYMLINKS)
 
 ###   use option --enable-bsdpad to have tputs process BSD-style prefix padding
 test "$with_symlinks" = yes && AC_DEFINE(USE_SYMLINKS)
 
 ###   use option --enable-bsdpad to have tputs process BSD-style prefix padding
@@ -306,15 +456,89 @@ test "$with_ext_const" = yes && AC_DEFINE(NCURSES_CONST,const)
 ### Enable compiling-in rcs id's
 AC_MSG_CHECKING(if RCS identifiers should be compiled-in)
 AC_ARG_WITH(rcs-ids,
 ### Enable compiling-in rcs id's
 AC_MSG_CHECKING(if RCS identifiers should be compiled-in)
 AC_ARG_WITH(rcs-ids,
-       [  --with-rcs-ids          build: compile-in RCS identifiers],
+       [  --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)
 
        [with_rcs_ids=$enableval],
        [with_rcs_ids=no])
 AC_MSG_RESULT($with_rcs_ids)
 test "$with_rcs_ids" = yes && AC_DEFINE(USE_RCS_IDS)
 
+###############################################################################
+CF_HELP_MESSAGE(Experimental Code:)
+AC_MSG_CHECKING(if you want all experimental code)
+AC_ARG_WITH(develop,
+       [  --with-develop          enable all experimental options for testing],
+       [with_develop=$withval],
+       [with_develop=no])
+AC_MSG_RESULT($with_develop)
+
+###   use option --enable-hard-tabs to turn on use of hard-tabs optimize
+AC_MSG_CHECKING(if you want experimental hard-tabs code)
+AC_ARG_ENABLE(hard-tabs,
+       [  --enable-hard-tabs      compile with experimental hard-tabs code],
+       [with_hardtabs=$enableval],
+       [with_hardtabs=$with_develop])
+AC_MSG_RESULT($with_hardtabs)
+test "$with_hardtabs" = yes && AC_DEFINE(USE_HARD_TABS)
+
+###   use option --enable-hashmap to turn on use of hashmap scrolling logic
+AC_MSG_CHECKING(if you want experimental hashmap code)
+AC_ARG_ENABLE(hashmap,
+       [  --enable-hashmap        compile with experimental hashmap code],
+       [with_hashmap=$enableval],
+       [with_hashmap=$with_develop])
+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],
+       [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
+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],
+       [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)
+
+###   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],
+       [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)
+
+###############################################################################
+CF_HELP_MESSAGE(Testing/development Options:)
+
 ###    use option --disable-echo to suppress full display compiling commands
 AC_ARG_ENABLE(echo,
 ###    use option --disable-echo to suppress full display compiling commands
 AC_ARG_ENABLE(echo,
-       [  --enable-echo           build: display \"compiling\" commands (default)],
+       [  --enable-echo           build: display "compiling" commands (default)],
        [with_echo=$enableval],
        [with_echo=yes])
 if test "$with_echo" = yes; then
        [with_echo=$enableval],
        [with_echo=yes])
 if test "$with_echo" = yes; then
@@ -330,18 +554,20 @@ AC_ARG_ENABLE(warnings,
        [with_warnings=$enableval])
 if test -n "$with_warnings"; then
        ADAFLAGS="$ADAFLAGS -gnatg"
        [with_warnings=$enableval])
 if test -n "$with_warnings"; then
        ADAFLAGS="$ADAFLAGS -gnatg"
-       NC_GCC_WARNINGS
+       CF_GCC_WARNINGS
 fi
 fi
-NC_GCC_ATTRIBUTES
+CF_GCC_ATTRIBUTES
 
 ###    use option --enable-assertions to turn on generation of assertion code
 AC_ARG_ENABLE(assertions,
        [  --enable-assertions     test: turn on generation of assertion code],
 
 ###    use option --enable-assertions to turn on generation of assertion code
 AC_ARG_ENABLE(assertions,
        [  --enable-assertions     test: turn on generation of assertion code],
-       [with_assertions=$enableval])
+       [with_assertions=$enableval],
+       [with_assertions=no])
 if test -n "$GCC"
 then
 if test -n "$GCC"
 then
-       if test -z "$with_assertions"
+       if test $with_assertions = no
        then
        then
+               AC_DEFINE(NDEBUG)
                CPPFLAGS="$CPPFLAGS -DNDEBUG"
        else
                ADAFLAGS="$ADAFLAGS -gnata"
                CPPFLAGS="$CPPFLAGS -DNDEBUG"
        else
                ADAFLAGS="$ADAFLAGS -gnata"
@@ -367,14 +593,20 @@ AC_ARG_ENABLE(macros,
 ###    Checks for libraries.
 AC_CHECK_FUNC(gettimeofday,
        AC_DEFINE(HAVE_GETTIMEOFDAY),[
 ###    Checks for libraries.
 AC_CHECK_FUNC(gettimeofday,
        AC_DEFINE(HAVE_GETTIMEOFDAY),[
+
 AC_CHECK_LIB(bsd, gettimeofday,
        AC_DEFINE(HAVE_GETTIMEOFDAY)
        LIBS="$LIBS -lbsd")])dnl CLIX: bzero, select, gettimeofday
 
 AC_CHECK_LIB(bsd, 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"]))
+AC_SUBST(MATH_LIB)
+
 ###    Checks for header files.
 AC_STDC_HEADERS
 AC_HEADER_DIRENT
 ###    Checks for header files.
 AC_STDC_HEADERS
 AC_HEADER_DIRENT
-NC_REGEX
+CF_REGEX
 
 dnl These are some other potentially nonportable headers.
 AC_CHECK_HEADERS( \
 
 dnl These are some other potentially nonportable headers.
 AC_CHECK_HEADERS( \
@@ -398,20 +630,31 @@ unistd.h \
 values.h \
 )
 
 values.h \
 )
 
-# check for HPUX's ANSI compiler
-if test $nc_cv_systype = HP_UX; then
-if test -z "$GCC"; then
+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])
        AC_MSG_CHECKING([for HP/UX ANSI compiler])
-       nc_save_CFLAGS="$CFLAGS"
+       cf_save_CFLAGS="$CFLAGS"
        CFLAGS="$CFLAGS -Aa"
        CFLAGS="$CFLAGS -Aa"
-       AC_TRY_COMPILE([],[void (*f)(void)=0],[nc_hpux_cc=yes],[nc_hpux_cc=no])
-       AC_MSG_RESULT($nc_hpux_cc)
-       if test $nc_hpux_cc = yes; then
+       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
                AC_DEFINE(_HPUX_SOURCE)
        else
-               CFLAGS="$nc_save_CFLAGS"
+               CFLAGS="$cf_save_CFLAGS"
        fi
        fi
-fi;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
 
 # check for ISC (this may also define _POSIX_SOURCE)
 # Note: even non-Posix ISC needs <sys/bsdtypes.h> to declare fd_set
@@ -421,15 +664,7 @@ if test "$ISC" = yes ; then
        AC_CHECK_HEADERS( sys/termio.h )
 fi
 
        AC_CHECK_HEADERS( sys/termio.h )
 fi
 
-# check for SCO.  this is a hack, and should be split into individual
-# features -- the sys/time.h and select.h conflict, and the need for
-# ptem.h due to winsize struct.
-AC_CHECKING([for SCO by checking on /usr/bin/scosh])
-AC_PROGRAM_CHECK(COULD_BE_SCO, [scosh], maybe, maybenot)
-if test "$COULD_BE_SCO" = "maybe"
-then
-       AC_DEFINE(SYSTEM_LOOKS_LIKE_SCO)
-fi
+CF_SYS_TIME_SELECT
 
 ###    checks for compiler characteristics
 AC_LANG_C
 
 ###    checks for compiler characteristics
 AC_LANG_C
@@ -437,17 +672,21 @@ AC_C_CONST
 AC_C_INLINE
 test $ac_cv_c_inline != no && AC_DEFINE(CC_HAS_INLINE_FUNCS)
 
 AC_C_INLINE
 test $ac_cv_c_inline != no && AC_DEFINE(CC_HAS_INLINE_FUNCS)
 
+CF_TYPEOF_CHTYPE
+CF_WIDEC_SHIFT
+
 ###    Checks for external-data
 ###    Checks for external-data
-NC_ERRNO
-NC_SYS_ERRLIST
-NC_LINK_DATAONLY
-NC_SPEED_TYPE
+CF_ERRNO
+CF_LINK_DATAONLY
+CF_SPEED_TYPE
 
 ###    Checks for library functions.
 AC_CHECK_FUNCS( \
 getttynam \
 memccpy \
 
 ###    Checks for library functions.
 AC_CHECK_FUNCS( \
 getttynam \
 memccpy \
+nanosleep \
 poll \
 poll \
+remove \
 select \
 setbuf \
 setbuffer \
 select \
 setbuf \
 setbuffer \
@@ -459,39 +698,17 @@ tcgetattr \
 times \
 usleep \
 vfscanf \
 times \
 usleep \
 vfscanf \
+vsnprintf \
 vsscanf \
 )
 
 vsscanf \
 )
 
-if test $ac_cv_func_sigaction = yes; then
-AC_MSG_CHECKING(whether sigaction needs _POSIX_SOURCE)
-AC_TRY_COMPILE([#include <sys/types.h>
-#include <signal.h>], [struct sigaction act;],
-  sigact_bad=no, sigact_bad=yes AC_DEFINE(SVR4_ACTION))
-AC_MSG_RESULT($sigact_bad)
+if test "$with_getcap" = "yes" ; then
+       CF_CGETENT
 fi
 
 fi
 
-# some machines require _POSIX_SOURCE to completely define struct termios
-if test $ac_cv_header_termios_h = yes ; then
-       case "$CFLAGS" in
-       *-D_POSIX_SOURCE*)
-               termios_bad=dunno ;;
-       *)      termios_bad=maybe ;;
-       esac
-       if test $termios_bad = maybe ; then
-       AC_MSG_CHECKING(whether termios.h needs _POSIX_SOURCE)
-       AC_TRY_COMPILE([#include <termios.h>],
-               [struct termios foo; int x = foo.c_iflag],
-               termios_bad=no, [
-               AC_TRY_COMPILE([
-#define _POSIX_SOURCE
-#include <termios.h>],
-                       [struct termios foo; int x = foo.c_iflag],
-                       termios_bad=unknown,
-                       termios_bad=yes AC_DEFINE(SVR4_TERMIO))
-                       ])
-       AC_MSG_RESULT($termios_bad)
-       fi
-fi
+CF_ISASCII
+CF_STRUCT_SIGACTION
+CF_STRUCT_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
@@ -500,20 +717,20 @@ else
        AC_FUNC_SETVBUF_REVERSED
 fi
 AC_TYPE_SIGNAL
        AC_FUNC_SETVBUF_REVERSED
 fi
 AC_TYPE_SIGNAL
-NC_TYPE_SIGACTION
-NC_TIOCGWINSZ
+CF_TYPE_SIGACTION
+CF_SIZECHANGE
 
 dnl FIXME checks we don't do (but neither does the old Configure script):
 
 dnl FIXME checks we don't do (but neither does the old Configure script):
-case "$nc_cv_systype" in
-Linux)
+case "$cf_cv_system_name" in
+linux*)
        AC_DEFINE(GOOD_SELECT)
        ;;
 esac
 
 dnl We'll do our own -g libraries, unless the user's overridden via $CFLAGS
        AC_DEFINE(GOOD_SELECT)
        ;;
 esac
 
 dnl We'll do our own -g libraries, unless the user's overridden via $CFLAGS
-if test -z "$nc_user_CFLAGS" ; then
-       NC_STRIP_G_OPT(CFLAGS)
-       NC_STRIP_G_OPT(CXXFLAGS)
+if test -z "$cf_user_CFLAGS" ; then
+       CF_STRIP_G_OPT(CFLAGS)
+       CF_STRIP_G_OPT(CXXFLAGS)
 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!)
@@ -524,25 +741,27 @@ else
 fi
 if test "$ac_cv_prog_CXX_EXISTS" = yes; then
        AC_LANG_CPLUSPLUS
 fi
 if test "$ac_cv_prog_CXX_EXISTS" = yes; then
        AC_LANG_CPLUSPLUS
-       NC_CXX_LIBRARY
+       CF_CXX_LIBRARY
        AC_CHECK_HEADERS(builtin.h typeinfo)
        AC_CHECK_HEADERS(builtin.h typeinfo)
-       NC_BOOL_DECL
-       NC_BOOL_SIZE
+       CF_BOOL_DECL
+       CF_BOOL_SIZE
 else
 else
-       nc_cxx_library=no
-       AC_CACHE_VAL(nc_cv_builtin_bool,[nc_cv_builtin_bool=0])
-       AC_CACHE_VAL(nc_cv_sizeof_bool,[nc_cv_sizeof_bool=int])
+       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])
 fi
 AC_SUBST(CXXLIBS)
 
 fi
 AC_SUBST(CXXLIBS)
 
+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.
-nc_ada_make=gnatmake
-AC_CHECK_PROG(gnat_exists, $nc_ada_make, yes, no)
+cf_ada_make=gnatmake
+AC_CHECK_PROG(gnat_exists, $cf_ada_make, yes, no)
 if test "$ac_cv_prog_gnat_exists" = no; then
 if test "$ac_cv_prog_gnat_exists" = no; then
-   nc_ada_make=
+   cf_ada_make=
 else
 else
-   NC_GNAT_VERSION
+   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
       ac_cv_prog_gnat_correct=no
@@ -550,12 +769,30 @@ else
    fi
 fi
 if test        "$ac_cv_prog_gnat_correct" = yes; then
    fi
 fi
 if test        "$ac_cv_prog_gnat_correct" = yes; then
-   nc_ada_compiler=gcc
-   nc_ada_package=terminal_interface
-   AC_SUBST(nc_ada_make)
-   AC_SUBST(nc_ada_compiler)
-   AC_SUBST(nc_ada_package)
+   ADAFLAGS="-O3 $ADAFLAGS"
+   cf_ada_compiler=gcc
+   cf_ada_package=terminal_interface
+
+   AC_SUBST(cf_ada_make)
+   AC_SUBST(cf_ada_compiler)
+   AC_SUBST(cf_ada_package)
    AC_SUBST(ADAFLAGS)
    AC_SUBST(ADAFLAGS)
+   AC_SUBST(cf_compile_generics)
+
+   CF_WITH_PATH(ada-include,
+       [  --with-ada-include=DIR  Ada includes are in DIR],
+       ADA_INCLUDE,
+       EPREFIX/ada_include,
+       [$]exec_prefix/ada_include)
+   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)
+   AC_SUBST(ADA_OBJECTS)
+
 fi
 
 ### It's not possible to appease gcc 2.6.3's conversion-warnings if we're
 fi
 
 ### It's not possible to appease gcc 2.6.3's conversion-warnings if we're
@@ -565,94 +802,81 @@ if test -n "$with_warnings"; then
        if test -n "$GCC"; then
                case "`$CC --version`" in
                2.6.3)
        if test -n "$GCC"; then
                case "`$CC --version`" in
                2.6.3)
-                       if test "$nc_cv_sizeof_bool" != "char"; then
-                               nc_warn_CFLAGS="$nc_warn_CFLAGS -Wconversion"
+                       if test "$cf_cv_sizeof_bool" != "char"; then
+                               EXTRA_CFLAGS="$EXTRA_CFLAGS -Wconversion"
                        fi
                        ;;
                2.5*)
                        fi
                        ;;
                2.5*)
-                       nc_warn_CFLAGS="$nc_warn_CFLAGS -Wconversion"
+                       EXTRA_CFLAGS="$EXTRA_CFLAGS -Wconversion"
                        ;;
                esac
        fi
 fi
 
                        ;;
                esac
        fi
 fi
 
+### Construct the library-subsets, if any, from this set of keywords:
+### none, base, ext_funcs, termlib.
+AC_MSG_CHECKING(for library subsets)
+if test "$with_termlib" = yes ; then
+       LIB_SUBSETS="termlib "
+else
+       LIB_SUBSETS="termlib+"
+fi
+LIB_SUBSETS="${LIB_SUBSETS}base"
+test "$with_ext_funcs" = yes && LIB_SUBSETS="${LIB_SUBSETS}+ext_funcs"
+AC_MSG_RESULT($LIB_SUBSETS)
+
 ### Construct the list of include-directories to be generated
 ### Construct the list of include-directories to be generated
-NC_INCLUDE_DIRS
-NC_ADA_INCLUDE_DIRS
+CF_INCLUDE_DIRS
+CF_ADA_INCLUDE_DIRS
+
+### 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}"
+fi
+PROG_DEPS="$TEST_DEPS"
+PROG_ARGS="$TEST_ARGS"
 
 ### Construct the list of subdirectories for which we'll customize makefiles
 ### with the appropriate compile-rules.
 
 ### Construct the list of subdirectories for which we'll customize makefiles
 ### with the appropriate compile-rules.
-NC_SRC_MODULES(ncurses progs panel menu form)
-NC_DIRS_TO_MAKE
+
+CF_SRC_MODULES($modules_to_build)
+CF_DIRS_TO_MAKE
 
 ### Now that we're done running tests, add the compiler-warnings, if any
 
 ### Now that we're done running tests, add the compiler-warnings, if any
-CFLAGS="$CFLAGS $nc_warn_CFLAGS"
+CFLAGS="$CFLAGS $EXTRA_CFLAGS"
 
 ################################################################################
 
 ################################################################################
-changequote({,})dnl
-AC_OUTPUT(include/config_h \
+AC_OUTPUT( \
        include/MKterm.h.awk \
        include/curses.h \
        include/termcap.h \
        include/unctrl.h \
        $SUB_MAKEFILES \
        include/MKterm.h.awk \
        include/curses.h \
        include/termcap.h \
        include/unctrl.h \
        $SUB_MAKEFILES \
-       Makefile,{
-
-NC_LIB_RULES
-
-### Special editing.  We generate ncurses_cfg.h directly to allow all filenames
-### to be MSDOS-compatible, as well as to make the list of definitions be
-### dynamically determined by the configuration script -- a consideration when
-### doing type-clean development testing.
-
-echo creating include/ncurses_cfg.h
-rm -f include/ncurses_cfg.h
-echo "/* generated by configure-script
- * On host: $SYS_NAME
- */
-#ifndef NC_CONFIG_H
-#define NC_CONFIG_H" >include/ncurses_cfg.h
-sed    -e '/^ -D/!d' \
-       -e 's/ -D/\
-#define /g' \
-       -e 's/\(#define [A-Za-z_][A-Za-z0-9_]*\)=/\1    /g' \
-       -e 's/\\//g' \
-       include/config_h | sort >>include/ncurses_cfg.h
-echo "
-       /* The C compiler may not treat these properly, but C++ has to */
-#ifdef __cplusplus
-#undef const
-#undef inline
-#else
-#if defined(lint) || defined(TRACE)
-#undef inline
-#define inline /* nothing */
-#endif
-#endif
-
-#endif /* NC_CONFIG_H */" >> include/ncurses_cfg.h
-echo removing include/config_h
-rm include/config_h
-},{
+       Makefile,[
+CF_LIB_RULES
+],[
 ### Special initialization commands, used to pass information from the
 ### configuration-run into config.status
 
 ### Special initialization commands, used to pass information from the
 ### configuration-run into config.status
 
-SYS_NAME="`(uname -a || hostname) 2>/dev/null | sed 1q`"
-if test -z "\$SYS_NAME"; then SYS_NAME=unknown;fi
-
-AWK=$AWK
+AWK="$AWK"
+CF_LIST_MODELS="$cf_list_models"
 DFT_LWR_MODEL="$DFT_LWR_MODEL"
 DFT_LWR_MODEL="$DFT_LWR_MODEL"
-NC_LIST_MODELS="$nc_list_models"
+LDCONFIG="$LDCONFIG"
+LIB_NAME="$LIB_NAME"
+LIB_SUBSETS="$LIB_SUBSETS"
+SRC_SUBDIRS="$SRC_SUBDIRS"
+TINFO_NAME="$TINFO_NAME"
 WITH_ECHO="$with_echo"
 WITH_OVERWRITE="$with_overwrite"
 WITH_ECHO="$with_echo"
 WITH_OVERWRITE="$with_overwrite"
-SRC_SUBDIRS="$SRC_SUBDIRS"
-nc_cxx_library="$nc_cxx_library"
-nc_cv_systype="$nc_cv_systype"
-nc_cv_rel_version="$nc_cv_rel_version"
-nc_cv_abi_version="$nc_cv_abi_version"
-nc_cv_do_symlinks="$nc_cv_do_symlinks"
-nc_cv_rm_so_locs="$nc_cv_rm_so_locs"
-
-})dnl
-changequote([,])dnl
-make preinstall
+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"
+target="$target"
+
+],sort)dnl
+${MAKE-make} preinstall