]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - configure.in
ncurses 6.4 - patch 20240420
[ncurses.git] / configure.in
index c1089333ec61fe785548e52bc99ce906d985c373..2d6836cb7190eb2ceff01bc788aeb8cfe2ca9db3 100644 (file)
@@ -1,5 +1,6 @@
 dnl***************************************************************************
 dnl***************************************************************************
-dnl Copyright (c) 1998-2012,2013 Free Software Foundation, Inc.              *
+dnl Copyright 2018-2023,2024 Thomas E. Dickey                                *
+dnl Copyright 1998-2017,2018 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,22 +29,27 @@ dnl***************************************************************************
 dnl
 dnl Author: Thomas E. Dickey 1995-on
 dnl
 dnl
 dnl Author: Thomas E. Dickey 1995-on
 dnl
-dnl $Id: configure.in,v 1.572 2013/07/27 22:19:11 tom Exp $
+dnl $Id: configure.in,v 1.779 2024/04/10 08:04:00 tom Exp $
 dnl Process this file with autoconf to produce a configure script.
 dnl
 dnl Process this file with autoconf to produce a configure script.
 dnl
-dnl See http://invisible-island.net/autoconf/ for additional information.
+dnl For additional information, see
+dnl     https://invisible-island.net/autoconf/
+dnl     https://invisible-island.net/autoconf/my-autoconf.html
 dnl
 dnl ---------------------------------------------------------------------------
 dnl
 dnl ---------------------------------------------------------------------------
-AC_PREREQ(2.52.20030208)
-AC_REVISION($Revision: 1.572 $)
+AC_PREREQ(2.52.20210101)
+AC_REVISION($Revision: 1.779 $)
 AC_INIT(ncurses/base/lib_initscr.c)
 AC_CONFIG_HEADER(include/ncurses_cfg.h:include/ncurses_cfg.hin)
 
 AC_INIT(ncurses/base/lib_initscr.c)
 AC_CONFIG_HEADER(include/ncurses_cfg.h:include/ncurses_cfg.hin)
 
+AC_DEFUN([AC_PATH_XTRA],[])dnl ignore dependencies on this
+
 CF_TOP_BUILDDIR
 CF_SUBST_NCURSES_VERSION
 CF_TOP_BUILDDIR
 CF_SUBST_NCURSES_VERSION
+CF_VERSION_INFO(NCURSES,ncurses)
 
 CF_WITH_REL_VERSION(NCURSES)
 
 CF_WITH_REL_VERSION(NCURSES)
-CF_WITH_ABI_VERSION
+CF_NCURSES_WITH_ABI_VERSION
 
 CF_WITH_SYSTYPE
 
 
 CF_WITH_SYSTYPE
 
@@ -52,24 +58,29 @@ cf_user_CFLAGS="$CFLAGS"
 
 ###    Default install-location
 CF_CFG_DEFAULTS
 
 ###    Default install-location
 CF_CFG_DEFAULTS
+### Defaults for ncurses ABI
+CF_ABI_DEFAULTS
+
+### override ABI version, e.g., packagers
+CF_WITH_ABI_ALTERED
 
 ###    Checks for programs.
 AC_ARG_WITH(ada,
 
 ###    Checks for programs.
 AC_ARG_WITH(ada,
-       [  --without-ada           suppress check for Ada95, don't build demo],
+       [  --without-ada           suppress check for Ada compiler, don't build demo],
        [cf_with_ada=$withval],
        [cf_with_ada=yes])
        [cf_with_ada=$withval],
        [cf_with_ada=yes])
+
 if test "x$cf_with_ada" = xyes
 then
 if test "x$cf_with_ada" = xyes
 then
-       cf_PROG_CC="gnatgcc gcc cc"
+       cf_prog_cc="gnatgcc gcc cc"
 else
 else
-       cf_PROG_CC="gcc cc"
+       cf_prog_cc="gcc cc"
 fi
 fi
-
-CF_PROG_CC($cf_PROG_CC)
+CF_PROG_CC($cf_prog_cc)
 
 AC_PROG_CPP
 AC_PROG_GCC_TRADITIONAL
 
 AC_PROG_CPP
 AC_PROG_GCC_TRADITIONAL
-CF_PROG_CC_C_O(CC)
+CF_PROG_CC_C_O(CC,[$CFLAGS $CPPFLAGS])
 CF_PROG_LDCONFIG
 
 dnl DEFECT in autoconf 2.12:   an attempt to set policy, this breaks the
 CF_PROG_LDCONFIG
 
 dnl DEFECT in autoconf 2.12:   an attempt to set policy, this breaks the
@@ -92,12 +103,43 @@ else
                cf_with_cxx=no; CXX=""; GXX="";])dnl
        AC_PROG_CXX
        popdef([AC_MSG_ERROR])dnl
                cf_with_cxx=no; CXX=""; GXX="";])dnl
        AC_PROG_CXX
        popdef([AC_MSG_ERROR])dnl
+
+       AC_LANG_PUSH(C++)
+       if test "x$cf_with_cxx" != xno
+       then
+               # Several of the C++ configurations do not work, particularly when
+               # cross-compiling (20140913 -TD)
+               AC_MSG_CHECKING(if $CXX works)
+
+               save_CPPFLAGS="$CPPFLAGS"
+               eval cf_includedir=${includedir}
+               CPPFLAGS="$CPPFLAGS -I${cf_includedir}"
+               AC_TRY_COMPILE([
+#include <stdlib.h>
+#include <stdio.h>
+],
+               [
+               printf("Hello world!\n")
+               ],
+               [cf_cxx_works=yes],
+               [cf_cxx_works=no])
+               CPPFLAGS="$save_CPPFLAGS"
+
+               AC_MSG_RESULT($cf_cxx_works)
+               if test "x$cf_cxx_works" = xno
+               then
+                       AC_MSG_WARN([Ignore $CXX, since it cannot compile hello-world.])
+                       cf_with_cxx=no; CXX=""; GXX="";
+               fi
+       fi
+       AC_LANG_POP
+
        # autoconf 2.5x removed the error (hardcoding it to g++, or just blank)
        if test "$CXX" = "g++" ; then
                AC_PATH_PROG(CXX,g++)
        fi
        # autoconf 2.5x removed the error (hardcoding it to g++, or just blank)
        if test "$CXX" = "g++" ; then
                AC_PATH_PROG(CXX,g++)
        fi
-       case "x$CXX" in #(vi
-       x|xg++)
+       case "x$CXX" in
+       (x|xg++)
                AC_MSG_WARN([You don't have any C++ compiler, too bad])
                cf_with_cxx=no; CXX=""; GXX="";
                ;;
                AC_MSG_WARN([You don't have any C++ compiler, too bad])
                cf_with_cxx=no; CXX=""; GXX="";
                ;;
@@ -105,10 +147,10 @@ else
 fi
 
 CF_GXX_VERSION
 fi
 
 CF_GXX_VERSION
-case $GXX_VERSION in
-1*|2.[[0-6]]*)
-       # GXX=""; CXX=""; ac_cv_prog_gxx=no
-       # cf_cxx_library=no
+case "$GXX_VERSION" in
+([[1-9]][[0-9]].*)
+       ;;
+(1.*|2.[[0-6]]*)
        AC_MSG_WARN(templates do not work)
        ;;
 esac
        AC_MSG_WARN(templates do not work)
        ;;
 esac
@@ -120,9 +162,16 @@ AC_ARG_WITH(cxx-binding,
        [cf_with_cxx_binding=$cf_with_cxx])
 AC_MSG_RESULT($cf_with_cxx_binding)
 
        [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_MSG_CHECKING(if you want to build with Ada)
 AC_MSG_RESULT($cf_with_ada)
 
 AC_MSG_RESULT($cf_with_ada)
 
+AC_MSG_CHECKING(if you want to install terminal database)
+AC_ARG_ENABLE(db-install,
+       [  --disable-db-install    suppress install of terminal database],
+       [cf_with_db_install=$enableval],
+       [cf_with_db_install=yes])
+AC_MSG_RESULT($cf_with_db_install)
+
 AC_MSG_CHECKING(if you want to install manpages)
 AC_ARG_WITH(manpages,
        [  --without-manpages      suppress install of manpages],
 AC_MSG_CHECKING(if you want to install manpages)
 AC_ARG_WITH(manpages,
        [  --without-manpages      suppress install of manpages],
@@ -132,14 +181,14 @@ AC_MSG_RESULT($cf_with_manpages)
 
 AC_MSG_CHECKING(if you want to build programs such as tic)
 AC_ARG_WITH(progs,
 
 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)],
+       [  --without-progs         suppress build/install with programs (e.g., tic)],
        [cf_with_progs=$withval],
        [cf_with_progs=yes])
 AC_MSG_RESULT($cf_with_progs)
 
 AC_MSG_CHECKING(if you want to build test-programs)
 AC_ARG_WITH(tests,
        [cf_with_progs=$withval],
        [cf_with_progs=yes])
 AC_MSG_RESULT($cf_with_progs)
 
 AC_MSG_CHECKING(if you want to build test-programs)
 AC_ARG_WITH(tests,
-       [  --without-tests         suppress build with test-programs],
+       [  --without-tests         suppress build/install with test-programs],
        [cf_with_tests=$withval],
        [cf_with_tests=yes])
 AC_MSG_RESULT($cf_with_tests)
        [cf_with_tests=$withval],
        [cf_with_tests=yes])
 AC_MSG_RESULT($cf_with_tests)
@@ -152,25 +201,53 @@ AC_ARG_WITH(curses-h,
 AC_MSG_RESULT($with_curses_h)
 
 modules_to_build="ncurses"
 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
+test "X$cf_with_progs" != Xno && modules_to_build="$modules_to_build progs"
 modules_to_build="$modules_to_build panel menu form"
 
 AC_ARG_PROGRAM
 
 CF_PROG_AWK
 modules_to_build="$modules_to_build panel menu form"
 
 AC_ARG_PROGRAM
 
 CF_PROG_AWK
-CF_PROG_EGREP
 CF_PROG_INSTALL
 CF_PROG_LINT
 CF_PROG_LN_S
 
 AC_SYS_LONG_FILE_NAMES
 
 CF_PROG_INSTALL
 CF_PROG_LINT
 CF_PROG_LN_S
 
 AC_SYS_LONG_FILE_NAMES
 
-# if we find pkg-config, check if we should install the ".pc" files.
+# Provide for renaming "ncurses5-config" to "ncurses5X-config", etc., in case
+# of package conflict.
+cf_config_suffix=
+AC_ARG_WITH(config-suffix,
+       [  --with-config-suffix=X  name ncurses*X-config file with X],
+       [case "x$withval" in
+       (xyes|xno)
+               AC_MSG_WARN(expected a value for config-suffix option)
+               ;;
+       (*)     cf_config_suffix="$withval"
+               ;;
+       esac])
+AC_SUBST(cf_config_suffix)
+
+# If we find pkg-config, check if we should install the ".pc" files.
 CF_PKG_CONFIG
 CF_WITH_PKG_CONFIG_LIBDIR
 CF_ENABLE_PC_FILES
 CF_PKG_CONFIG
 CF_WITH_PKG_CONFIG_LIBDIR
 CF_ENABLE_PC_FILES
+if test -z "$MAKE_PC_FILES"
+then
+       AC_MSG_CHECKING(for suffix to add to pkg-config files)
+AC_ARG_WITH(pc-suffix,
+       [[  --with-pc-suffix[=XXX]  suffix pkg-config files with XXX]],
+       [case "x$withval" in
+       (xyes|xno)
+               PC_MODULE_SUFFIX=
+               ;;
+       (*)     PC_MODULE_SUFFIX="$withval"
+               ;;
+       esac])
+       test -z "$PC_MODULE_SUFFIX" && PC_MODULE_SUFFIX=none
+       AC_MSG_RESULT($PC_MODULE_SUFFIX)
+       test "$PC_MODULE_SUFFIX" = none && PC_MODULE_SUFFIX=
+       AC_SUBST(PC_MODULE_SUFFIX)
+fi
 
 AC_MSG_CHECKING(if we should assume mixed-case filenames)
 AC_ARG_ENABLE(mixed-case,
 
 AC_MSG_CHECKING(if we should assume mixed-case filenames)
 AC_ARG_ENABLE(mixed-case,
@@ -179,16 +256,17 @@ AC_ARG_ENABLE(mixed-case,
        [enable_mixedcase=auto])
 AC_MSG_RESULT($enable_mixedcase)
 if test "$enable_mixedcase" = "auto" ; then
        [enable_mixedcase=auto])
 AC_MSG_RESULT($enable_mixedcase)
 if test "$enable_mixedcase" = "auto" ; then
-    CF_MIXEDCASE_FILENAMES
+       CF_MIXEDCASE_FILENAMES
 else
 else
-    cf_cv_mixedcase=$enable_mixedcase
-    if test "x$enable_mixedcase" = "xyes" ; then
-        AC_DEFINE(MIXEDCASE_FILENAMES,1,[Define to 1 if tic should assume mixed-case filenames])
-    fi
+       cf_cv_mixedcase=$enable_mixedcase
+       if test "x$enable_mixedcase" = "xyes" ; then
+               AC_DEFINE(MIXEDCASE_FILENAMES,1,[Define to 1 if tic should assume mixed-case filenames])
+       fi
 fi
 
 # do this after mixed-case option (tags/TAGS is not as important as tic).
 AC_PROG_MAKE_SET
 fi
 
 # do this after mixed-case option (tags/TAGS is not as important as tic).
 AC_PROG_MAKE_SET
+CF_MAKE_PHONY
 CF_MAKE_TAGS
 CF_MAKEFLAGS
 
 CF_MAKE_TAGS
 CF_MAKEFLAGS
 
@@ -202,16 +280,16 @@ CF_AR_FLAGS
 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_MSG_CHECKING(for an installation directory prefix)
 AC_ARG_WITH(install-prefix,
 AC_ARG_WITH(install-prefix,
-       [  --with-install-prefix   prefixes actual install-location ($DESTDIR)],
-       [case "x$withval" in #(vi
-       xyes|xno) #(vi
+       [  --with-install-prefix=DESTDIR use DESTDIR as installation directory prefix],
+       [case "x$withval" in
+       (xyes|xno)
                ;;
                ;;
-       *)      DESTDIR="$withval"
+       (*)     DESTDIR="$withval"
                ;;
        esac])
                ;;
        esac])
-AC_MSG_RESULT($DESTDIR)
+AC_MSG_RESULT([${DESTDIR:-(none)}])
 AC_SUBST(DESTDIR)
 
 ###############################################################################
 AC_SUBST(DESTDIR)
 
 ###############################################################################
@@ -219,6 +297,14 @@ CF_HELP_MESSAGE(Build-Tools Needed to Compile Temporary Applications for Cross-c
 # If we're cross-compiling, allow the user to override the tools and their
 # options.  The configure script is oriented toward identifying the host
 # compiler, etc., but we need a build compiler to generate parts of the source.
 # If we're cross-compiling, allow the user to override the tools and their
 # options.  The configure script is oriented toward identifying the host
 # compiler, etc., but we need a build compiler to generate parts of the source.
+
+case "$cf_cv_system_name" in
+(*-msvc*)
+       LDFLAGS="$LDFLAGS user32.lib"
+       export LDFLAGS
+       ;;
+esac
+
 CF_BUILD_CC
 
 ###############################################################################
 CF_BUILD_CC
 
 ###############################################################################
@@ -320,6 +406,10 @@ LIB_SUFFIX=
 AC_SUBST(LIB_SUFFIX)
 CF_PATHSEP
 
 AC_SUBST(LIB_SUFFIX)
 CF_PATHSEP
 
+# headers needed for checks...
+AC_CHECK_DECL(exit)
+AC_HEADER_DIRENT
+
 ###############################################################################
 
 AC_MSG_CHECKING(if you want to build a separate terminfo library)
 ###############################################################################
 
 AC_MSG_CHECKING(if you want to build a separate terminfo library)
@@ -336,36 +426,6 @@ AC_ARG_WITH(ticlib,
        [with_ticlib=no])
 AC_MSG_RESULT($with_ticlib)
 
        [with_ticlib=no])
 AC_MSG_RESULT($with_ticlib)
 
-### Checks for special libraries, must be done up-front.
-SHLIB_LIST=""
-CF_WITH_GPM
-if test "$with_gpm" != no ; then
-       AC_MSG_CHECKING(if you want to load GPM dynamically)
-       AC_ARG_WITH(dlsym,
-               [  --without-dlsym         do not use dlsym() to load GPM dynamically],
-               [with_dlsym=$withval],
-               [with_dlsym=yes])
-       AC_MSG_RESULT($with_dlsym)
-       if test "x$with_dlsym" = xyes ; then
-               CF_FUNC_DLSYM
-               if test "x$with_gpm" != xyes ; then
-                       CF_VERBOSE(assuming soname for gpm is $with_gpm)
-                       cf_cv_gpm_soname="$with_gpm"
-               else
-                       CF_LIB_SONAME([#include <gpm.h>],[if (Gpm_Open(0,0)) Gpm_Close();],gpm)
-               fi
-               test "$cf_cv_gpm_soname" != "unknown" && AC_DEFINE_UNQUOTED(LIBGPM_SONAME,"$cf_cv_gpm_soname",[Define as needed to set the gpm share library soname])
-               SHLIB_LIST="-ldl $SHLIB_LIST"
-       else
-               SHLIB_LIST="-lgpm $SHLIB_LIST"
-               CF_ADD_LIB(gpm,TEST_LIBS)
-       fi
-       AC_DEFINE(HAVE_LIBGPM,1,[Define to 1 if we have the gpm library])
-       CF_CHECK_GPM_WGETCH
-fi
-
-CF_WITH_SYSMOUSE
-
 dnl Not all ports of gcc support the -g option
 
 if test X"$CC_G_OPT" = X"" ; then
 dnl Not all ports of gcc support the -g option
 
 if test X"$CC_G_OPT" = X"" ; then
@@ -381,18 +441,18 @@ fi
 AC_SUBST(CXX_G_OPT)
 
 AC_MSG_CHECKING(for default loader flags)
 AC_SUBST(CXX_G_OPT)
 
 AC_MSG_CHECKING(for default loader flags)
-case $DFT_LWR_MODEL in
-libtool) LD_MODEL=''   ;;
-normal)  LD_MODEL=''   ;;
-debug)   LD_MODEL=$CC_G_OPT ;;
-profile) LD_MODEL='-pg';;
-shared)  LD_MODEL=''   ;;
+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)
 esac
 AC_SUBST(LD_MODEL)dnl          the type of link (e.g., -g or -pg)
-AC_MSG_RESULT($LD_MODEL)
+AC_MSG_RESULT([${LD_MODEL:-(none)}])
 
 
-case $DFT_LWR_MODEL in
-shared)
+case "$DFT_LWR_MODEL" in
+(shared)
 CF_ENABLE_RPATH
 AC_MSG_CHECKING(if shared libraries should be relinked during install)
 AC_ARG_ENABLE(relink,
 CF_ENABLE_RPATH
 AC_MSG_CHECKING(if shared libraries should be relinked during install)
 AC_ARG_ENABLE(relink,
@@ -406,26 +466,124 @@ esac
 # we will build libraries one-level down.
 rel_builddir=..
 CF_SHARED_OPTS
 # we will build libraries one-level down.
 rel_builddir=..
 CF_SHARED_OPTS
-if test "$CC_SHARED_OPTS" = "unknown"; then
-       for model in $cf_list_models; do
-               if test "$model" = "shared"; then
+for model in $cf_list_models ; do
+       case "$model" in
+       (libtool)
+               CF_WITH_LIBTOOL_OPTS
+               CF_WITH_EXPORT_SYMS
+               ;;
+       (shared)
+               if test "$CC_SHARED_OPTS" = "unknown"; then
                        AC_ERROR(Shared libraries are not supported in this version)
                fi
                        AC_ERROR(Shared libraries are not supported in this version)
                fi
-       done
+               # workaround for inept transition to PIE vs PIC...
+               AC_MSG_CHECKING(if current CFLAGS link properly)
+               AC_TRY_LINK(
+                       [#include <stdio.h>],
+                       [printf("Hello work\\n");],
+                       [cf_cflags_work=yes],
+                       [cf_cflags_work=no])
+               AC_MSG_RESULT($cf_cflags_work)
+               if test "$cf_cflags_work" = no
+               then
+                       CF_VERBOSE(try to work around by appending shared-options)
+                       CFLAGS="$CFLAGS $CC_SHARED_OPTS"
+               fi
+               CF_WITH_VERSIONED_SYMS
+               ;;
+       esac
+done
+
+### Checks for special libraries, must be done up-front.
+SHLIB_LIST=""
+CF_WITH_GPM
+if test "$with_gpm" != no ; then
+       AC_MSG_CHECKING(if you want to load GPM dynamically)
+       AC_ARG_WITH(dlsym,
+               [  --without-dlsym         do not use dlsym() to load GPM dynamically],
+               [with_dlsym=$withval],
+               [with_dlsym=yes])
+       AC_MSG_RESULT($with_dlsym)
+       if test "x$with_dlsym" = xyes ; then
+               CF_FUNC_DLSYM
+               if test "x$with_gpm" != xyes ; then
+                       CF_VERBOSE(assuming soname for gpm is $with_gpm)
+                       cf_cv_gpm_soname="$with_gpm"
+               else
+                       CF_LIB_SONAME([#include <gpm.h>],[if (Gpm_Open(0,0)) Gpm_Close();],gpm)
+               fi
+               test "$cf_cv_gpm_soname" != "unknown" && AC_DEFINE_UNQUOTED(LIBGPM_SONAME,"$cf_cv_gpm_soname",[Define as needed to set the gpm share library soname])
+               SHLIB_LIST="-ldl $SHLIB_LIST"
+               CF_ADD_LIB(dl,PRIVATE_LIBS)
+       else
+               SHLIB_LIST="-lgpm $SHLIB_LIST"
+               CF_ADD_LIB(gpm,TEST_LIBS)
+               CF_ADD_LIB(gpm,PRIVATE_LIBS)
+       fi
+       AC_DEFINE(HAVE_LIBGPM,1,[Define to 1 if we have the gpm library])
+       CF_CHECK_GPM_WGETCH
 fi
 
 fi
 
+CF_WITH_PCRE2
+CF_WITH_SYSMOUSE
+
+# pretend that ncurses==ncursesw==ncursest
+AC_MSG_CHECKING(if you want to disable library suffixes)
+CF_ARG_DISABLE(lib-suffixes,
+       [  --disable-lib-suffixes  disable library suffixes],
+       [disable_lib_suffixes=yes],
+       [disable_lib_suffixes=no],
+       no)
+AC_MSG_RESULT($disable_lib_suffixes)
+
 ### If we're building with rpath, try to link non-standard libs that way too.
 ### If we're building with rpath, try to link non-standard libs that way too.
-if test "$DFT_LWR_MODEL" = "shared"; then
+if test "$DFT_LWR_MODEL" = "shared" && test "x$cf_cv_enable_rpath" != xno; then
        CF_DISABLE_RPATH_HACK
 fi
 
        CF_DISABLE_RPATH_HACK
 fi
 
+### Depending on the system, someone may use rpath to build ncurses but not
+# want users of the package to rely upon that feature.  Give those people an
+# option to suppress that detail from EXTRA_LDFLAGS.
+EXTRA_PKG_LDFLAGS="$LDFLAGS $EXTRA_LDFLAGS"
+if test -n "$EXTRA_PKG_LDFLAGS"
+then
+       AC_MSG_CHECKING(if you want to disable extra LDFLAGS for package-scripts)
+       CF_ARG_DISABLE(pkg-ldflags,
+               [  --disable-pkg-ldflags   disable extra LDFLAGS for package-scripts],
+               [disable_pkg_ldflags=yes],
+               [disable_pkg_ldflags=no],
+               no)
+       AC_MSG_RESULT($disable_pkg_ldflags)
+       test "$disable_pkg_ldflags" = yes && EXTRA_PKG_LDFLAGS=
+fi
+AC_SUBST(EXTRA_PKG_LDFLAGS)
+
 ###############################################################################
 CF_HELP_MESSAGE(Fine-Tuning Your Configuration:)
 
 ###############################################################################
 CF_HELP_MESSAGE(Fine-Tuning Your Configuration:)
 
+###    use option --with-extra-suffix to append suffix to headers and libraries
+AC_MSG_CHECKING(for extra suffix to append to header/library paths)
+EXTRA_SUFFIX=
+AC_ARG_WITH(extra-suffix,
+       [[  --with-extra-suffix[=X] append extra suffix X to header/library paths]],
+       [case x$withval in
+       (xno)
+               ;;
+       (xyes|x)
+               EXTRA_SUFFIX=$cf_cv_abi_version
+               ;;
+       (*)
+               EXTRA_SUFFIX=$withval
+               ;;
+       esac
+       ])
+AC_MSG_RESULT([${EXTRA_SUFFIX:-(none)}])
+AC_SUBST(EXTRA_SUFFIX)
+
 ###    use option --disable-overwrite to leave out the link to -lcurses
 AC_MSG_CHECKING(if you wish to install ncurses overwriting curses)
 AC_ARG_ENABLE(overwrite,
 ###    use option --disable-overwrite to 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],
+       [  --disable-overwrite     put headers in subdir, omit link to -lcurses],
        [with_overwrite=$enableval],
        [if test "$prefix" = "/usr" ; then with_overwrite=yes; else with_overwrite=no; fi])
 AC_MSG_RESULT($with_overwrite)
        [with_overwrite=$enableval],
        [if test "$prefix" = "/usr" ; then with_overwrite=yes; else with_overwrite=no; fi])
 AC_MSG_RESULT($with_overwrite)
@@ -437,11 +595,11 @@ AC_ARG_ENABLE(database,
        [use_database=yes])
 AC_MSG_RESULT($use_database)
 
        [use_database=yes])
 AC_MSG_RESULT($use_database)
 
-case $host_os in #(vi
-os2*) #(vi
+case "$host_os" in
+(os2*)
        TERMINFO_SRC='${top_srcdir}/misc/emx.src'
        ;;
        TERMINFO_SRC='${top_srcdir}/misc/emx.src'
        ;;
-*) #(vi
+(*)
        TERMINFO_SRC='${top_srcdir}/misc/terminfo.src'
        ;;
 esac
        TERMINFO_SRC='${top_srcdir}/misc/terminfo.src'
        ;;
 esac
@@ -467,41 +625,89 @@ else
 fi
 AC_SUBST(NCURSES_USE_DATABASE)
 
 fi
 AC_SUBST(NCURSES_USE_DATABASE)
 
-AC_MSG_CHECKING(for list of fallback descriptions)
+AC_MSG_CHECKING(for list of fallback terminal descriptions)
 AC_ARG_WITH(fallbacks,
        [  --with-fallbacks=XXX    specify list of fallback terminal descriptions],
        [with_fallback=$withval],
        [with_fallback=])
 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/,/ /g'`
+AC_MSG_RESULT([${with_fallback:-(none)}])
+
+case ".$with_fallback" in
+(.|.no)
+       FALLBACK_LIST=
+       ;;
+(.yes)
+       AC_MSG_WARN(expected a list of terminal descriptions)
+       ;;
+(*)
+       FALLBACK_LIST=`echo "$with_fallback" | sed -e 's/,/ /g'`
+       ;;
+esac
+
+# The fallback feature in ncurses relies upon tic/infocmp outside the build
+# tree for generating the terminal descriptions that will be compiled into the
+# library.  If your toolchain is old, it may not handle current terminal
+# databases.  Use configure-options to point to the tools which will be used,
+# rather than the first ones found on the $PATH.
+AC_CHECK_TOOL(TIC, tic)
+AC_CHECK_TOOL(INFOCMP, infocmp)
+if test -n "$FALLBACK_LIST"
+then
+       CF_WITH_PATH_PROG(TIC,     tic,     [for fallbacks], $PATH:/usr/local/ncurses/bin)
+       CF_WITH_PATH_PROG(INFOCMP, infocmp, [for fallbacks], $PATH:/usr/local/ncurses/bin)
+       test -z "$TIC" && FALLBACK_LIST=
+       test -z "$INFOCMP" && FALLBACK_LIST=
+       if test -z "$FALLBACK_LIST"
+       then
+               AC_MSG_WARN(ignoring fallback option because tic/infocmp are not available)
+       fi
+fi
+AC_SUBST(TIC)
+AC_SUBST(INFOCMP)
+
+USE_FALLBACKS=
+test -z "$FALLBACK_LIST" && USE_FALLBACKS="#"
 AC_SUBST(FALLBACK_LIST)
 AC_SUBST(FALLBACK_LIST)
+AC_SUBST(USE_FALLBACKS)
 
 AC_MSG_CHECKING(if you want modern xterm or antique)
 AC_ARG_WITH(xterm-new,
        [  --without-xterm-new     specify if xterm terminfo should be old version],
        [with_xterm_new=$withval],
        [with_xterm_new=yes])
 
 AC_MSG_CHECKING(if you want modern xterm or antique)
 AC_ARG_WITH(xterm-new,
        [  --without-xterm-new     specify if xterm terminfo should be old version],
        [with_xterm_new=$withval],
        [with_xterm_new=yes])
-case $with_xterm_new in
-no)    with_xterm_new=xterm-old;;
-*)     with_xterm_new=xterm-new;;
+case "$with_xterm_new" in
+(no) with_xterm_new=xterm-old;;
+(*)     with_xterm_new=xterm-new;;
 esac
 AC_MSG_RESULT($with_xterm_new)
 WHICH_XTERM=$with_xterm_new
 AC_SUBST(WHICH_XTERM)
 
 esac
 AC_MSG_RESULT($with_xterm_new)
 WHICH_XTERM=$with_xterm_new
 AC_SUBST(WHICH_XTERM)
 
+case $host_os in
+(*linux-gnu|*cygwin|*mingw32|*msys)
+       want_xterm_kbs=DEL
+       ;;
+(*)
+       want_xterm_kbs=BS
+       ;;
+esac
+
 AC_MSG_CHECKING(if xterm backspace sends BS or DEL)
 AC_ARG_WITH(xterm-kbs,
 AC_MSG_CHECKING(if xterm backspace sends BS or DEL)
 AC_ARG_WITH(xterm-kbs,
-       [  --with-xterm-kbs=XXX    specify if xterm backspace sends BS or DEL],
+       [[  --with-xterm-kbs[=XXX]  specify if xterm backspace sends BS or DEL]],
        [with_xterm_kbs=$withval],
        [with_xterm_kbs=$withval],
-       [with_xterm_kbs=BS])
+       [with_xterm_kbs=auto])
 case x$with_xterm_kbs in
 case x$with_xterm_kbs in
-xyes|xno|xBS|xbs|x8)
+(xyes|xno|xBS|xbs|x8)
        with_xterm_kbs=BS
        ;;
        with_xterm_kbs=BS
        ;;
-xDEL|xdel|x127)
+(xDEL|xdel|x127)
        with_xterm_kbs=DEL
        ;;
        with_xterm_kbs=DEL
        ;;
-*)
+(xauto)
+       with_xterm_kbs=$want_xterm_kbs
+       ;;
+(*)
        with_xterm_kbs=$withval
        ;;
 esac
        with_xterm_kbs=$withval
        ;;
 esac
@@ -509,6 +715,11 @@ AC_MSG_RESULT($with_xterm_kbs)
 XTERM_KBS=$with_xterm_kbs
 AC_SUBST(XTERM_KBS)
 
 XTERM_KBS=$with_xterm_kbs
 AC_SUBST(XTERM_KBS)
 
+if test "x$with_xterm_kbs" != "x$want_xterm_kbs"
+then
+       AC_MSG_WARN([expected --with-xterm-kbs=$want_xterm_kbs for $host_os, have $with_xterm_kbs])
+fi
+
 MAKE_TERMINFO=
 if test "$use_database" = no ; then
        TERMINFO="${datadir}/terminfo"
 MAKE_TERMINFO=
 if test "$use_database" = no ; then
        TERMINFO="${datadir}/terminfo"
@@ -524,6 +735,13 @@ CF_WITH_PATHLIST(terminfo-dirs,
 AC_MSG_RESULT($TERMINFO_DIRS)
 test -n "$TERMINFO_DIRS" && AC_DEFINE_UNQUOTED(TERMINFO_DIRS,"$TERMINFO_DIRS",[Define as needed to predefine the TERMINFO_DIR searchlist])
 
 AC_MSG_RESULT($TERMINFO_DIRS)
 test -n "$TERMINFO_DIRS" && AC_DEFINE_UNQUOTED(TERMINFO_DIRS,"$TERMINFO_DIRS",[Define as needed to predefine the TERMINFO_DIR searchlist])
 
+case "x$TERMINFO" in
+x???:*)
+       AC_MSG_WARN(ignoring non-directory/file TERMINFO value)
+       unset TERMINFO
+       ;;
+esac
+
 AC_MSG_CHECKING(for default terminfo directory)
 CF_WITH_PATH(default-terminfo-dir,
        [  --with-default-terminfo-dir=DIR default terminfo directory],
 AC_MSG_CHECKING(for default terminfo directory)
 CF_WITH_PATH(default-terminfo-dir,
        [  --with-default-terminfo-dir=DIR default terminfo directory],
@@ -547,7 +765,7 @@ AC_ARG_ENABLE(big-core,
        [AC_TRY_RUN([
 #include <stdlib.h>
 #include <string.h>
        [AC_TRY_RUN([
 #include <stdlib.h>
 #include <string.h>
-int main() {
+int main(void) {
        unsigned long n = 6000000L;
        char *s = malloc(n);
        if (s != 0)
        unsigned long n = 6000000L;
        char *s = malloc(n);
        if (s != 0)
@@ -634,13 +852,29 @@ AC_ARG_ENABLE(home-terminfo,
 AC_MSG_RESULT($with_home_terminfo)
 test "x$with_home_terminfo" = "xyes" && AC_DEFINE(USE_HOME_TERMINFO,1,[Define to 1 if $HOME/.terminfo feature is wanted])
 
 AC_MSG_RESULT($with_home_terminfo)
 test "x$with_home_terminfo" = "xyes" && AC_DEFINE(USE_HOME_TERMINFO,1,[Define to 1 if $HOME/.terminfo feature is wanted])
 
-AC_MSG_CHECKING(if you want to use restricted environment when running as root)
+AC_MSG_CHECKING(if you want to permit root to use ncurses environment variables)
 AC_ARG_ENABLE(root-environ,
 AC_ARG_ENABLE(root-environ,
-       [  --disable-root-environ  restrict environment when running as root],
+       [  --disable-root-environ  restrict root use of ncurses environment variables],
        [with_root_environ=$enableval],
        [with_root_environ=yes])
 AC_MSG_RESULT($with_root_environ)
        [with_root_environ=$enableval],
        [with_root_environ=yes])
 AC_MSG_RESULT($with_root_environ)
-test "x$with_root_environ" = xyes && AC_DEFINE(USE_ROOT_ENVIRON,1,[Define to 1 if environment should be restricted for root user])
+test "x$with_root_environ" = xyes && AC_DEFINE(USE_ROOT_ENVIRON,1,[Define to 1 if root/setuid application is allowed to use ncurses environment])
+
+AC_MSG_CHECKING(if you want to permit setuid programs to access all files)
+AC_ARG_ENABLE(root-access,
+       [  --disable-root-access   restrict file-access when running setuid],
+       [with_root_access=$enableval],
+       [with_root_access=yes])
+AC_MSG_RESULT($with_root_access)
+test "x$with_root_access" = xyes && AC_DEFINE(USE_ROOT_ACCESS,1,[Define to 1 if setuid is allowed all file-access])
+
+AC_MSG_CHECKING(if you want to permit setuid use of ncurses environment variables)
+AC_ARG_ENABLE(setuid-environ,
+       [  --disable-setuid-environ restrict setuid use of ncurses environment variables],
+       [with_setuid_environ=$enableval],
+       [with_setuid_environ=$with_root_environ])
+AC_MSG_RESULT($with_setuid_environ)
+test "x$with_setuid_environ" = xyes && AC_DEFINE(USE_SETUID_ENVIRON,1,[Define to 1 if setuid/setgid application is allowed to use ncurses environment])
 
 ###   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.
@@ -652,51 +886,31 @@ with_symlinks=no
 # soft links (symbolic links) are useful for some systems where hard links do
 # not work, or to make it simpler to copy terminfo trees around.
 if test "x$ac_cv_func_symlink" = xyes ; then
 # soft links (symbolic links) are useful for some systems where hard links do
 # not work, or to make it simpler to copy terminfo trees around.
 if test "x$ac_cv_func_symlink" = xyes ; then
-    AC_MSG_CHECKING(if tic should use symbolic links)
-    AC_ARG_ENABLE(symlinks,
+       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
 
 # If we have hard links and did not choose to use soft links instead, there is
 # no reason to make this choice optional - use the hard links.
 if test "$with_symlinks" = no ; then
 fi
 
 # If we have hard links and did not choose to use soft links instead, there is
 # no reason to make this choice optional - use the hard links.
 if test "$with_symlinks" = no ; then
-    AC_MSG_CHECKING(if tic should use hard links)
-    if test "x$ac_cv_func_link" = xyes ; then
-       with_links=yes
-    else
-       with_links=no
-    fi
-    AC_MSG_RESULT($with_links)
+       AC_MSG_CHECKING(if tic should use hard links)
+       if test "x$ac_cv_func_link" = xyes ; then
+               with_links=yes
+       else
+               with_links=no
+       fi
+       AC_MSG_RESULT($with_links)
 fi
 
 test "x$with_links" = xyes && AC_DEFINE(USE_LINKS,1,[Define to 1 if hardlinks should be used in terminfo database])
 test "x$with_symlinks" = xyes && AC_DEFINE(USE_SYMLINKS,1,[Define to 1 if symbolic links should be used in terminfo database])
 
 ###   use option --enable-broken-linker to force on use of broken-linker support
 fi
 
 test "x$with_links" = xyes && AC_DEFINE(USE_LINKS,1,[Define to 1 if hardlinks should be used in terminfo database])
 test "x$with_symlinks" = xyes && AC_DEFINE(USE_SYMLINKS,1,[Define to 1 if symbolic links should be used in terminfo database])
 
 ###   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:-no}])
-AC_MSG_RESULT($with_broken_linker)
-
-BROKEN_LINKER=0
-if test "x$with_broken_linker" = xyes ; then
-       AC_DEFINE(BROKEN_LINKER,1,[Define to 1 to work around linkers which cannot link data-only modules])
-       BROKEN_LINKER=1
-elif test "$DFT_LWR_MODEL" = shared ; then
-       case $cf_cv_system_name in #(vi
-       cygwin*)
-               AC_DEFINE(BROKEN_LINKER,1,[Define to 1 to work around linkers which cannot link data-only modules])
-               BROKEN_LINKER=1
-               CF_VERBOSE(cygwin linker is broken anyway)
-               ;;
-       esac
-fi
-AC_SUBST(BROKEN_LINKER)
+CF_ENABLE_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)
 
 ###   use option --enable-bsdpad to have tputs process BSD-style prefix padding
 AC_MSG_CHECKING(if tputs should process BSD-style prefix padding)
@@ -717,7 +931,9 @@ NCURSES_WCHAR_T=0
 NCURSES_WINT_T=0
 
 # Check to define _XOPEN_SOURCE "automatically"
 NCURSES_WINT_T=0
 
 # Check to define _XOPEN_SOURCE "automatically"
-CF_XOPEN_SOURCE(500)
+CPPFLAGS_before_XOPEN="$CPPFLAGS"
+CF_XOPEN_SOURCE(600)
+CPPFLAGS_after_XOPEN="$CPPFLAGS"
 
 # Work around breakage on OS X
 CF_SIGWINCH
 
 # Work around breakage on OS X
 CF_SIGWINCH
@@ -731,20 +947,37 @@ NCURSES_OK_WINT_T=
 
 AC_MSG_CHECKING(if you want wide-character code)
 AC_ARG_ENABLE(widec,
 
 AC_MSG_CHECKING(if you want wide-character code)
 AC_ARG_ENABLE(widec,
-       [  --enable-widec          compile with wide-char/UTF-8 code],
+       [  --disable-widec         compile without wide character and UTF-8 support],
        [with_widec=$enableval],
        [with_widec=$enableval],
-       [with_widec=no])
+       [with_widec=$cf_dft_widec])
 AC_MSG_RESULT($with_widec)
 AC_MSG_RESULT($with_widec)
+
+NCURSES_WCWIDTH_GRAPHICS=1
+AC_SUBST(NCURSES_WCWIDTH_GRAPHICS)
+
 if test "x$with_widec" = xyes ; then
 if test "x$with_widec" = xyes ; then
-       LIB_SUFFIX="w${LIB_SUFFIX}"
-       AC_DEFINE(USE_WIDEC_SUPPORT,1,[Define to 1 to compile with wide-char/UTF-8 code])
-       AC_DEFINE(NCURSES_WIDECHAR,1,[Define to 1 to compile with wide-char/UTF-8 code])
+       if test "x$disable_lib_suffixes" = xno ; then
+               LIB_SUFFIX="w${LIB_SUFFIX}"
+       fi
+       AC_DEFINE(USE_WIDEC_SUPPORT,1,[Define to 1 to compile with wide character and UTF-8 support])
+       AC_DEFINE(NCURSES_WIDECHAR,1,[Define to 1 to compile with wide character and UTF-8 support])
+       case "$CPPFLAGS" in
+       (*_XOPEN_SOURCE=*)
+               ;;
+       (*)
+               AC_MSG_WARN(_XOPEN_SOURCE feature test macro appears to be predefined)
+               # CPPFLAGS="$CPPFLAGS -DNCURSES_WIDECHAR"
+               CPPFLAGS_after_XOPEN="$CPPFLAGS_after_XOPEN -DNCURSES_WIDECHAR"
+               ;;
+       esac
 
        CF_CHECK_WCHAR_H
 
        CF_CHECK_WCHAR_H
+       CF_CHECK_WCWIDTH_GRAPHICS
+       test "$cf_cv_wcwidth_graphics" = no && NCURSES_WCWIDTH_GRAPHICS=0
 
        # with_overwrite=no
        NCURSES_CH_T=cchar_t
 
        # with_overwrite=no
        NCURSES_CH_T=cchar_t
-       AC_CHECK_FUNCS(putwc btowc wctob mbtowc wctomb mblen mbrlen mbrtowc wcsrtombs mbsrtowcs wcstombs mbstowcs)
+       AC_CHECK_FUNCS(putwc btowc wctob wmemchr mbtowc wctomb mblen mbrlen mbrtowc wcsrtombs mbsrtowcs wcstombs mbstowcs)
        if test "x$ac_cv_func_putwc" != xyes ; then
                CF_UTF8_LIB
                if test "$cf_cv_utf8_lib" != no ; then
        if test "x$ac_cv_func_putwc" != xyes ; then
                CF_UTF8_LIB
                if test "$cf_cv_utf8_lib" != no ; then
@@ -771,20 +1004,11 @@ AC_SUBST(NCURSES_OK_WCHAR_T)
 AC_SUBST(NCURSES_OK_WINT_T)
 
 ###   use option --disable-lp64 to allow long chtype
 AC_SUBST(NCURSES_OK_WINT_T)
 
 ###   use option --disable-lp64 to allow long chtype
-case $cf_cv_abi_version in
-[[345]]*)
-       default_with_lp64=no
-       ;;
-*)
-       default_with_lp64=yes
-       ;;
-esac
-
 AC_MSG_CHECKING(whether to enable _LP64 definition in curses.h)
 AC_ARG_ENABLE(lp64,
        [  --disable-lp64          allow chtype to be long (ignore _LP64)],
        [with_lp64=$enableval],
 AC_MSG_CHECKING(whether to enable _LP64 definition in curses.h)
 AC_ARG_ENABLE(lp64,
        [  --disable-lp64          allow chtype to be long (ignore _LP64)],
        [with_lp64=$enableval],
-       [with_lp64=$default_with_lp64])
+       [with_lp64=$cf_dft_with_lp64])
 AC_MSG_RESULT($with_lp64)
 
 if test "x$with_lp64" = xyes ; then
 AC_MSG_RESULT($with_lp64)
 
 if test "x$with_lp64" = xyes ; then
@@ -819,66 +1043,89 @@ else
        with_tic_depends=no
 fi
 
        with_tic_depends=no
 fi
 
+###   use option --enable-wattr-macros to enable wattr* macros in curses.h
+AC_MSG_CHECKING(if you want to enable wattr* macros)
+AC_ARG_ENABLE(wattr-macros,
+       [  --enable-wattr-macros   enable wattr* macros],
+       [with_wattr_macros=$enableval],
+       [with_wattr_macros=no])
+if [[ "x$with_wattr_macros" != xyes ]]; then
+       NCURSES_WATTR_MACROS=0
+       AC_MSG_RESULT(no)
+else
+       NCURSES_WATTR_MACROS=1
+       AC_MSG_RESULT(yes)
+fi
+AC_SUBST(NCURSES_WATTR_MACROS)
+
+CF_WITH_X11_RGB
+
 ###   use option --with-bool to override bool's type
 ###   use option --with-bool to override bool's type
-AC_MSG_CHECKING(for type of bool)
-AC_ARG_WITH(bool,
-       [  --with-bool=TYPE        override fallback type of bool variable],
-       [NCURSES_BOOL="$withval"],
-       [NCURSES_BOOL=auto])
-AC_MSG_RESULT($NCURSES_BOOL)
-AC_SUBST(NCURSES_BOOL)
+CF_WITH_TYPE(bool,
+       [  --with-bool=TYPE        fall back to TYPE for curses 'bool' typedef],
+       NCURSES_BOOL,
+       auto)
 
 AC_MSG_CHECKING(for alternate terminal capabilities file)
 AC_ARG_WITH(caps,
        [  --with-caps=alt         compile with alternate Caps file],
        [TERMINFO_CAPS=Caps.$withval],
        [TERMINFO_CAPS=Caps])
 
 AC_MSG_CHECKING(for alternate terminal capabilities file)
 AC_ARG_WITH(caps,
        [  --with-caps=alt         compile with alternate Caps file],
        [TERMINFO_CAPS=Caps.$withval],
        [TERMINFO_CAPS=Caps])
-test -f "${srcdir}/include/${TERMINFO_CAPS}" || TERMINFO_CAPS=Caps
+if test ! -f "${srcdir}/include/${TERMINFO_CAPS}"
+then
+       AC_MSG_WARN(file not found: "${srcdir}/include/${TERMINFO_CAPS}")
+       TERMINFO_CAPS=Caps
+fi
 AC_MSG_RESULT($TERMINFO_CAPS)
 AC_SUBST(TERMINFO_CAPS)
 
 ###   use option --with-chtype to override chtype's type
 AC_MSG_RESULT($TERMINFO_CAPS)
 AC_SUBST(TERMINFO_CAPS)
 
 ###   use option --with-chtype to override chtype's type
-AC_MSG_CHECKING(for type of chtype)
-AC_ARG_WITH(chtype,
+CF_WITH_TYPE(chtype,
        [  --with-chtype=TYPE      override type of chtype],
        [  --with-chtype=TYPE      override type of chtype],
-       [NCURSES_CHTYPE="$withval"],
-       [NCURSES_CHTYPE=auto])
-AC_MSG_RESULT($NCURSES_CHTYPE)
+       NCURSES_CHTYPE,
+       $cf_dft_chtype)
 
 ###   use option --with-ospeed to override ospeed's type
 
 ###   use option --with-ospeed to override ospeed's type
-AC_MSG_CHECKING(for type of ospeed)
-AC_ARG_WITH(ospeed,
+CF_WITH_TYPE(ospeed,
        [  --with-ospeed=TYPE      override type of ospeed variable],
        [  --with-ospeed=TYPE      override type of ospeed variable],
-       [NCURSES_OSPEED="$withval"],
-       [NCURSES_OSPEED=short])
-AC_MSG_RESULT($NCURSES_OSPEED)
-AC_SUBST(NCURSES_OSPEED)
+       NCURSES_OSPEED,
+       short)
 
 ###   use option --with-mmask-t to override mmask_t's type
 
 ###   use option --with-mmask-t to override mmask_t's type
-AC_MSG_CHECKING(for type of mmask_t)
-AC_ARG_WITH(mmask-t,
+CF_WITH_TYPE(mmask-t,
        [  --with-mmask-t=TYPE     override type of mmask_t],
        [  --with-mmask-t=TYPE     override type of mmask_t],
-       [NCURSES_MMASK_T="$withval"],
-       [NCURSES_MMASK_T=auto])
-AC_MSG_RESULT($NCURSES_MMASK_T)
+       NCURSES_MMASK_T,
+       $cf_dft_mmask_t)
 
 ###   use option --with-ccharw-max to override CCHARW_MAX size
 AC_MSG_CHECKING(for size CCHARW_MAX)
 AC_ARG_WITH(ccharw-max,
        [  --with-ccharw-max=XXX   override size CCHARW_MAX],
        [NCURSES_CCHARW_MAX="$withval"],
 
 ###   use option --with-ccharw-max to override CCHARW_MAX size
 AC_MSG_CHECKING(for size CCHARW_MAX)
 AC_ARG_WITH(ccharw-max,
        [  --with-ccharw-max=XXX   override size CCHARW_MAX],
        [NCURSES_CCHARW_MAX="$withval"],
-       [NCURSES_CCHARW_MAX=5])
+       [NCURSES_CCHARW_MAX=$cf_dft_ccharw_max])
 AC_MSG_RESULT($NCURSES_CCHARW_MAX)
 AC_SUBST(NCURSES_CCHARW_MAX)
 
 AC_MSG_RESULT($NCURSES_CCHARW_MAX)
 AC_SUBST(NCURSES_CCHARW_MAX)
 
+AC_CHECK_SIZEOF([signed char])
+if test "$ac_cv_sizeof_signed_char" = 1 ; then
+       NCURSES_SBOOL="signed char"
+else
+       NCURSES_SBOOL="char"
+fi
+AC_MSG_CHECKING(whether to use signed chars for Boolean array in term.h)
+AC_ARG_ENABLE(signed-char,
+       [  --enable-signed-char    use signed chars for Boolean array in term.h],
+       [with_signed_char=$enableval],
+       [with_signed_char=$cf_dft_signed_char])
+AC_MSG_RESULT($with_signed_char)
+test "x$with_signed_char" != xyes && NCURSES_SBOOL="char"
+AC_SUBST(NCURSES_SBOOL)
+
 ###   use option --with-tparm-arg to override tparm's argument type
 ###   use option --with-tparm-arg to override tparm's argument type
-AC_MSG_CHECKING(for type of tparm args)
-AC_ARG_WITH(tparm-arg,
+CF_WITH_TYPE(tparm-arg,
        [  --with-tparm-arg=TYPE   override parameter type of tparm],
        [  --with-tparm-arg=TYPE   override parameter type of tparm],
-       [NCURSES_TPARM_ARG="$withval"],
-       [NCURSES_TPARM_ARG=long])
-AC_MSG_RESULT($NCURSES_TPARM_ARG)
-AC_SUBST(NCURSES_TPARM_ARG)
+       NCURSES_TPARM_ARG,
+       $cf_dft_tparm_arg)
 
 ### Enable compiling-in rcs id's
 AC_MSG_CHECKING(if RCS identifiers should be compiled-in)
 
 ### Enable compiling-in rcs id's
 AC_MSG_CHECKING(if RCS identifiers should be compiled-in)
@@ -890,7 +1137,7 @@ AC_MSG_RESULT($with_rcs_ids)
 test "x$with_rcs_ids" = xyes && AC_DEFINE(USE_RCS_IDS,1,[Define to 1 to compile-in RCS identifiers])
 
 ###############################################################################
 test "x$with_rcs_ids" = xyes && AC_DEFINE(USE_RCS_IDS,1,[Define to 1 to compile-in RCS identifiers])
 
 ###############################################################################
-CF_MAN_PAGES([ captoinfo clear infocmp infotocap tabs tic toe tput tset ])
+CF_MAN_PAGES([ captoinfo clear infocmp infotocap reset tabs tic toe tput tset ])
 
 ###############################################################################
 CF_HELP_MESSAGE(Extensions:)
 
 ###############################################################################
 CF_HELP_MESSAGE(Extensions:)
@@ -904,18 +1151,19 @@ AC_ARG_ENABLE(ext-funcs,
 AC_MSG_RESULT($with_ext_funcs)
 if test "x$with_ext_funcs" = xyes ; then
        NCURSES_EXT_FUNCS=1
 AC_MSG_RESULT($with_ext_funcs)
 if test "x$with_ext_funcs" = xyes ; then
        NCURSES_EXT_FUNCS=1
-       AC_DEFINE(HAVE_ASSUME_DEFAULT_COLORS,1,[Define to 1 to enable assume_default_colors() function])
-       AC_DEFINE(HAVE_CURSES_VERSION,1,[Define to 1 to enable curses_version() function])
-       AC_DEFINE(HAVE_HAS_KEY,1,[Define to 1 to enable has_key() function])
-       AC_DEFINE(HAVE_RESIZETERM,1,[Define to 1 to enable resizeterm() function])
-       AC_DEFINE(HAVE_RESIZE_TERM,1,[Define to 1 to enable resize_term() function])
-       AC_DEFINE(HAVE_TERM_ENTRY_H,1,[Define to 1 to enable term_entry() function])
-       AC_DEFINE(HAVE_USE_DEFAULT_COLORS,1,[Define to 1 to enable use_default_colors() function])
-       AC_DEFINE(HAVE_USE_SCREEN,1,[Define to 1 to enable use_screen() function])
-       AC_DEFINE(HAVE_USE_WINDOW,1,[Define to 1 to enable use_window() function])
-       AC_DEFINE(HAVE_WRESIZE,1,[Define to 1 to enable wresize() function])
        AC_DEFINE(NCURSES_EXT_FUNCS,1,[Define to 1 to enable ncurses extended functions])
        AC_DEFINE(NCURSES_EXT_FUNCS,1,[Define to 1 to enable ncurses extended functions])
+       AC_DEFINE(HAVE_ASSUME_DEFAULT_COLORS,1,[Define to 1 to enable assume_default_colors() function in test-programs])
+       AC_DEFINE(HAVE_CURSES_VERSION,1,[Define to 1 to enable curses_version() function in test-programs])
+       AC_DEFINE(HAVE_HAS_KEY,1,[Define to 1 to enable has_key() function in test-programs])
+       AC_DEFINE(HAVE_RESIZETERM,1,[Define to 1 to enable resizeterm() function in test-programs])
+       AC_DEFINE(HAVE_RESIZE_TERM,1,[Define to 1 to enable resize_term() function in test-programs])
+       AC_DEFINE(HAVE_TERM_ENTRY_H,1,[Define to 1 to enable term_entry() function in test-programs])
+       AC_DEFINE(HAVE_USE_DEFAULT_COLORS,1,[Define to 1 to enable use_default_colors() function in test-programs])
+       AC_DEFINE(HAVE_USE_SCREEN,1,[Define to 1 to enable use_screen() function in test-programs])
+       AC_DEFINE(HAVE_USE_WINDOW,1,[Define to 1 to enable use_window() function in test-programs])
+       AC_DEFINE(HAVE_WRESIZE,1,[Define to 1 to enable wresize() function in test-programs])
        GENERATED_EXT_FUNCS=generated
        GENERATED_EXT_FUNCS=generated
+       test "x$with_ext_funcs" = xyes || cf_dft_ext_spfuncs=no
 else
        NCURSES_EXT_FUNCS=0
        GENERATED_EXT_FUNCS=
 else
        NCURSES_EXT_FUNCS=0
        GENERATED_EXT_FUNCS=
@@ -923,15 +1171,16 @@ fi
 AC_SUBST(NCURSES_EXT_FUNCS)
 AC_SUBST(GENERATED_EXT_FUNCS)
 
 AC_SUBST(NCURSES_EXT_FUNCS)
 AC_SUBST(GENERATED_EXT_FUNCS)
 
-AC_MSG_CHECKING(if you want to build with experimental SCREEN extensions)
+AC_MSG_CHECKING(if you want to build with SCREEN extensions)
 AC_ARG_ENABLE(sp-funcs,
 AC_ARG_ENABLE(sp-funcs,
-       [  --enable-sp-funcs       enable experimental SCREEN-extensions],
+       [  --enable-sp-funcs       enable SCREEN-extensions],
        [with_sp_funcs=$enableval],
        [with_sp_funcs=$enableval],
-       [with_sp_funcs=no])
+       [with_sp_funcs=$cf_dft_ext_spfuncs])
 AC_MSG_RESULT($with_sp_funcs)
 if test "x$with_sp_funcs" = xyes ; then
        NCURSES_SP_FUNCS=1
 AC_MSG_RESULT($with_sp_funcs)
 if test "x$with_sp_funcs" = xyes ; then
        NCURSES_SP_FUNCS=1
-       AC_DEFINE(NCURSES_SP_FUNCS,1,[Define to 1 to enable experimental SCREEN-extensions])
+       AC_DEFINE(NCURSES_SP_FUNCS,1,[Define to 1 to enable SCREEN-extensions])
+       AC_DEFINE(HAVE_TPUTS_SP,1,[Define to 1 to enable tputs_sp() function in test-programs])
        GENERATED_SP_FUNCS=generated
 else
        NCURSES_SP_FUNCS=0
        GENERATED_SP_FUNCS=generated
 else
        NCURSES_SP_FUNCS=0
@@ -940,14 +1189,17 @@ fi
 AC_SUBST(NCURSES_SP_FUNCS)
 AC_SUBST(GENERATED_SP_FUNCS)
 
 AC_SUBST(NCURSES_SP_FUNCS)
 AC_SUBST(GENERATED_SP_FUNCS)
 
-AC_MSG_CHECKING(if you want to build with experimental terminal-driver)
+AC_MSG_CHECKING(if you want to build with terminal-driver)
 AC_ARG_ENABLE(term-driver,
 AC_ARG_ENABLE(term-driver,
-       [  --enable-term-driver    enable experimental terminal-driver],
+       [  --enable-term-driver    enable terminal-driver],
        [with_term_driver=$enableval],
        [with_term_driver=no])
 AC_MSG_RESULT($with_term_driver)
 if test "x$with_term_driver" = xyes ; then
        [with_term_driver=$enableval],
        [with_term_driver=no])
 AC_MSG_RESULT($with_term_driver)
 if test "x$with_term_driver" = xyes ; then
-       AC_DEFINE(USE_TERM_DRIVER,1,[Define to 1 to enable experimental terminal-driver])
+       AC_DEFINE(USE_TERM_DRIVER,1,[Define to 1 to enable terminal-driver])
+       if test "x$with_termlib" != xno ; then
+               AC_MSG_ERROR(The term-driver option conflicts with the termlib option)
+       fi
        if test "x$with_sp_funcs" != xyes ; then
                AC_MSG_ERROR(The term-driver option relies upon sp-funcs)
        fi
        if test "x$with_sp_funcs" != xyes ; then
                AC_MSG_ERROR(The term-driver option relies upon sp-funcs)
        fi
@@ -958,7 +1210,7 @@ AC_MSG_CHECKING(for extended use of const keyword)
 AC_ARG_ENABLE(const,
        [  --enable-const          compile with extra/non-standard const],
        [with_ext_const=$enableval],
 AC_ARG_ENABLE(const,
        [  --enable-const          compile with extra/non-standard const],
        [with_ext_const=$enableval],
-       [with_ext_const=no])
+       [with_ext_const=$cf_dft_ext_const])
 AC_MSG_RESULT($with_ext_const)
 NCURSES_CONST='/*nothing*/'
 if test "x$with_ext_const" = xyes ; then
 AC_MSG_RESULT($with_ext_const)
 NCURSES_CONST='/*nothing*/'
 if test "x$with_ext_const" = xyes ; then
@@ -971,18 +1223,21 @@ AC_MSG_CHECKING(if you want to use extended colors)
 AC_ARG_ENABLE(ext-colors,
        [  --enable-ext-colors     compile for 256-color support],
        [with_ext_colors=$enableval],
 AC_ARG_ENABLE(ext-colors,
        [  --enable-ext-colors     compile for 256-color support],
        [with_ext_colors=$enableval],
-       [with_ext_colors=no])
+       [with_ext_colors=$cf_dft_ext_colors])
 AC_MSG_RESULT($with_ext_colors)
 NCURSES_EXT_COLORS=0
 if test "x$with_ext_colors" = xyes ; then
        if test "x$with_widec" != xyes ; then
 AC_MSG_RESULT($with_ext_colors)
 NCURSES_EXT_COLORS=0
 if test "x$with_ext_colors" = xyes ; then
        if test "x$with_widec" != xyes ; then
-               AC_MSG_ERROR(This option applies only to wide-character library)
+               AC_MSG_WARN(This option applies only to wide-character library)
        else
                # cannot be ABI 5 since it changes sizeof(cchar_t)
                CF_NCURSES_ABI_6
        else
                # cannot be ABI 5 since it changes sizeof(cchar_t)
                CF_NCURSES_ABI_6
+               NCURSES_EXT_COLORS=1
+               AC_DEFINE(NCURSES_EXT_COLORS,1,[Define to 1 to compile for 256-color support])
+               AC_DEFINE(HAVE_ALLOC_PAIR,1,[Define to 1 to enable alloc_pair() function])
+               AC_DEFINE(HAVE_INIT_EXTENDED_COLOR,1,[Define to 1 to enable init_extended_color() function in test-programs])
+               AC_DEFINE(HAVE_RESET_COLOR_PAIRS,1,[Define to 1 to enable reset_color_pairs() function in test-programs])
        fi
        fi
-       NCURSES_EXT_COLORS=1
-       AC_DEFINE(NCURSES_EXT_COLORS,1,[Define to 1 to compile for 256-color support])
 fi
 AC_SUBST(NCURSES_EXT_COLORS)
 
 fi
 AC_SUBST(NCURSES_EXT_COLORS)
 
@@ -991,15 +1246,33 @@ AC_MSG_CHECKING(if you want to use extended mouse encoding)
 AC_ARG_ENABLE(ext-mouse,
        [  --enable-ext-mouse      compile for extended mouse-encoding],
        [with_ext_mouse=$enableval],
 AC_ARG_ENABLE(ext-mouse,
        [  --enable-ext-mouse      compile for extended mouse-encoding],
        [with_ext_mouse=$enableval],
-       [with_ext_mouse=no])
+       [with_ext_mouse=$cf_dft_ext_mouse])
 AC_MSG_RESULT($with_ext_mouse)
 AC_MSG_RESULT($with_ext_mouse)
-NCURSES_MOUSE_VERSION=1
 if test "x$with_ext_mouse" = xyes ; then
 if test "x$with_ext_mouse" = xyes ; then
-       NCURSES_MOUSE_VERSION=2
        CF_NCURSES_ABI_6
 fi
        CF_NCURSES_ABI_6
 fi
+
+if test $cf_cv_abi_default -le 5 ; then
+       NCURSES_MOUSE_VERSION=1
+elif test $cf_cv_abi_default -le 6 ; then
+       NCURSES_MOUSE_VERSION=2
+else
+       NCURSES_MOUSE_VERSION=3
+fi
+
 AC_SUBST(NCURSES_MOUSE_VERSION)
 
 AC_SUBST(NCURSES_MOUSE_VERSION)
 
+###   use option --enable-ext-putwin to turn on extended screendumps
+AC_MSG_CHECKING(if you want to use extended putwin/screendump)
+AC_ARG_ENABLE(ext-putwin,
+       [  --enable-ext-putwin     compile with extended putwin/screendump],
+       [with_ext_putwin=$enableval],
+       [with_ext_putwin=$cf_dft_ext_putwin])
+AC_MSG_RESULT($with_ext_putwin)
+if test "x$with_ext_putwin" = xyes ; then
+       AC_DEFINE(NCURSES_EXT_PUTWIN,1,[Define to 1 to compile with extended putwin/screendump])
+fi
+
 AC_MSG_CHECKING(if you want \$NCURSES_NO_PADDING code)
 AC_ARG_ENABLE(no-padding,
        [  --enable-no-padding     compile with $NCURSES_NO_PADDING code],
 AC_MSG_CHECKING(if you want \$NCURSES_NO_PADDING code)
 AC_ARG_ENABLE(no-padding,
        [  --enable-no-padding     compile with $NCURSES_NO_PADDING code],
@@ -1008,21 +1281,6 @@ AC_ARG_ENABLE(no-padding,
 AC_MSG_RESULT($with_no_padding)
 test "x$with_no_padding" = xyes && AC_DEFINE(NCURSES_NO_PADDING,1,[Define to 1 to compile with $NCURSES_NO_PADDING code])
 
 AC_MSG_RESULT($with_no_padding)
 test "x$with_no_padding" = xyes && AC_DEFINE(NCURSES_NO_PADDING,1,[Define to 1 to compile with $NCURSES_NO_PADDING code])
 
-AC_CHECK_SIZEOF([signed char], 0)
-if test "$ac_cv_sizeof_signed_char" = 1 ; then
-       NCURSES_SBOOL="signed char"
-else
-       NCURSES_SBOOL="char"
-fi
-AC_MSG_CHECKING(if you want to use signed Boolean array in term.h)
-AC_ARG_ENABLE(signed-char,
-       [  --enable-signed-char    compile using signed Boolean's in term.h],
-       [with_signed_char=$enableval],
-       [with_signed_char=no])
-AC_MSG_RESULT($with_signed_char)
-test "x$with_signed_char" != xyes && NCURSES_SBOOL="char"
-AC_SUBST(NCURSES_SBOOL)
-
 ###   use option --enable-sigwinch to turn on use of SIGWINCH logic
 AC_MSG_CHECKING(if you want SIGWINCH handler)
 AC_ARG_ENABLE(sigwinch,
 ###   use option --enable-sigwinch to turn on use of SIGWINCH logic
 AC_MSG_CHECKING(if you want SIGWINCH handler)
 AC_ARG_ENABLE(sigwinch,
@@ -1030,7 +1288,14 @@ AC_ARG_ENABLE(sigwinch,
        [with_sigwinch=$enableval],
        [with_sigwinch=$with_ext_funcs])
 AC_MSG_RESULT($with_sigwinch)
        [with_sigwinch=$enableval],
        [with_sigwinch=$with_ext_funcs])
 AC_MSG_RESULT($with_sigwinch)
-test "x$with_sigwinch" = xyes && AC_DEFINE(USE_SIGWINCH,1,[Define to 1 to compile with SIGWINCH handler])
+if test "x$with_sigwinch" = xyes
+then
+       AC_DEFINE(USE_SIGWINCH,1,[Define to 1 to compile with SIGWINCH handler])
+       cf_cv_enable_sigwinch=1
+else
+       cf_cv_enable_sigwinch=0
+fi
+AC_SUBST(cf_cv_enable_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)
 
 ###   use option --enable-tcap-names to allow user to define new capabilities
 AC_MSG_CHECKING(if you want user-definable terminal capabilities like termcap)
@@ -1040,79 +1305,14 @@ AC_ARG_ENABLE(tcap-names,
        [with_tcap_names=$with_ext_funcs])
 AC_MSG_RESULT($with_tcap_names)
 NCURSES_XNAMES=0
        [with_tcap_names=$with_ext_funcs])
 AC_MSG_RESULT($with_tcap_names)
 NCURSES_XNAMES=0
-test "x$with_tcap_names" = xyes && NCURSES_XNAMES=1
+if test "x$with_tcap_names" = xyes; then
+       NCURSES_XNAMES=1
+       AC_DEFINE(NCURSES_XNAMES,1,[Define to 1 to compile with user-definable terminal capabilities])
+fi
 AC_SUBST(NCURSES_XNAMES)
 
 AC_SUBST(NCURSES_XNAMES)
 
-###############################################################################
-# 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,
-       [  --without-develop       disable development options],
-       [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 hard-tabs code)
-AC_ARG_ENABLE(hard-tabs,
-       [  --enable-hard-tabs      compile with hard-tabs code],,
-       [enable_hard_tabs=$with_develop])
-AC_MSG_RESULT($enable_hard_tabs)
-test "x$enable_hard_tabs" = xyes && AC_DEFINE(USE_HARD_TABS,1,[Define to 1 to compile with hard-tabs code])
-
-###   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 support for xmc (magic-cookie)],,
-       [enable_xmc_glitch=$with_develop])
-AC_MSG_RESULT($enable_xmc_glitch)
-test "x$enable_xmc_glitch" = xyes && AC_DEFINE(USE_XMC_SUPPORT,1,[Define to 1 to compile with support for xmc (magic-cookie)])
-
-###############################################################################
-# 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 "x$with_assumed_color" = xyes && AC_DEFINE(USE_ASSUMED_COLOR,1,[Define to 1 to assume things about default-colors])
-
-###   use option --enable-hashmap to turn on use of hashmap scrolling logic
-AC_MSG_CHECKING(if you want hashmap scrolling-optimization code)
-AC_ARG_ENABLE(hashmap,
-       [  --disable-hashmap       compile without hashmap scrolling-optimization],
-       [with_hashmap=$enableval],
-       [with_hashmap=yes])
-AC_MSG_RESULT($with_hashmap)
-test "x$with_hashmap" = xyes && AC_DEFINE(USE_HASHMAP,1,[Define to 1 to compile with hashmap scrolling-optimization])
-
-###   use option --enable-colorfgbg to turn on use of $COLORFGBG environment
-AC_MSG_CHECKING(if you want colorfgbg code)
-AC_ARG_ENABLE(colorfgbg,
-       [  --enable-colorfgbg      compile-in experimental $COLORFGBG code],
-       [with_colorfgbg=$enableval],
-       [with_colorfgbg=no])
-AC_MSG_RESULT($with_colorfgbg)
-test "x$with_colorfgbg" = xyes && AC_DEFINE(USE_COLORFGBG,1,[Define to 1 to compile-in experimental $COLORFGBG code])
-
-###   use option --enable-interop to turn on use of bindings used for interop
-AC_MSG_CHECKING(if you want interop bindings)
-AC_ARG_ENABLE(interop,
-       [  --enable-interop        compile-in experimental interop bindings],
-       [with_exp_interop=$enableval],
-       [with_exp_interop=no])
-AC_MSG_RESULT($with_exp_interop)
-
-NCURSES_INTEROP_FUNCS=0
-test "x$with_exp_interop" = xyes && NCURSES_INTEROP_FUNCS=1
-AC_SUBST(NCURSES_INTEROP_FUNCS)
-
-# This is still experimental (20080329), but should ultimately be moved to
-# the script-block --with-normal, etc.
+##############################################################################
+CF_HELP_MESSAGE(Reentrant Code:)
 CF_WITH_PTHREAD
 
 if test "x$with_pthread" != xno; then
 CF_WITH_PTHREAD
 
 if test "x$with_pthread" != xno; then
@@ -1146,11 +1346,12 @@ fi
 
 PTHREAD=
 if test "x$with_pthread" = "xyes" ; then
 
 PTHREAD=
 if test "x$with_pthread" = "xyes" ; then
-    AC_DEFINE(USE_PTHREADS,1,[Define to 1 to use pthreads feature])
-    enable_reentrant=yes
-    if test "x$cf_cv_weak_symbols" = xyes ; then
-        PTHREAD=-lpthread
-    fi
+       AC_DEFINE(USE_PTHREADS,1,[Define to 1 to use pthreads feature])
+       enable_reentrant=yes
+       if test "x$cf_cv_weak_symbols" = xyes ; then
+               PTHREAD=-lpthread
+               CF_ADD_LIB(pthread,PRIVATE_LIBS)
+       fi
 fi
 AC_SUBST(PTHREAD)
 
 fi
 AC_SUBST(PTHREAD)
 
@@ -1158,37 +1359,93 @@ AC_SUBST(PTHREAD)
 # opaque outside of that, so there is no --enable-opaque option.  We can use
 # this option without --with-pthreads, but this will be always set for
 # pthreads.
 # opaque outside of that, so there is no --enable-opaque option.  We can use
 # this option without --with-pthreads, but this will be always set for
 # pthreads.
-AC_MSG_CHECKING(if you want experimental reentrant code)
+AC_MSG_CHECKING(if you want reentrant code)
 AC_ARG_ENABLE(reentrant,
 AC_ARG_ENABLE(reentrant,
-       [  --enable-reentrant      compile with experimental reentrant code],
+       [  --enable-reentrant      compile with reentrant code],
        [with_reentrant=$enableval],
        [with_reentrant=no])
 AC_MSG_RESULT($with_reentrant)
 if test "x$with_reentrant" = xyes ; then
        cf_cv_enable_reentrant=1
        cf_cv_enable_opaque="NCURSES_INTERNALS"
        [with_reentrant=$enableval],
        [with_reentrant=no])
 AC_MSG_RESULT($with_reentrant)
 if test "x$with_reentrant" = xyes ; then
        cf_cv_enable_reentrant=1
        cf_cv_enable_opaque="NCURSES_INTERNALS"
-       NCURSES_OPAQUE=1
        NCURSES_SIZE_T=int
        if test "x$cf_cv_weak_symbols" = xyes ; then
                CF_REMOVE_LIB(LIBS,$LIBS,pthread)
                CF_ADD_LIB(pthread,TEST_LIBS)
                CF_ADD_LIB(pthread,TEST_LIBS2)
        NCURSES_SIZE_T=int
        if test "x$cf_cv_weak_symbols" = xyes ; then
                CF_REMOVE_LIB(LIBS,$LIBS,pthread)
                CF_ADD_LIB(pthread,TEST_LIBS)
                CF_ADD_LIB(pthread,TEST_LIBS2)
+               CF_ADD_LIB(pthread,PRIVATE_LIBS)
        else
        else
-               LIB_SUFFIX="t${LIB_SUFFIX}"
+               # when not using weak symbols but with_reentrant,
+               # add 't' to the library suffix on all platforms
+               # except cygwin, where we only do that if ALSO
+               # compiling with full thread support.
+               case "$host" in
+               (*cygwin* | *msys*)
+                       if test "$with_pthread" = "yes" ; then
+                               if test "x$disable_lib_suffixes" = "xno" ; then
+                                       LIB_SUFFIX="t${LIB_SUFFIX}"
+                               fi
+                       fi ;;
+               (*)
+                       if test "x$disable_lib_suffixes" = "xno" ; then
+                               LIB_SUFFIX="t${LIB_SUFFIX}"
+                       fi
+                       ;;
+               esac
        fi
        fi
-       AC_DEFINE(USE_REENTRANT,1,[Define to 1 to use experimental reentrant feature])
+       AC_DEFINE(USE_REENTRANT,1,[Define to 1 to use reentrant feature])
        CF_NCURSES_ABI_6
 else
        cf_cv_enable_reentrant=0
        cf_cv_enable_opaque="NCURSES_OPAQUE"
        CF_NCURSES_ABI_6
 else
        cf_cv_enable_reentrant=0
        cf_cv_enable_opaque="NCURSES_OPAQUE"
-       NCURSES_OPAQUE=0
-       NCURSES_SIZE_T=short
+       NCURSES_SIZE_T=$cf_dft_ordinate_type
 fi
 AC_SUBST(cf_cv_enable_reentrant)
 AC_SUBST(cf_cv_enable_opaque)
 fi
 AC_SUBST(cf_cv_enable_reentrant)
 AC_SUBST(cf_cv_enable_opaque)
-AC_SUBST(NCURSES_OPAQUE)
+
 AC_SUBST(NCURSES_SIZE_T)
 
 AC_SUBST(NCURSES_SIZE_T)
 
+AC_MSG_CHECKING(whether curses library structures should be opaque)
+CF_ARG_DISABLE(opaque-curses,
+       [  --disable-opaque-curses do not make WINDOW, etc., structures opaque],
+       [enable_opaque_curses=no],[
+        test "$cf_cv_enable_reentrant" = 1 && enable_opaque_curses=yes
+        test "$cf_cv_enable_reentrant" = 1 || enable_opaque_curses=$cf_dft_opaque_curses
+       ])
+AC_MSG_RESULT($enable_opaque_curses)
+
+test "$cf_cv_enable_reentrant" = 1 && \
+test "$enable_opaque_curses" = no && \
+AC_MSG_ERROR(reentrant configuration requires opaque library)
+
+AC_MSG_CHECKING(whether form library structures should be opaque)
+CF_ARG_DISABLE(opaque-form,
+       [  --disable-opaque-form   do not make form library structures opaque],
+       [enable_opaque_form=no],[enable_opaque_form=$cf_dft_opaque_curses])
+AC_MSG_RESULT($enable_opaque_form)
+
+AC_MSG_CHECKING(whether menu library structures should be opaque)
+CF_ARG_DISABLE(opaque-menu,
+       [  --disable-opaque-menu   do not make menu library structures opaque],
+       [enable_opaque_menu=no],[enable_opaque_menu=$cf_dft_opaque_curses])
+AC_MSG_RESULT($enable_opaque_menu)
+
+AC_MSG_CHECKING(whether panel library structures should be opaque)
+CF_ARG_DISABLE(opaque-panel,
+       [  --disable-opaque-panel  do not make panel library structures opaque],
+       [enable_opaque_panel=no],[enable_opaque_panel=$cf_dft_opaque_curses])
+AC_MSG_RESULT($enable_opaque_panel)
+
+NCURSES_OPAQUE=0;              test "$enable_opaque_curses" = yes && NCURSES_OPAQUE=1
+NCURSES_OPAQUE_FORM=0; test "$enable_opaque_form"   = yes && NCURSES_OPAQUE_FORM=1
+NCURSES_OPAQUE_MENU=0; test "$enable_opaque_menu"   = yes && NCURSES_OPAQUE_MENU=1
+NCURSES_OPAQUE_PANEL=0;        test "$enable_opaque_panel"  = yes && NCURSES_OPAQUE_PANEL=1
+
+AC_SUBST(NCURSES_OPAQUE)
+AC_SUBST(NCURSES_OPAQUE_FORM)
+AC_SUBST(NCURSES_OPAQUE_MENU)
+AC_SUBST(NCURSES_OPAQUE_PANEL)
+
 ### Allow using a different wrap-prefix
 if test "$cf_cv_enable_reentrant" != 0 || test "$BROKEN_LINKER" = 1 ; then
        AC_MSG_CHECKING(for prefix used to wrap public variables)
 ### Allow using a different wrap-prefix
 if test "$cf_cv_enable_reentrant" != 0 || test "$BROKEN_LINKER" = 1 ; then
        AC_MSG_CHECKING(for prefix used to wrap public variables)
 AC_SUBST(NCURSES_WRAP_PREFIX)
 AC_DEFINE_UNQUOTED(NCURSES_WRAP_PREFIX,"$NCURSES_WRAP_PREFIX",[Define to override _nc_ prefix])
 
 AC_SUBST(NCURSES_WRAP_PREFIX)
 AC_DEFINE_UNQUOTED(NCURSES_WRAP_PREFIX,"$NCURSES_WRAP_PREFIX",[Define to override _nc_ prefix])
 
+###############################################################################
+# 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,
+       [  --without-develop       disable development options],
+       [with_develop=$withval],
+       [with_develop=no])
+AC_MSG_RESULT($with_develop)
+
+###   use option --enable-check-size to detect screensize with CPR
+AC_MSG_CHECKING(if you want to check screensize of serial terminals)
+AC_ARG_ENABLE(check-size,
+       [  --enable-check-size     compile-in code to detect screensize of serial terminals],,
+       [enable_check_size=$with_develop])
+AC_MSG_RESULT($enable_check_size)
+test "x$enable_check_size" = xyes && AC_DEFINE(USE_CHECK_SIZE,1,[Define to 1 to compile-in code to detect screensize])
+
+###   use option --enable-hard-tabs to turn on use of hard-tabs optimize
+AC_MSG_CHECKING(if you want hard-tabs code)
+AC_ARG_ENABLE(hard-tabs,
+       [  --enable-hard-tabs      compile with hard-tabs code],,
+       [enable_hard_tabs=$with_develop])
+AC_MSG_RESULT($enable_hard_tabs)
+test "x$enable_hard_tabs" = xyes && AC_DEFINE(USE_HARD_TABS,1,[Define to 1 to compile with hard-tabs code])
+
+###   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 support for xmc (magic-cookie)],,
+       [enable_xmc_glitch=$with_develop])
+AC_MSG_RESULT($enable_xmc_glitch)
+test "x$enable_xmc_glitch" = xyes && AC_DEFINE(USE_XMC_SUPPORT,1,[Define to 1 to compile with support for xmc (magic-cookie)])
+
+###############################################################################
+# 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 "x$with_assumed_color" = xyes && AC_DEFINE(USE_ASSUMED_COLOR,1,[Define to 1 to assume things about default-colors])
+
+###   use option --enable-hashmap to turn on use of hashmap scrolling logic
+AC_MSG_CHECKING(if you want hashmap scrolling-optimization code)
+AC_ARG_ENABLE(hashmap,
+       [  --disable-hashmap       compile without hashmap scrolling-optimization],
+       [with_hashmap=$enableval],
+       [with_hashmap=yes])
+AC_MSG_RESULT($with_hashmap)
+test "x$with_hashmap" = xyes && AC_DEFINE(USE_HASHMAP,1,[Define to 1 to compile with hashmap scrolling-optimization])
+
+###   use option --enable-colorfgbg to turn on use of $COLORFGBG environment
+AC_MSG_CHECKING(if you want colorfgbg code)
+AC_ARG_ENABLE(colorfgbg,
+       [  --enable-colorfgbg      compile-in experimental $COLORFGBG code],
+       [with_colorfgbg=$enableval],
+       [with_colorfgbg=no])
+AC_MSG_RESULT($with_colorfgbg)
+test "x$with_colorfgbg" = xyes && AC_DEFINE(USE_COLORFGBG,1,[Define to 1 to compile-in experimental $COLORFGBG code])
+
+###   use option --enable-fvisibility to turn on use of gcc-specific feature
+AC_MSG_CHECKING(if you want to use gcc -fvisibility option)
+AC_ARG_ENABLE(fvisibility,
+       [  --enable-fvisibility    compile with -fvisibility=hidden],
+       [cf_with_fvisibility=$enableval],
+       [cf_with_fvisibility=no])
+AC_MSG_RESULT($cf_with_fvisibility)
+
+NCURSES_IMPEXP=
+NCURSES_CXX_IMPEXP=
+if test "x$cf_with_fvisibility" = xyes; then
+       CF_CHECK_FVISIBILITY($CC,CFLAGS,cf_cv_fvisibility_hidden)
+       if test "x$cf_cv_fvisibility_hidden" = xyes
+       then
+               CF_ADD_CFLAGS([-fvisibility=hidden])
+               NCURSES_IMPEXP="__attribute__ ((visibility(\"default\")))"
+       fi
+       if test -n "$CXX"
+       then
+               AC_LANG_PUSH(C++)
+               CF_CHECK_FVISIBILITY($CXX,CXXFLAGS,cf_cv_fvisibility_hidden2)
+               if test "x$cf_cv_fvisibility_hidden2" = xyes
+               then
+                       CF_ADD_CXXFLAGS([-fvisibility=hidden])
+                       NCURSES_CXX_IMPEXP="__attribute__ ((visibility(\"default\")))"
+               fi
+               AC_LANG_POP
+       fi
+fi
+AC_SUBST(NCURSES_IMPEXP)
+AC_SUBST(NCURSES_CXX_IMPEXP)
+
+###   use option --enable-interop to turn on use of bindings used for interop
+AC_MSG_CHECKING(if you want interop bindings)
+AC_ARG_ENABLE(interop,
+       [  --enable-interop        compile-in interop bindings],
+       [with_exp_interop=$enableval],
+       [with_exp_interop=$cf_dft_interop])
+AC_MSG_RESULT($with_exp_interop)
+
+NCURSES_INTEROP_FUNCS=0
+test "x$with_exp_interop" = xyes && NCURSES_INTEROP_FUNCS=1
+AC_SUBST(NCURSES_INTEROP_FUNCS)
+
+
 AC_MSG_CHECKING(if you want experimental safe-sprintf code)
 AC_ARG_ENABLE(safe-sprintf,
        [  --enable-safe-sprintf   compile with experimental safe-sprintf code],
        [with_safe_sprintf=$enableval],
        [with_safe_sprintf=no])
 AC_MSG_RESULT($with_safe_sprintf)
 AC_MSG_CHECKING(if you want experimental safe-sprintf code)
 AC_ARG_ENABLE(safe-sprintf,
        [  --enable-safe-sprintf   compile with experimental safe-sprintf code],
        [with_safe_sprintf=$enableval],
        [with_safe_sprintf=no])
 AC_MSG_RESULT($with_safe_sprintf)
-test "x$with_safe_sprintf" = xyes && AC_DEFINE(USE_SAFE_SPRINTF,1,[Define to 1 to compile with experimental safe-sprintf code])
 
 ###   use option --disable-scroll-hints to turn off use of scroll-hints scrolling logic
 # when hashmap is used scroll hints are useless
 
 ###   use option --disable-scroll-hints to turn off use of scroll-hints scrolling logic
 # when hashmap is used scroll hints are useless
@@ -1223,13 +1588,45 @@ AC_MSG_RESULT($with_scroll_hints)
 test "x$with_scroll_hints" = xyes && AC_DEFINE(USE_SCROLL_HINTS,1,[Define to 1 to compile without scroll-hints code])
 fi
 
 test "x$with_scroll_hints" = xyes && AC_DEFINE(USE_SCROLL_HINTS,1,[Define to 1 to compile without scroll-hints code])
 fi
 
-AC_MSG_CHECKING(if you want experimental wgetch-events code)
+AC_MSG_CHECKING(if you want wgetch-events code)
 AC_ARG_ENABLE(wgetch-events,
 AC_ARG_ENABLE(wgetch-events,
-       [  --enable-wgetch-events  compile with experimental wgetch-events code],
+       [  --enable-wgetch-events  compile with wgetch-events code],
        [with_wgetch_events=$enableval],
        [with_wgetch_events=no])
 AC_MSG_RESULT($with_wgetch_events)
        [with_wgetch_events=$enableval],
        [with_wgetch_events=no])
 AC_MSG_RESULT($with_wgetch_events)
-test "x$with_wgetch_events" = xyes && AC_DEFINE(NCURSES_WGETCH_EVENTS,1,[Define to 1 to compile with experimental wgetch-events code])
+if test "x$with_wgetch_events" = xyes ; then
+       AC_DEFINE(NCURSES_WGETCH_EVENTS,1,[Define to 1 to compile with wgetch-events code])
+       NCURSES_WGETCH_EVENTS=1
+else
+       NCURSES_WGETCH_EVENTS=0
+fi
+AC_SUBST(NCURSES_WGETCH_EVENTS)
+
+case "$cf_cv_system_name" in
+(*mingw32*|*mingw64*|*-msvc*)
+       AC_MSG_CHECKING(if you want experimental-Windows driver)
+       AC_ARG_ENABLE(exp-win32,
+               [  --enable-exp-win32      compile with experimental-Windows driver],
+               [with_exp_win32=$enableval],
+               [with_exp_win32=no])
+       AC_MSG_RESULT($with_exp_win32)
+       if test "x$with_exp_win32" = xyes
+       then
+               AC_DEFINE(EXP_WIN32_DRIVER,1,[Define to 1 to compile with experimental win32 driver])
+               EXP_WIN32_DRIVER=1
+               INTERNALS_HDR='[$](INCDIR)/nc_win32.h'
+       else
+               INTERNALS_HDR='[$](INCDIR)/nc_mingw.h'
+               EXP_WIN32_DRIVER=0
+       fi
+       ;;
+(*)
+       EXP_WIN32_DRIVER=0
+       INTERNALS_HDR=
+       ;;
+esac
+AC_SUBST(EXP_WIN32_DRIVER)
+AC_SUBST(INTERNALS_HDR)
 
 ###############################################################################
 CF_HELP_MESSAGE(Testing/development Options:)
 
 ###############################################################################
 CF_HELP_MESSAGE(Testing/development Options:)
@@ -1245,21 +1642,33 @@ else
 fi
 AC_SUBST(ECHO_LINK)
 
 fi
 AC_SUBST(ECHO_LINK)
 
+# --disable-stripping is used for debugging
+CF_INSTALL_OPTS
+
+# If we're avoiding relinking of shared libraries during install, that is to
+# avoid modifying the build-tree.  For the same reason, avoid doing ranlib if
+# the install program has "-p" (for preserving timestamps).
+cf_cv_do_reranlib=yes
+if test "x$cf_cv_install_p" = xyes
+then
+       if test "x$cf_cv_do_relink" != xyes
+       then
+               cf_cv_do_reranlib=no
+               INSTALL_OPT_P="-p"
+               INSTALL_LIB="$INSTALL_LIB $INSTALL_OPT_P"
+       fi
+fi
+AC_SUBST(INSTALL_OPT_P)
+
 ###    use option --enable-warnings to turn on all gcc warnings
 ###    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_MSG_RESULT($with_warnings)
-
-if test "x$with_warnings" = "xyes"; then
-       CF_ADD_ADAFLAGS(-gnatg)
-       CF_GCC_WARNINGS(Wdeclaration-after-statement Wextra Wno-unknown-pragmas Wswitch-enum)
+CF_ENABLE_WARNINGS(Wno-unknown-pragmas Wswitch-enum,yes)
+
+if test "x$enable_warnings" = "xyes"; then
+       CF_ADD_ADAFLAGS(-gnatwa -gnatyg)
        if test "x$cf_with_cxx" = xyes ; then
                CF_GXX_WARNINGS(Wno-unused)
        fi
 fi
        if test "x$cf_with_cxx" = xyes ; then
                CF_GXX_WARNINGS(Wno-unused)
        fi
 fi
-CF_GCC_ATTRIBUTES
 CF_ENABLE_STRING_HACKS
 
 ###    use option --enable-assertions to turn on generation of assertion code
 CF_ENABLE_STRING_HACKS
 
 ###    use option --enable-assertions to turn on generation of assertion code
@@ -1297,7 +1706,7 @@ AC_ARG_ENABLE(macros,
 # extended to all models of the ncurses library:
 cf_all_traces=no
 case "$CFLAGS $CPPFLAGS" in
 # extended to all models of the ncurses library:
 cf_all_traces=no
 case "$CFLAGS $CPPFLAGS" in
-*-DTRACE*)
+(*-DTRACE*)
        cf_all_traces=yes
        ;;
 esac
        cf_all_traces=yes
        ;;
 esac
@@ -1313,6 +1722,7 @@ if test "x$cf_with_trace" = xyes ; then
        LIB_TRACING=all
        ADA_TRACE=TRUE
        CF_ADD_CFLAGS(-DTRACE)
        LIB_TRACING=all
        ADA_TRACE=TRUE
        CF_ADD_CFLAGS(-DTRACE)
+       AC_DEFINE(HAVE__TRACEF,1,[Define to 1 if we have _tracef function])
 else
        LIB_TRACING=DEBUG
        ADA_TRACE=FALSE
 else
        LIB_TRACING=DEBUG
        ADA_TRACE=FALSE
@@ -1320,17 +1730,20 @@ fi
 
 AC_SUBST(ADA_TRACE)
 
 
 AC_SUBST(ADA_TRACE)
 
+CF_DISABLE_GNAT_PROJECTS
+
 ###    Checks for libraries.
 ###    Checks for libraries.
-case $cf_cv_system_name in #(vi
-*mingw32*) #(vi
+case "$cf_cv_system_name" in
+(*mingw32*|*mingw64*)
+       # Note: WINVER may be a problem with Windows 10
+       if test "x$with_exp_win32" = xyes ; then
+               CPPFLAGS="$CPPFLAGS -DWINVER=0x0600 -DWIN32_LEAN_AND_MEAN"
+       else
+               CPPFLAGS="$CPPFLAGS -DWINVER=0x0501 -DWIN32_LEAN_AND_MEAN"
+       fi
+       CF_CHECK_LIBSSP
        ;;
        ;;
-*)
-AC_CHECK_FUNC(gettimeofday,
-       AC_DEFINE(HAVE_GETTIMEOFDAY,1,[Define to 1 if we have gettimeofday function]),[
-
-AC_CHECK_LIB(bsd, gettimeofday,
-       AC_DEFINE(HAVE_GETTIMEOFDAY,1,[Define to 1 if we have gettimeofday function])
-       CF_ADD_LIB(bsd))])dnl CLIX: bzero, select, gettimeofday
+(*)
        ;;
 esac
 
        ;;
 esac
 
@@ -1338,8 +1751,6 @@ CF_MATH_LIB(MATH_LIB,pow(sin(x),x))
 AC_SUBST(MATH_LIB)
 
 ###    Checks for header files.
 AC_SUBST(MATH_LIB)
 
 ###    Checks for header files.
-AC_STDC_HEADERS
-AC_HEADER_DIRENT
 AC_HEADER_TIME
 CF_REGEX
 
 AC_HEADER_TIME
 CF_REGEX
 
@@ -1351,25 +1762,25 @@ limits.h \
 locale.h \
 math.h \
 poll.h \
 locale.h \
 math.h \
 poll.h \
-sys/bsdtypes.h \
+sys/auxv.h \
 sys/ioctl.h \
 sys/param.h \
 sys/poll.h \
 sys/select.h \
 sys/time.h \
 sys/times.h \
 sys/ioctl.h \
 sys/param.h \
 sys/poll.h \
 sys/select.h \
 sys/time.h \
 sys/times.h \
-ttyent.h \
 unistd.h \
 wctype.h \
 )
 
 CF_GETOPT_HEADER
 
 unistd.h \
 wctype.h \
 )
 
 CF_GETOPT_HEADER
 
-# check for ISC (this may also define _POSIX_SOURCE)
-# Note: even non-Posix ISC needs <sys/bsdtypes.h> to declare fd_set
-if test "x$ISC" = xyes ; then
-       AC_CHECK_LIB(cposix,main)
-       AC_CHECK_LIB(inet,bzero,CF_ADD_LIB(inet))dnl also 'select()'
+CF_CHECK_ENVIRON(environ)
+CF_CHECK_GETENV
+if test "x$cf_cv_consistent_getenv" = xno && \
+       test "x$cf_with_trace" = xyes
+then
+       AC_MSG_WARN(The NCURSES_TRACE environment variable is not supported with this configuration)
 fi
 
 CF_SYS_TIME_SELECT
 fi
 
 CF_SYS_TIME_SELECT
@@ -1380,7 +1791,7 @@ AC_C_CONST
 CF_C_INLINE(NCURSES_INLINE,1200)
 CF_SIG_ATOMIC_T
 
 CF_C_INLINE(NCURSES_INLINE,1200)
 CF_SIG_ATOMIC_T
 
-if test $NCURSES_CHTYPE = auto ; then
+if test "$NCURSES_CHTYPE" = auto ; then
        CF_TYPEOF_CHTYPE
 else
        cf_cv_typeof_chtype=$NCURSES_CHTYPE
        CF_TYPEOF_CHTYPE
 else
        cf_cv_typeof_chtype=$NCURSES_CHTYPE
@@ -1394,7 +1805,7 @@ test ".$cf_cv_unsigned_literals" = .yes && cf_cv_1UL="${cf_cv_1UL}U"
 test ".$cf_cv_typeof_chtype"    = .long && cf_cv_1UL="${cf_cv_1UL}L"
 AC_SUBST(cf_cv_1UL)
 
 test ".$cf_cv_typeof_chtype"    = .long && cf_cv_1UL="${cf_cv_1UL}L"
 AC_SUBST(cf_cv_1UL)
 
-if test $NCURSES_MMASK_T = auto ; then
+if test "$NCURSES_MMASK_T" = auto ; then
        cf_cv_typeof_mmask_t=long
 else
        cf_cv_typeof_mmask_t=$NCURSES_MMASK_T
        cf_cv_typeof_mmask_t=long
 else
        cf_cv_typeof_mmask_t=$NCURSES_MMASK_T
@@ -1407,28 +1818,53 @@ CF_ERRNO
 CF_LINK_DATAONLY
 
 ###    Checks for library functions.
 CF_LINK_DATAONLY
 
 ###    Checks for library functions.
+CF_FUNC_GETTIME
 AC_CHECK_FUNCS( \
 AC_CHECK_FUNCS( \
+fpathconf \
 getcwd \
 getcwd \
+getauxval \
 getegid \
 geteuid \
 getegid \
 geteuid \
-getttynam \
+getopt \
+getuid \
 issetugid \
 issetugid \
+localeconv \
 poll \
 poll \
-putenv \
 remove \
 select \
 setbuf \
 setbuffer \
 remove \
 select \
 setbuf \
 setbuffer \
-setenv \
+setfsuid \
 setvbuf \
 sigaction \
 sigvec \
 setvbuf \
 sigaction \
 sigvec \
+snprintf \
 strdup \
 strstr \
 strdup \
 strstr \
+sysconf \
 tcgetpgrp \
 times \
 tcgetpgrp \
 times \
+tsearch \
 vsnprintf \
 )
 vsnprintf \
 )
+
+CF_FUNC_GETTTYNAM
+
+if test "x$ac_cv_func_getopt" = xno && \
+   test "x$cf_with_progs$cf_with_tests" != xnono; then
+       AC_MSG_ERROR(getopt is required for building programs)
+fi
+
+if test "x$with_safe_sprintf" = xyes
+then
+       if test "x$ac_cv_func_vsnprintf" = xyes
+       then
+               AC_MSG_WARN(will use vsnprintf instead of safe-sprintf option)
+       else
+               AC_DEFINE(USE_SAFE_SPRINTF,1,[Define to 1 to compile with experimental safe-sprintf code])
+       fi
+fi
+
 if test "x$with_getcap" = "xyes" ; then
        CF_CGETENT
 fi
 if test "x$with_getcap" = "xyes" ; then
        CF_CGETENT
 fi
@@ -1450,21 +1886,24 @@ else
        AC_FUNC_SETVBUF_REVERSED
 fi
 AC_CHECK_TYPE(intptr_t, long)
        AC_FUNC_SETVBUF_REVERSED
 fi
 AC_CHECK_TYPE(intptr_t, long)
+AC_CHECK_TYPE(ssize_t, int)
 CF_TYPE_SIGACTION
 CF_SIZECHANGE
 CF_FUNC_MEMMOVE
 CF_FUNC_POLL
 CF_TYPE_SIGACTION
 CF_SIZECHANGE
 CF_FUNC_MEMMOVE
 CF_FUNC_POLL
+CF_MB_LEN_MAX
 CF_VA_COPY
 AC_FUNC_VFORK
 CF_VA_COPY
 AC_FUNC_VFORK
+CF_FOPEN_BIN_R
 
 # special check for test/ditto.c
 CF_FUNC_OPENPTY
 if test "$cf_cv_func_openpty" != no ; then
 
 # special check for test/ditto.c
 CF_FUNC_OPENPTY
 if test "$cf_cv_func_openpty" != no ; then
-    AC_DEFINE_UNQUOTED(USE_OPENPTY_HEADER,<$cf_cv_func_openpty>,[Define to actual header for openpty function])
-    AC_DEFINE(USE_XTERM_PTY,1,[Define to 1 if we should assume xterm pseudoterminal interface])
-    if test "x$cf_cv_lib_util" = xyes ; then
-        CF_ADD_LIB(util,TEST_LIBS)
-    fi
+       AC_DEFINE_UNQUOTED(USE_OPENPTY_HEADER,<$cf_cv_func_openpty>,[Define to actual header for openpty function])
+       AC_DEFINE(USE_XTERM_PTY,1,[Define to 1 if we should assume xterm pseudoterminal interface])
+       if test "x$cf_cv_lib_util" = xyes ; then
+               CF_ADD_LIB(util,TEST_LIBS)
+       fi
 fi
 AC_SUBST(TEST_LIBS)
 AC_SUBST(TEST_LIBS2)
 fi
 AC_SUBST(TEST_LIBS)
 AC_SUBST(TEST_LIBS2)
@@ -1475,7 +1914,7 @@ if test "$with_hashed_db" != no ; then
 fi
 
 dnl We'll do our own -g libraries, unless the user's overridden via $CFLAGS
 fi
 
 dnl We'll do our own -g libraries, unless the user's overridden via $CFLAGS
-if test -z "$cf_user_CFLAGS" && test "$with_no_leaks" = no ; then
+if test -z "$cf_user_CFLAGS" && test "$enable_leaks" = yes ; then
        CF_STRIP_G_OPT(CFLAGS)
        CF_STRIP_G_OPT(CXXFLAGS)
 fi
        CF_STRIP_G_OPT(CFLAGS)
        CF_STRIP_G_OPT(CXXFLAGS)
 fi
@@ -1487,16 +1926,16 @@ CF_BOOL_DECL(cf_cv_cc_bool_type)
 if test -n "$CXX" ; then
        AC_LANG_CPLUSPLUS
        CF_STDCPP_LIBRARY
 if test -n "$CXX" ; then
        AC_LANG_CPLUSPLUS
        CF_STDCPP_LIBRARY
-       CF_PROG_CC_C_O(CXX)
+       CF_PROG_CC_C_O(CXX,[$CXXFLAGS $CPPFLAGS])
 
 
-       case $GXX_VERSION in
-       1*|2.[0-6]*)
+       case "$GXX_VERSION" in
+       (1.*|2.[[0-6]]*|[[1-9]][[0-9]].*)
                cf_cxx_library=yes
                ;;
                cf_cxx_library=yes
                ;;
-       *-2.7*|2.7*)
+       (*-2.7*|2.7*)
                CF_GPP_LIBRARY
                ;;
                CF_GPP_LIBRARY
                ;;
-       *)
+       (*)
                cf_cxx_library=no
                ;;
        esac
                cf_cxx_library=no
                ;;
        esac
@@ -1506,6 +1945,7 @@ if test -n "$CXX" ; then
        CF_BOOL_DECL
        CF_BOOL_SIZE
        CF_ETIP_DEFINES
        CF_BOOL_DECL
        CF_BOOL_SIZE
        CF_ETIP_DEFINES
+       CF_CPP_OVERRIDE
        CF_CPP_PARAM_INIT
        CF_CPP_STATIC_CAST
        CF_CXX_AR_FLAGS
        CF_CPP_PARAM_INIT
        CF_CPP_STATIC_CAST
        CF_CXX_AR_FLAGS
@@ -1530,9 +1970,9 @@ else
                        CF_BOOL_SIZE
                else
                        AC_MSG_CHECKING(for fallback type of bool)
                        CF_BOOL_SIZE
                else
                        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  ;;
+                       case "$host_cpu" in
+                       (i?86)  cf_cv_type_of_bool=char ;;
+                       (*)     cf_cv_type_of_bool=int  ;;
                        esac
                        AC_MSG_RESULT($cf_cv_type_of_bool)
                fi
                        esac
                        AC_MSG_RESULT($cf_cv_type_of_bool)
                fi
@@ -1546,11 +1986,11 @@ AC_SUBST(CXXLIBS)
 # specify the type of bool in a configure-script option and postpone
 # integration with the C++ compiler provided that the types are compatible.
 USE_CXX_BOOL=1
 # specify the type of bool in a configure-script option and postpone
 # integration with the C++ compiler provided that the types are compatible.
 USE_CXX_BOOL=1
-if test $cf_cv_cc_bool_type = 1
+if test "$cf_cv_cc_bool_type" = 1
 then
        # oops: C has a bool.  Unlikely, but C++ could differ.
        USE_CXX_BOOL=0
 then
        # oops: C has a bool.  Unlikely, but C++ could differ.
        USE_CXX_BOOL=0
-elif test $cf_cv_builtin_bool = 0
+elif test "$cf_cv_builtin_bool" = 0
 then
        # C++ has no bool
        USE_CXX_BOOL=0
 then
        # C++ has no bool
        USE_CXX_BOOL=0
@@ -1560,7 +2000,7 @@ else
 fi
 AC_SUBST(USE_CXX_BOOL)
 
 fi
 AC_SUBST(USE_CXX_BOOL)
 
-CF_HELP_MESSAGE(Ada95 Binding Options:)
+CF_HELP_MESSAGE(Ada Binding Options:)
 
 dnl If the Ada95 source-tree is present, add that to the build unless it will
 dnl not work, or was not requested.
 
 dnl If the Ada95 source-tree is present, add that to the build unless it will
 dnl not work, or was not requested.
@@ -1577,16 +2017,17 @@ dnl libtool -TD 20070714
        fi
 
 dnl Check for availability of GNU Ada Translator (GNAT).
        fi
 
 dnl Check for availability of GNU Ada Translator (GNAT).
-dnl At the moment we support no other Ada95 compiler.
+dnl At the moment we support no other Ada compiler.
        if test "$cf_with_ada" != "no" ; then
                CF_PROG_GNAT
                if test "x$cf_cv_prog_gnat_correct" = xyes; then
                        CF_ADD_ADAFLAGS(-gnatpn)
                        CF_FIXUP_ADAFLAGS
 
        if test "$cf_with_ada" != "no" ; then
                CF_PROG_GNAT
                if test "x$cf_cv_prog_gnat_correct" = xyes; then
                        CF_ADD_ADAFLAGS(-gnatpn)
                        CF_FIXUP_ADAFLAGS
 
+                       CF_GNATPREP_OPT_T
+
                        CF_GNAT_GENERICS
                        CF_GNAT_SIGINT
                        CF_GNAT_GENERICS
                        CF_GNAT_SIGINT
-                       CF_GNAT_PRAGMA_UNREF
                        CF_GNAT_PROJECTS
 
                        CF_WITH_ADA_COMPILER
                        CF_GNAT_PROJECTS
 
                        CF_WITH_ADA_COMPILER
@@ -1597,6 +2038,9 @@ dnl At the moment we support no other Ada95 compiler.
                        CF_WITH_ADA_INCLUDE
                        CF_WITH_ADA_OBJECTS
                        CF_WITH_ADA_SHAREDLIB
                        CF_WITH_ADA_INCLUDE
                        CF_WITH_ADA_OBJECTS
                        CF_WITH_ADA_SHAREDLIB
+
+                       # allow the Ada binding to be renamed
+                       CF_WITH_ADA_LIBNAME(AdaCurses)
                fi
        fi
 else
                fi
        fi
 else
@@ -1606,6 +2050,16 @@ fi
 # do this "late" to avoid conflict with header-checks
 if test "x$with_widec" = xyes ; then
        AC_CHECK_SIZEOF(wchar_t)
 # do this "late" to avoid conflict with header-checks
 if test "x$with_widec" = xyes ; then
        AC_CHECK_SIZEOF(wchar_t)
+       # cross-compiling to mingw can run into the problem that attempting to
+       # link with the regex library fails, causing the test to not set this to
+       # a number.  "recent" autoconf does not address this problem either -TD
+       if test -z "$ac_cv_sizeof_wchar_t"
+       then
+               CF_VERBOSE(test failed (assume 2))
+               sed /SIZEOF_WCHAR_T/d confdefs.h >confdefs.tmp
+               mv confdefs.tmp confdefs.h
+               echo "#define SIZEOF_WCHAR_T 2" >>confdefs.h
+       fi
 fi
 
 ### Construct the ncurses library-subsets, if any, from this set of keywords:
 fi
 
 ### Construct the ncurses library-subsets, if any, from this set of keywords:
@@ -1645,14 +2099,27 @@ LIB_SUBSETS="${LIB_SUBSETS}base"
 # base library (so it resides in base).
 if test "$with_term_driver" != no ; then
        LIB_SUBSETS="${LIB_SUBSETS}+port_drivers"
 # base library (so it resides in base).
 if test "$with_term_driver" != no ; then
        LIB_SUBSETS="${LIB_SUBSETS}+port_drivers"
-       case $cf_cv_system_name in #(vi
-       *mingw32*) #(vi
-               LIB_SUBSETS="${LIB_SUBSETS}+port_tinfo+port_win32con"
+       case "$cf_cv_system_name" in
+       (*mingw32*|*mingw64*)
+               if test "x$with_exp_win32" = xyes ; then
+                       LIB_SUBSETS="${LIB_SUBSETS}+port_tinfo+port_win32"
+               else
+                       LIB_SUBSETS="${LIB_SUBSETS}+port_tinfo+port_win32con"
+               fi
+               CPPFLAGS="$CPPFLAGS -DUSE_WIN32CON_DRIVER"
                ;;
                ;;
-       *) #(vi
+       (*)
                LIB_SUBSETS="${LIB_SUBSETS}+port_tinfo"
                ;;
        esac
                LIB_SUBSETS="${LIB_SUBSETS}+port_tinfo"
                ;;
        esac
+elif test "x$with_exp_win32" = xyes ; then
+       case "$cf_cv_system_name" in
+       (*mingw32*|*mingw64*)
+               LIB_SUBSETS="${LIB_SUBSETS}+port_win32"
+               ;;
+       (*)
+               ;;
+       esac
 fi
 
 test "x$with_widec"     = xyes && LIB_SUBSETS="${LIB_SUBSETS}+widechar"
 fi
 
 test "x$with_widec"     = xyes && LIB_SUBSETS="${LIB_SUBSETS}+widechar"
@@ -1698,8 +2165,8 @@ fi
 
 # do not want -ldl in build except as needed for -lncurses dependency
 if test "x$with_dlsym" = xyes ; then
 
 # do not want -ldl in build except as needed for -lncurses dependency
 if test "x$with_dlsym" = xyes ; then
-if test $DFT_LWR_MODEL = shared || \
-   test $DFT_LWR_MODEL = libtool ; then
+if test "$DFT_LWR_MODEL" = shared || \
+   test "$DFT_LWR_MODEL" = libtool ; then
        CF_REMOVE_LIB(LIBS,$LIBS,dl)
 fi
 fi
        CF_REMOVE_LIB(LIBS,$LIBS,dl)
 fi
 fi
@@ -1712,23 +2179,37 @@ if test "x$with_dlsym" = xyes ; then
        CF_REMOVE_LIB(TINFO_LIST,$SHLIB_LIST,dl)
 fi
 
        CF_REMOVE_LIB(TINFO_LIST,$SHLIB_LIST,dl)
 fi
 
+USE_ARG_SUFFIX="${DFT_ARG_SUFFIX}${EXTRA_SUFFIX}"
+USE_LIB_SUFFIX="${LIB_SUFFIX}${EXTRA_SUFFIX}"
+USE_CFG_SUFFIX=${DFT_ARG_SUFFIX}${cf_cv_abi_version}
+if test -n "$EXTRA_SUFFIX" && test "x$EXTRA_SUFFIX" != "x${cf_cv_abi_version}"
+then
+       USE_CFG_SUFFIX="${USE_CFG_SUFFIX}${EXTRA_SUFFIX}"
+fi
+AC_SUBST(USE_ARG_SUFFIX)
+AC_SUBST(USE_CFG_SUFFIX)
+AC_SUBST(USE_LIB_SUFFIX)
+
 if test "$with_ticlib" != no ; then
 
        if test "x$with_ticlib" != xyes ; then
                TICS_NAME=$with_ticlib
 if test "$with_ticlib" != no ; then
 
        if test "x$with_ticlib" != xyes ; then
                TICS_NAME=$with_ticlib
-               TICS_ARG_SUFFIX="${with_ticlib}`echo ${DFT_ARG_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`"
-               TICS_DEP_SUFFIX="${with_ticlib}`echo ${DFT_DEP_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`"
+               TICS_SUFFIX="`echo "${DFT_LIB_SUFFIX}" |sed -e "s/^${USE_LIB_SUFFIX}//"`"
+               TICS_ARG_SUFFIX="${with_ticlib}`echo "${USE_ARG_SUFFIX}" |sed -e "s/^${LIB_SUFFIX}//"`"
+               TICS_DEP_SUFFIX="${with_ticlib}`echo "${DFT_DEP_SUFFIX}" |sed -e "s/^${LIB_SUFFIX}//"`"
                TICS_LIB_SUFFIX="${with_ticlib}"
        else
                TICS_LIB_SUFFIX="${with_ticlib}"
        else
-               TICS_ARG_SUFFIX="${TICS_NAME}${DFT_ARG_SUFFIX}"
+               TICS_SUFFIX=${DFT_LIB_SUFFIX}
+               TICS_ARG_SUFFIX="${TICS_NAME}${USE_ARG_SUFFIX}"
                TICS_DEP_SUFFIX="${TICS_NAME}${DFT_DEP_SUFFIX}"
                TICS_DEP_SUFFIX="${TICS_NAME}${DFT_DEP_SUFFIX}"
-               TICS_LIB_SUFFIX="${TICS_NAME}${LIB_SUFFIX}"
+               TICS_LIB_SUFFIX="${TICS_NAME}${USE_LIB_SUFFIX}"
        fi
        TICS_LDFLAGS="-L${LIB_DIR}"
        fi
        TICS_LDFLAGS="-L${LIB_DIR}"
-       TICS_LIBS="-l${TICS_LIB_SUFFIX}"
+       TICS_LIBS="-l${TICS_ARG_SUFFIX}"
 else
 else
+       TICS_SUFFIX=${DFT_LIB_SUFFIX}
        TICS_LDFLAGS="-L${LIB_DIR}"
        TICS_LDFLAGS="-L${LIB_DIR}"
-       TICS_LIBS="-l${LIB_NAME}${DFT_ARG_SUFFIX}"
+       TICS_LIBS="-l${LIB_NAME}${USE_ARG_SUFFIX}"
 fi
 AC_SUBST(TICS_ARG_SUFFIX)
 AC_SUBST(TICS_DEP_SUFFIX)
 fi
 AC_SUBST(TICS_ARG_SUFFIX)
 AC_SUBST(TICS_DEP_SUFFIX)
@@ -1740,15 +2221,15 @@ if test "$with_termlib" != no ; then
 
        if test "x$with_termlib" != xyes ; then
                TINFO_NAME=$with_termlib
 
        if test "x$with_termlib" != xyes ; then
                TINFO_NAME=$with_termlib
-               TINFO_SUFFIX="`echo ${DFT_LIB_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`"
-               TINFO_ARG_SUFFIX="${with_termlib}`echo ${DFT_ARG_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`"
-               TINFO_DEP_SUFFIX="${with_termlib}`echo ${DFT_DEP_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`"
+               TINFO_SUFFIX="`echo "${DFT_LIB_SUFFIX}" |sed -e "s/^${USE_LIB_SUFFIX}//"`"
+               TINFO_ARG_SUFFIX="${with_termlib}`echo "${USE_ARG_SUFFIX}" |sed -e "s/^${LIB_SUFFIX}//"`"
+               TINFO_DEP_SUFFIX="${with_termlib}`echo "${DFT_DEP_SUFFIX}" |sed -e "s/^${LIB_SUFFIX}//"`"
                TINFO_LIB_SUFFIX="${with_termlib}"
        else
                TINFO_SUFFIX=${DFT_LIB_SUFFIX}
                TINFO_LIB_SUFFIX="${with_termlib}"
        else
                TINFO_SUFFIX=${DFT_LIB_SUFFIX}
-               TINFO_ARG_SUFFIX="${TINFO_NAME}${DFT_ARG_SUFFIX}"
+               TINFO_ARG_SUFFIX="${TINFO_NAME}${USE_ARG_SUFFIX}"
                TINFO_DEP_SUFFIX="${TINFO_NAME}${DFT_DEP_SUFFIX}"
                TINFO_DEP_SUFFIX="${TINFO_NAME}${DFT_DEP_SUFFIX}"
-               TINFO_LIB_SUFFIX="${TINFO_NAME}${LIB_SUFFIX}"
+               TINFO_LIB_SUFFIX="${TINFO_NAME}${USE_LIB_SUFFIX}"
        fi
 
        TEST_DEPS="${LIB_DIR}/${LIB_PREFIX}${TINFO_DEP_SUFFIX}"
        fi
 
        TEST_DEPS="${LIB_DIR}/${LIB_PREFIX}${TINFO_DEP_SUFFIX}"
@@ -1764,9 +2245,9 @@ if test "$with_termlib" != no ; then
                TEST_ARGS="-l${TINFO_ARG_SUFFIX}"
                TEST_ARG2="-l${TINFO_ARG_SUFFIX}"
                if test "x$with_term_driver" != xno ; then
                TEST_ARGS="-l${TINFO_ARG_SUFFIX}"
                TEST_ARG2="-l${TINFO_ARG_SUFFIX}"
                if test "x$with_term_driver" != xno ; then
-                       TICS_LIST="$SHLIB_LIST -l${LIB_NAME}${DFT_ARG_SUFFIX}"
-                       TICS_LIBS="$TICS_LIBS -l${LIB_NAME}${DFT_ARG_SUFFIX}"
-                       TINFO_LIBS="-l${LIB_NAME}${DFT_ARG_SUFFIX} $TEST_ARGS"
+                       TICS_LIST="$SHLIB_LIST -l${LIB_NAME}${USE_ARG_SUFFIX}"
+                       TICS_LIBS="$TICS_LIBS -l${LIB_NAME}${USE_ARG_SUFFIX}"
+                       TINFO_LIBS="-l${LIB_NAME}${USE_ARG_SUFFIX} $TEST_ARGS"
                else
                        TICS_LIST="$SHLIB_LIST -l${TINFO_LIB_SUFFIX}"
                        TINFO_LIBS="$TEST_ARGS"
                else
                        TICS_LIST="$SHLIB_LIST -l${TINFO_LIB_SUFFIX}"
                        TINFO_LIBS="$TEST_ARGS"
@@ -1778,21 +2259,21 @@ else
        # the next lines are needed for linking libtic over libncurses
        TINFO_NAME=${LIB_NAME}
        TINFO_SUFFIX=${DFT_LIB_SUFFIX}
        # the next lines are needed for linking libtic over libncurses
        TINFO_NAME=${LIB_NAME}
        TINFO_SUFFIX=${DFT_LIB_SUFFIX}
-       TINFO_ARG_SUFFIX=${LIB_NAME}${DFT_ARG_SUFFIX}
+       TINFO_ARG_SUFFIX=${LIB_NAME}${USE_ARG_SUFFIX}
        if test "x$with_tic_depends" = xyes ; then
        if test "x$with_tic_depends" = xyes ; then
-               TICS_LIST="$SHLIB_LIST -l${LIB_NAME}${DFT_ARG_SUFFIX}"
+               TICS_LIST="$SHLIB_LIST -l${LIB_NAME}${USE_ARG_SUFFIX}"
        else
                TICS_LIST="$SHLIB_LIST"
        fi
 
        TINFO_LDFLAGS="-L${LIB_DIR}"
        else
                TICS_LIST="$SHLIB_LIST"
        fi
 
        TINFO_LDFLAGS="-L${LIB_DIR}"
-       TINFO_LIBS="-l${LIB_NAME}${DFT_ARG_SUFFIX}"
+       TINFO_LIBS="-l${LIB_NAME}${USE_ARG_SUFFIX}"
 fi
 
 if test "$DFT_LWR_MODEL" = shared ; then
 fi
 
 if test "$DFT_LWR_MODEL" = shared ; then
-       case $cf_cv_system_name in #(vi
-       cygwin*)
-               # "lib" files have ".dll.a" suffix, "cyg" files have ".dll"
+       case "$cf_cv_system_name" in
+       (cygwin*|msys*)
+               # "lib" files have ".dll.a" suffix, "cyg"or "msys-" files have ".dll"
                TINFO_SUFFIX=.dll
                ;;
        esac
                TINFO_SUFFIX=.dll
                ;;
        esac
@@ -1809,24 +2290,29 @@ if test "x$with_dlsym" = xyes ; then
 fi
 
 if test "$DFT_LWR_MODEL" = "libtool"; then
 fi
 
 if test "$DFT_LWR_MODEL" = "libtool"; then
-    OBJEXT=lo
+       OBJEXT=lo
 fi
 
 # needed for Ada95
 TINFO_LDFLAGS2=`echo "$TINFO_LDFLAGS" | sed -e 's,-L\.\./,-L../../,'`
 AC_SUBST(TINFO_LDFLAGS2)
 
 fi
 
 # needed for Ada95
 TINFO_LDFLAGS2=`echo "$TINFO_LDFLAGS" | sed -e 's,-L\.\./,-L../../,'`
 AC_SUBST(TINFO_LDFLAGS2)
 
-case $DFT_LWR_MODEL in
-normal|debug|profile)
+case "$DFT_LWR_MODEL" in
+(normal|debug|profile)
        CF_LDFLAGS_STATIC
        ;;
 esac
 
 AC_MSG_CHECKING(where we will install curses.h)
        CF_LDFLAGS_STATIC
        ;;
 esac
 
 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(includesubdir)
+includesubdir=
+if test "$with_overwrite" = no && \
+ { test "x$includedir" = 'x${prefix}/include' || \
+   test "x$includedir" = "x${prefix}/include"; }
+then
+       includesubdir="/ncurses${USE_LIB_SUFFIX}"
+fi
+AC_MSG_RESULT(${includedir}${includesubdir})
 
 ### Resolve a conflict between normal and wide-curses by forcing applications
 ### that will need libutf8 to add it to their configure script.
 
 ### Resolve a conflict between normal and wide-curses by forcing applications
 ### that will need libutf8 to add it to their configure script.
@@ -1838,32 +2324,47 @@ fi
 fi
 WITH_OVERWRITE=$with_overwrite
 
 fi
 WITH_OVERWRITE=$with_overwrite
 
+### At least on MinGW a shared library build without libtool
+### requires adding the additional libs to the link list.
+case "$cf_cv_system_name" in
+(*mingw32*|*mingw64*)
+       if test "$DFT_LWR_MODEL" != "libtool"; then
+          SHLIB_LIST="$SHLIB_LIST ${LIBS}"
+       fi
+       ;;
+*)     ;;
+esac
+
 AC_SUBST(WITH_OVERWRITE)
 AC_SUBST(TICS_LIST)
 AC_SUBST(TINFO_LIST)
 AC_SUBST(SHLIB_LIST)
 
 AC_SUBST(WITH_OVERWRITE)
 AC_SUBST(TICS_LIST)
 AC_SUBST(TINFO_LIST)
 AC_SUBST(SHLIB_LIST)
 
-# used to separate tack out of the tree
-NCURSES_TREE=
-AC_SUBST(NCURSES_TREE)
-
 ### predefined stuff for the test programs
 AC_DEFINE(HAVE_SLK_COLOR,1,[Define to 1 if we have slk_color for test-programs])
 
 ### predefined stuff for the test programs
 AC_DEFINE(HAVE_SLK_COLOR,1,[Define to 1 if we have slk_color for test-programs])
 
+# pkgsrc uses these
+CF_HELP_MESSAGE(Library basenames for pkgsrc:)
+CF_WITH_LIB_BASENAME(FORM_NAME,form)
+CF_WITH_LIB_BASENAME(MENU_NAME,menu)
+CF_WITH_LIB_BASENAME(PANEL_NAME,panel)
+CF_WITH_LIB_BASENAME(CXX_NAME,cxx,ncurses++)
+
 ### Construct the list of subdirectories for which we'll customize makefiles
 ### with the appropriate compile-rules.
 
 CF_SRC_MODULES($modules_to_build)
 
 if test "x$cf_with_ada" = "xyes" && test "x$cf_cv_prog_gnat_correct" = "xyes"; then
 ### Construct the list of subdirectories for which we'll customize makefiles
 ### with the appropriate compile-rules.
 
 CF_SRC_MODULES($modules_to_build)
 
 if test "x$cf_with_ada" = "xyes" && test "x$cf_cv_prog_gnat_correct" = "xyes"; then
-   SUB_MAKEFILES="$SUB_MAKEFILES Ada95/gen/adacurses${DFT_ARG_SUFFIX}-config:Ada95/gen/adacurses-config.in"
-   SUB_MAKEFILES="$SUB_MAKEFILES man/adacurses${DFT_ARG_SUFFIX}-config.1:man/MKada_config.in"
+   SUB_MAKEFILES="$SUB_MAKEFILES Ada95/src/library.gpr:Ada95/src/library.gpr.in"
+   SUB_MAKEFILES="$SUB_MAKEFILES Ada95/gen/adacurses${USE_CFG_SUFFIX}-config:Ada95/gen/adacurses-config.in"
+   SUB_MAKEFILES="$SUB_MAKEFILES man/adacurses${USE_CFG_SUFFIX}-config.1:man/MKada_config.in"
 fi
 
 CF_DIRS_TO_MAKE
 
 # symbols that differ when compiling Ada95 by itself.
 fi
 
 CF_DIRS_TO_MAKE
 
 # symbols that differ when compiling Ada95 by itself.
-NCURSES_SHLIB2='sh $(top_srcdir)/misc/shlib'
+NCURSES_SHLIB2=$SHELL' $(top_srcdir)/misc/shlib'
 AC_SUBST(NCURSES_SHLIB2)
 
 # values to use as strings
 AC_SUBST(NCURSES_SHLIB2)
 
 # values to use as strings
@@ -1871,11 +2372,9 @@ AC_DEFINE_UNQUOTED(NCURSES_PATHSEP,'$PATH_SEPARATOR',[Define to override ':' as
 
 AC_DEFINE_UNQUOTED(NCURSES_VERSION_STRING, "${NCURSES_MAJOR}.${NCURSES_MINOR}.${NCURSES_PATCH}",[Define to 1 if machine has ample memory for tic])
 
 
 AC_DEFINE_UNQUOTED(NCURSES_VERSION_STRING, "${NCURSES_MAJOR}.${NCURSES_MINOR}.${NCURSES_PATCH}",[Define to 1 if machine has ample memory for tic])
 
-### Now that we're done running tests, add the compiler-warnings, if any
-CF_ADD_CFLAGS($EXTRA_CFLAGS)
-
 ### Define substitutions for header files to avoid name-pollution
 CF_SUBST_IF(["x$cf_cv_have_tcgetattr" = xyes], HAVE_TCGETATTR, 1, 0)
 ### Define substitutions for header files to avoid name-pollution
 CF_SUBST_IF(["x$cf_cv_have_tcgetattr" = xyes], HAVE_TCGETATTR, 1, 0)
+CF_SUBST_IF(["x$ac_cv_header_stdint_h" = xyes], HAVE_STDINT_H, 1, 0)
 CF_SUBST_IF(["x$ac_cv_header_termio_h" = xyes], HAVE_TERMIO_H, 1, 0)
 CF_SUBST_IF(["x$ac_cv_header_termios_h" = xyes], HAVE_TERMIOS_H, 1, 0)
 
 CF_SUBST_IF(["x$ac_cv_header_termio_h" = xyes], HAVE_TERMIO_H, 1, 0)
 CF_SUBST_IF(["x$ac_cv_header_termios_h" = xyes], HAVE_TERMIOS_H, 1, 0)
 
@@ -1884,27 +2383,13 @@ test "x$use_database" = xyes && \
 SUB_MAKEFILES="$SUB_MAKEFILES misc/run_tic.sh:misc/run_tic.in"
 
 SUB_MAKEFILES="$SUB_MAKEFILES misc/ncurses-config:misc/ncurses-config.in"
 SUB_MAKEFILES="$SUB_MAKEFILES misc/run_tic.sh:misc/run_tic.in"
 
 SUB_MAKEFILES="$SUB_MAKEFILES misc/ncurses-config:misc/ncurses-config.in"
-SUB_MAKEFILES="$SUB_MAKEFILES man/ncurses${DFT_ARG_SUFFIX}${cf_cv_abi_version}-config.1:man/MKncu_config.in"
+SUB_MAKEFILES="$SUB_MAKEFILES man/ncurses${USE_CFG_SUFFIX}-config.1:man/MKncu_config.in"
 
 
-if test "x$enable_pc_files" = xyes ; then \
+if test "x$enable_pc_files" = xyes && test -z "$MAKE_PC_FILES" ; then
 SUB_MAKEFILES="$SUB_MAKEFILES misc/gen-pkgconfig:misc/gen-pkgconfig.in"
 SUB_MAKEFILES="$SUB_MAKEFILES misc/gen-pkgconfig:misc/gen-pkgconfig.in"
-MAKE_PC_FILES=
-else
-MAKE_PC_FILES="#"
 fi
 fi
-AC_SUBST(MAKE_PC_FILES)
 AC_SUBST(cross_compiling)
 
 AC_SUBST(cross_compiling)
 
-AC_PATH_PROG(TIC_PATH,tic,unknown,$PATH:/usr/local/ncurses/bin)
-if test -n "$FALLBACK_LIST"
-then
-       if test "$TIC_PATH" = unknown
-       then
-               AC_MSG_WARN(no tic program found for fallbacks)
-       fi
-fi
-AC_SUBST(TIC_PATH)
-
 if test "x$cf_with_tests" != xno ; then
        MAKE_TESTS=
 else
 if test "x$cf_with_tests" != xno ; then
        MAKE_TESTS=
 else
@@ -1915,18 +2400,137 @@ AC_SUBST(MAKE_TESTS)
 ADAHTML_DIR=../../doc/html/ada
 AC_SUBST(ADAHTML_DIR)
 
 ADAHTML_DIR=../../doc/html/ada
 AC_SUBST(ADAHTML_DIR)
 
-# these could be configurable, but are not currently
-PANEL_NAME=panel
-MENU_NAME=menu
-FORM_NAME=form
-CXX_NAME=ncurses++
+# workaround for OS/2 (20151017)
+case "$cf_cv_system_name" in
+(os2*)
+       LIBTOOL_OPTS_CXX="-os2dllname ncurs++"
+       ;;
+(*)
+       LIBTOOL_OPTS_CXX=
+       ;;
+esac
+AC_SUBST(LIBTOOL_OPTS_CXX)
+
+# workaround for g++ versus Solaris (20131116)
+case "$cf_cv_system_name" in
+(solaris2*)
+       case "x$CPPFLAGS" in
+       (*-D_XOPEN_SOURCE_EXTENDED*)
+               CF_VERBOSE(moving _XOPEN_SOURCE_EXTENDED to work around g++ problem)
+               CFLAGS="$CFLAGS -D_XOPEN_SOURCE_EXTENDED"
+               CPPFLAGS=`echo "x$CPPFLAGS" | sed -e  's/^.//' -e 's/-D_XOPEN_SOURCE_EXTENDED//'`
+               ;;
+       esac
+       ;;
+esac
+
+# Help to automatically enable the extended curses features when using either
+# the *-config or the ".pc" files by adding defines.
+AC_MSG_CHECKING(for defines to add to ncurses${USE_CFG_SUFFIX}${cf_config_suffix}-config script)
+PKG_CFLAGS=
+for cf_loop1 in $CPPFLAGS_after_XOPEN
+do
+       cf_found=no
+       for cf_loop2 in $CPPFLAGS_before_XOPEN
+       do
+               if test "x$cf_loop1" = "x$cf_loop2"
+               then
+                       cf_found=yes
+                       break
+               fi
+       done
+       test "$cf_found" = no && PKG_CFLAGS="$PKG_CFLAGS $cf_loop1"
+done
+AC_MSG_RESULT($PKG_CFLAGS)
+AC_SUBST(PKG_CFLAGS)
+
+# AC_CHECK_SIZEOF demands a literal parameter, no variables.  So we do this.
+case "x$NCURSES_OSPEED" in
+(*short*)
+       cf_compatible=1
+       ;;
+(*)
+       cf_compatible=0
+       ;;
+esac
+AC_DEFINE_UNQUOTED(NCURSES_OSPEED_COMPAT,$cf_compatible,[Define to 1 if termcap variable ospeed is short])
+
+case "x$cf_cv_typeof_chtype" in
+(xshort|xint|xlong)
+       cf_cv_typeof_chtype="unsigned $cf_cv_typeof_chtype"
+       ;;
+esac
+
+case "x$cf_cv_typeof_mmask_t" in
+(xshort|xint|xlong)
+       cf_cv_typeof_mmask_t="unsigned $cf_cv_typeof_mmask_t"
+       ;;
+esac
+
+# substitute into misc/Makefile to suppress
+# (un)install.data from the
+# (un)install rules.
+if test "x$cf_with_db_install" = "xno"; then
+       MISC_INSTALL_DATA=
+       MISC_UNINSTALL_DATA=
+else
+       MISC_INSTALL_DATA=install.data
+       MISC_UNINSTALL_DATA=uninstall.data
+fi
+AC_SUBST(MISC_INSTALL_DATA)
+AC_SUBST(MISC_UNINSTALL_DATA)
+
+if test "x$cf_with_db_install" = "xno" || test "x$TERMINFO_SRC" = "xno"; then
+       MAKE_DATABASE="#"
+else
+       MAKE_DATABASE="$MAKE_TERMINFO"
+fi
+AC_SUBST(MAKE_DATABASE)
 
 
-AC_SUBST(PANEL_NAME)
-AC_SUBST(MENU_NAME)
-AC_SUBST(FORM_NAME)
-AC_SUBST(CXX_NAME)
+dnl Override the package used for exported symbols
+if test -n "$PACKAGE"
+then
+       PACKAGE="${PACKAGE}${DFT_ARG_SUFFIX}"
+       export PACKAGE
+       echo "package: $PACKAGE"
+fi
 
 
-SUB_SCRIPTS=
+UNALTERED_SYMS=
+cf_filter_syms=no
+
+if test -n "$RESULTING_SYMS"
+then
+       cf_filter_syms=$cf_dft_filter_syms
+       CF_VERBOSE(will map symbols to ABI=$cf_cv_abi_default)
+fi
+
+if test "x$WILDCARD_SYMS" = xno
+then
+       cf_filter_syms=yes
+fi
+
+test "x$cf_with_trace" = xyes && NCURSES_INLINE=
+
+UNALTERED_SYMS=`echo "$RESULTING_SYMS" | sed -e 's/\\$/\\\\$/g'`
+if test "$cf_filter_syms" = yes
+then
+       RESULTING_SYMS=resulting.map
+fi
+AC_SUBST(UNALTERED_SYMS)
+
+if test "x$cross_compiling" = xyes ; then
+       ADAGEN_LDFLAGS='$(CROSS_LDFLAGS)'
+       CHECK_BUILD="#"
+else
+       ADAGEN_LDFLAGS='$(NATIVE_LDFLAGS)'
+       CHECK_BUILD=
+fi
+AC_SUBST(ADAGEN_LDFLAGS)
+AC_SUBST(CHECK_BUILD)
+AC_SUBST(PRIVATE_LIBS)
+
+# This is used for the *-config script and *.pc data files.
+CF_LD_SEARCHPATH
 
 AC_OUTPUT( \
        include/MKterm.h.awk \
 
 AC_OUTPUT( \
        include/MKterm.h.awk \
@@ -1934,27 +2538,32 @@ AC_OUTPUT( \
        include/ncurses_dll.h \
        include/termcap.h \
        include/unctrl.h \
        include/ncurses_dll.h \
        include/termcap.h \
        include/unctrl.h \
-       $SUB_SCRIPTS \
+       man/man_db.renames \
        $SUB_MAKEFILES \
        Makefile,[
 if test "x$cf_with_tests" != xno ; then
        $SUB_MAKEFILES \
        Makefile,[
 if test "x$cf_with_tests" != xno ; then
-       CF_PRG_RULES([$srcdir/test/mk-test.awk INSTALL=no ECHO_LINK="$ECHO_LD"], test)
+       CF_PRG_RULES(["$srcdir/test/mk-test.awk" INSTALL=no ECHO_LINK="$ECHO_LD"], test)
 fi
 CF_LIB_RULES($SRC_SUBDIRS)
 fi
 CF_LIB_RULES($SRC_SUBDIRS)
+CF_OUTPUT_MANPAGE_RENAMES
 
 if test "x$cf_with_ada" = "xyes" && test "x$cf_cv_prog_gnat_correct" = "xyes"; then
 if test -z "$USE_OLD_MAKERULES" ; then
 
 if test "x$cf_with_ada" = "xyes" && test "x$cf_cv_prog_gnat_correct" = "xyes"; then
 if test -z "$USE_OLD_MAKERULES" ; then
-       $AWK -f $srcdir/Ada95/mk-1st.awk <$srcdir/Ada95/src/modules >>Ada95/src/Makefile
+       $AWK -f "$srcdir/Ada95/mk-1st.awk" <"$srcdir/Ada95/src/modules" >>Ada95/src/Makefile
 fi
 fi
 ],[
 ### Special initialization commands, used to pass information from the
 ### configuration-run into config.status
 
 fi
 fi
 ],[
 ### Special initialization commands, used to pass information from the
 ### configuration-run into config.status
 
+ALTERNATE_SYMS="$ALTERNATE_SYMS"
 AWK="$AWK"
 AWK="$AWK"
+CXX_NAME="$CXX_NAME"
 DFT_ARG_SUFFIX="$DFT_ARG_SUFFIX"
 DFT_LWR_MODEL="$DFT_LWR_MODEL"
 ECHO_LD="$ECHO_LD"
 DFT_ARG_SUFFIX="$DFT_ARG_SUFFIX"
 DFT_LWR_MODEL="$DFT_LWR_MODEL"
 ECHO_LD="$ECHO_LD"
+EXTRA_SUFFIX="$EXTRA_SUFFIX"
+FORM_NAME="$FORM_NAME"
 LDCONFIG="$LDCONFIG"
 LIBTOOL_VERSION="$LIBTOOL_VERSION"
 LIB_NAME="$LIB_NAME"
 LDCONFIG="$LDCONFIG"
 LIBTOOL_VERSION="$LIBTOOL_VERSION"
 LIB_NAME="$LIB_NAME"
@@ -1964,30 +2573,44 @@ LIB_SUFFIX="$LIB_SUFFIX"
 LIB_TRACING="$LIB_TRACING"
 LN_S="$LN_S"
 MAKE_TERMINFO="$MAKE_TERMINFO"
 LIB_TRACING="$LIB_TRACING"
 LN_S="$LN_S"
 MAKE_TERMINFO="$MAKE_TERMINFO"
+MANPAGE_RENAMES="$MANPAGE_RENAMES"
+MENU_NAME="$MENU_NAME"
 NCURSES_MAJOR="$NCURSES_MAJOR"
 NCURSES_MINOR="$NCURSES_MINOR"
 NCURSES_OSPEED="$NCURSES_OSPEED"
 NCURSES_PATCH="$NCURSES_PATCH"
 NCURSES_MAJOR="$NCURSES_MAJOR"
 NCURSES_MINOR="$NCURSES_MINOR"
 NCURSES_OSPEED="$NCURSES_OSPEED"
 NCURSES_PATCH="$NCURSES_PATCH"
+PANEL_NAME="$PANEL_NAME"
 SRC_SUBDIRS="$SRC_SUBDIRS"
 TERMINFO="$TERMINFO"
 TICS_ARG_SUFFIX="$TICS_ARG_SUFFIX"
 TICS_LIB_SUFFIX="$TICS_LIB_SUFFIX"
 TICS_NAME="$TICS_NAME"
 SRC_SUBDIRS="$SRC_SUBDIRS"
 TERMINFO="$TERMINFO"
 TICS_ARG_SUFFIX="$TICS_ARG_SUFFIX"
 TICS_LIB_SUFFIX="$TICS_LIB_SUFFIX"
 TICS_NAME="$TICS_NAME"
+TICS_SUFFIX="$TICS_SUFFIX"
 TIC_PATH="$TIC_PATH"
 TINFO_ARG_SUFFIX="$TINFO_ARG_SUFFIX"
 TINFO_LIB_SUFFIX="$TINFO_LIB_SUFFIX"
 TINFO_NAME="$TINFO_NAME"
 TINFO_SUFFIX="$TINFO_SUFFIX"
 TIC_PATH="$TIC_PATH"
 TINFO_ARG_SUFFIX="$TINFO_ARG_SUFFIX"
 TINFO_LIB_SUFFIX="$TINFO_LIB_SUFFIX"
 TINFO_NAME="$TINFO_NAME"
 TINFO_SUFFIX="$TINFO_SUFFIX"
+UNALTERED_SYMS="$UNALTERED_SYMS"
+USE_ARG_SUFFIX="$USE_ARG_SUFFIX"
+USE_CFG_SUFFIX="$USE_CFG_SUFFIX"
+USE_LIB_SUFFIX="$USE_LIB_SUFFIX"
 USE_OLD_MAKERULES="$USE_OLD_MAKERULES"
 USE_OLD_MAKERULES="$USE_OLD_MAKERULES"
+WILDCARD_SYMS="$WILDCARD_SYMS"
 WITH_CURSES_H="$with_curses_h"
 WITH_ECHO="${enable_echo:=yes}"
 WITH_OVERWRITE="$with_overwrite"
 cf_LIST_MODELS="$cf_list_models"
 WITH_CURSES_H="$with_curses_h"
 WITH_ECHO="${enable_echo:=yes}"
 WITH_OVERWRITE="$with_overwrite"
 cf_LIST_MODELS="$cf_list_models"
+cf_cv_VERSION_GNATMAKE=$cf_cv_VERSION_GNATMAKE
+cf_cv_VERSION_GPRBUILD=$cf_cv_VERSION_GPRBUILD
+cf_cv_abi_default="$cf_cv_abi_default"
 cf_cv_abi_version="$cf_cv_abi_version"
 cf_cv_do_relink="$cf_cv_do_relink"
 cf_cv_abi_version="$cf_cv_abi_version"
 cf_cv_do_relink="$cf_cv_do_relink"
+cf_cv_do_reranlib="$cf_cv_do_reranlib"
 cf_cv_do_symlinks="$cf_cv_do_symlinks"
 cf_cv_enable_lp64="$cf_cv_enable_lp64"
 cf_cv_enable_opaque="$cf_cv_enable_opaque"
 cf_cv_do_symlinks="$cf_cv_do_symlinks"
 cf_cv_enable_lp64="$cf_cv_enable_lp64"
 cf_cv_enable_opaque="$cf_cv_enable_opaque"
+cf_cv_make_PHONY="$cf_cv_make_PHONY"
 cf_cv_prog_CC_c_o=$cf_cv_prog_CC_c_o
 cf_cv_prog_CXX_c_o=$cf_cv_prog_CXX_c_o
 cf_cv_prog_gnat_correct=$cf_cv_prog_gnat_correct
 cf_cv_prog_CC_c_o=$cf_cv_prog_CC_c_o
 cf_cv_prog_CXX_c_o=$cf_cv_prog_CXX_c_o
 cf_cv_prog_gnat_correct=$cf_cv_prog_gnat_correct
@@ -2000,11 +2623,13 @@ cf_cv_system_name="$cf_cv_system_name"
 cf_cv_term_driver="$with_term_driver"
 cf_with_ada="$cf_with_ada"
 cf_with_cxx_binding="$cf_with_cxx_binding"
 cf_cv_term_driver="$with_term_driver"
 cf_with_ada="$cf_with_ada"
 cf_with_cxx_binding="$cf_with_cxx_binding"
+cf_with_db_install="$cf_with_db_install"
 cf_with_manpages="$cf_with_manpages"
 cf_with_tests="$cf_with_tests"
 cf_with_manpages="$cf_with_manpages"
 cf_with_tests="$cf_with_tests"
-with_shared_cxx="$with_shared_cxx"
 host="$host"
 target="$target"
 host="$host"
 target="$target"
+verbose="$verbose"
+with_shared_cxx="$with_shared_cxx"
 
 ],cat)dnl
 ${MAKE:-make} preinstall
 
 ],cat)dnl
 ${MAKE:-make} preinstall