]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - configure.in
ncurses 6.4 - patch 20240420
[ncurses.git] / configure.in
index 10857b8de017056d6b86c73c64309a91c5ad52ac..2d6836cb7190eb2ceff01bc788aeb8cfe2ca9db3 100644 (file)
@@ -1,5 +1,5 @@
 dnl***************************************************************************
 dnl***************************************************************************
-dnl Copyright 2018-2019,2020 Thomas E. Dickey                                *
+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 Copyright 1998-2017,2018 Free Software Foundation, Inc.                  *
 dnl                                                                          *
 dnl Permission is hereby granted, free of charge, to any person obtaining a  *
@@ -29,7 +29,7 @@ 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.707 2020/05/23 18:16:07 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 For additional information, see
 dnl Process this file with autoconf to produce a configure script.
 dnl
 dnl For additional information, see
@@ -37,8 +37,8 @@ dnl     https://invisible-island.net/autoconf/
 dnl     https://invisible-island.net/autoconf/my-autoconf.html
 dnl
 dnl ---------------------------------------------------------------------------
 dnl     https://invisible-island.net/autoconf/my-autoconf.html
 dnl
 dnl ---------------------------------------------------------------------------
-AC_PREREQ(2.52.20200111)
-AC_REVISION($Revision: 1.707 $)
+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)
 
@@ -61,6 +61,9 @@ CF_CFG_DEFAULTS
 ### Defaults for ncurses ABI
 CF_ABI_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,
        [  --without-ada           suppress check for Ada compiler, don't build demo],
 ###    Checks for programs.
 AC_ARG_WITH(ada,
        [  --without-ada           suppress check for Ada compiler, don't build demo],
@@ -144,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
@@ -183,22 +186,6 @@ AC_ARG_WITH(progs,
        [cf_with_progs=yes])
 AC_MSG_RESULT($cf_with_progs)
 
        [cf_with_progs=yes])
 AC_MSG_RESULT($cf_with_progs)
 
-if test -f $srcdir/tack/tack.h; then
-       if test "x$cross_compiling" = xyes ; then
-               CF_VERBOSE(ignoring tack because we are cross-compiling)
-               cf_with_tack=no
-       else
-               AC_MSG_CHECKING(if you want to build the tack program)
-               AC_ARG_WITH(tack,
-                       [  --without-tack          suppress build/install with tack program],
-                       [cf_with_tack=$withval],
-                       [cf_with_tack=$cf_with_progs])
-               AC_MSG_RESULT($cf_with_tack)
-       fi
-else
-       cf_with_tack=no
-fi
-
 AC_MSG_CHECKING(if you want to build test-programs)
 AC_ARG_WITH(tests,
        [  --without-tests         suppress build/install with test-programs],
 AC_MSG_CHECKING(if you want to build test-programs)
 AC_ARG_WITH(tests,
        [  --without-tests         suppress build/install with test-programs],
@@ -215,13 +202,11 @@ AC_MSG_RESULT($with_curses_h)
 
 modules_to_build="ncurses"
 test "X$cf_with_progs" != Xno && modules_to_build="$modules_to_build progs"
 
 modules_to_build="ncurses"
 test "X$cf_with_progs" != Xno && modules_to_build="$modules_to_build progs"
-test "X$cf_with_tack"  != Xno && modules_to_build="$modules_to_build tack"
 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
 CF_PROG_INSTALL
 CF_PROG_LINT
 CF_PROG_LN_S
@@ -232,7 +217,7 @@ AC_SYS_LONG_FILE_NAMES
 # of package conflict.
 cf_config_suffix=
 AC_ARG_WITH(config-suffix,
 # of package conflict.
 cf_config_suffix=
 AC_ARG_WITH(config-suffix,
-       [  --with-config-suffix=X  suffixes ncursesXX-config file],
+       [  --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)
        [case "x$withval" in
        (xyes|xno)
                AC_MSG_WARN(expected a value for config-suffix option)
@@ -248,9 +233,9 @@ CF_WITH_PKG_CONFIG_LIBDIR
 CF_ENABLE_PC_FILES
 if test -z "$MAKE_PC_FILES"
 then
 CF_ENABLE_PC_FILES
 if test -z "$MAKE_PC_FILES"
 then
-       AC_MSG_CHECKING(for suffix to add to pc-files)
+       AC_MSG_CHECKING(for suffix to add to pkg-config files)
 AC_ARG_WITH(pc-suffix,
 AC_ARG_WITH(pc-suffix,
-       [  --with-pc-suffix        suffixes pc-files],
+       [[  --with-pc-suffix[=XXX]  suffix pkg-config files with XXX]],
        [case "x$withval" in
        (xyes|xno)
                PC_MODULE_SUFFIX=
        [case "x$withval" in
        (xyes|xno)
                PC_MODULE_SUFFIX=
@@ -281,6 +266,7 @@ fi
 
 # do this after mixed-case option (tags/TAGS is not as important as tic).
 AC_PROG_MAKE_SET
 
 # 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
 
@@ -294,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)],
+       [  --with-install-prefix=DESTDIR use DESTDIR as installation directory prefix],
        [case "x$withval" in
        (xyes|xno)
                ;;
        (*)     DESTDIR="$withval"
                ;;
        esac])
        [case "x$withval" in
        (xyes|xno)
                ;;
        (*)     DESTDIR="$withval"
                ;;
        esac])
-AC_MSG_RESULT($DESTDIR)
+AC_MSG_RESULT([${DESTDIR:-(none)}])
 AC_SUBST(DESTDIR)
 
 ###############################################################################
 AC_SUBST(DESTDIR)
 
 ###############################################################################
@@ -311,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
 
 ###############################################################################
@@ -412,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)
@@ -443,7 +441,7 @@ 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
+case "$DFT_LWR_MODEL" in
 (libtool) LD_MODEL=''   ;;
 (normal)  LD_MODEL=''   ;;
 (debug)   LD_MODEL=$CC_G_OPT ;;
 (libtool) LD_MODEL=''   ;;
 (normal)  LD_MODEL=''   ;;
 (debug)   LD_MODEL=$CC_G_OPT ;;
@@ -451,9 +449,9 @@ case $DFT_LWR_MODEL in
 (shared)  LD_MODEL=''   ;;
 esac
 AC_SUBST(LD_MODEL)dnl          the type of link (e.g., -g or -pg)
 (shared)  LD_MODEL=''   ;;
 esac
 AC_SUBST(LD_MODEL)dnl          the type of link (e.g., -g or -pg)
-AC_MSG_RESULT($LD_MODEL)
+AC_MSG_RESULT([${LD_MODEL:-(none)}])
 
 
-case $DFT_LWR_MODEL in
+case "$DFT_LWR_MODEL" in
 (shared)
 CF_ENABLE_RPATH
 AC_MSG_CHECKING(if shared libraries should be relinked during install)
 (shared)
 CF_ENABLE_RPATH
 AC_MSG_CHECKING(if shared libraries should be relinked during install)
@@ -468,8 +466,8 @@ 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
-for model in $cf_list_models; do
-       case $model in
+for model in $cf_list_models ; do
+       case "$model" in
        (libtool)
                CF_WITH_LIBTOOL_OPTS
                CF_WITH_EXPORT_SYMS
        (libtool)
                CF_WITH_LIBTOOL_OPTS
                CF_WITH_EXPORT_SYMS
@@ -482,7 +480,7 @@ for model in $cf_list_models; do
                AC_MSG_CHECKING(if current CFLAGS link properly)
                AC_TRY_LINK(
                        [#include <stdio.h>],
                AC_MSG_CHECKING(if current CFLAGS link properly)
                AC_TRY_LINK(
                        [#include <stdio.h>],
-                       [printf("Hello work\n");],
+                       [printf("Hello work\\n");],
                        [cf_cflags_work=yes],
                        [cf_cflags_work=no])
                AC_MSG_RESULT($cf_cflags_work)
                        [cf_cflags_work=yes],
                        [cf_cflags_work=no])
                AC_MSG_RESULT($cf_cflags_work)
@@ -546,7 +544,7 @@ 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.
 ### 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="$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)
 if test -n "$EXTRA_PKG_LDFLAGS"
 then
        AC_MSG_CHECKING(if you want to disable extra LDFLAGS for package-scripts)
@@ -564,12 +562,12 @@ AC_SUBST(EXTRA_PKG_LDFLAGS)
 CF_HELP_MESSAGE(Fine-Tuning Your Configuration:)
 
 ###    use option --with-extra-suffix to append suffix to headers and libraries
 CF_HELP_MESSAGE(Fine-Tuning Your Configuration:)
 
 ###    use option --with-extra-suffix to append suffix to headers and libraries
-AC_MSG_CHECKING(if you wish to append extra suffix to header/library paths)
+AC_MSG_CHECKING(for extra suffix to append to header/library paths)
 EXTRA_SUFFIX=
 AC_ARG_WITH(extra-suffix,
 EXTRA_SUFFIX=
 AC_ARG_WITH(extra-suffix,
-       [  --with-extra-suffix=X   append extra suffix to header/library paths],
+       [[  --with-extra-suffix[=X] append extra suffix X to header/library paths]],
        [case x$withval in
        [case x$withval in
-       (no)
+       (xno)
                ;;
        (xyes|x)
                EXTRA_SUFFIX=$cf_cv_abi_version
                ;;
        (xyes|x)
                EXTRA_SUFFIX=$cf_cv_abi_version
@@ -579,7 +577,7 @@ AC_ARG_WITH(extra-suffix,
                ;;
        esac
        ])
                ;;
        esac
        ])
-AC_MSG_RESULT($EXTRA_SUFFIX)
+AC_MSG_RESULT([${EXTRA_SUFFIX:-(none)}])
 AC_SUBST(EXTRA_SUFFIX)
 
 ###    use option --disable-overwrite to leave out the link to -lcurses
 AC_SUBST(EXTRA_SUFFIX)
 
 ###    use option --disable-overwrite to leave out the link to -lcurses
@@ -597,7 +595,7 @@ AC_ARG_ENABLE(database,
        [use_database=yes])
 AC_MSG_RESULT($use_database)
 
        [use_database=yes])
 AC_MSG_RESULT($use_database)
 
-case $host_os in
+case "$host_os" in
 (os2*)
        TERMINFO_SRC='${top_srcdir}/misc/emx.src'
        ;;
 (os2*)
        TERMINFO_SRC='${top_srcdir}/misc/emx.src'
        ;;
@@ -627,12 +625,12 @@ 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)
+AC_MSG_RESULT([${with_fallback:-(none)}])
 
 case ".$with_fallback" in
 (.|.no)
 
 case ".$with_fallback" in
 (.|.no)
@@ -646,33 +644,38 @@ case ".$with_fallback" in
        ;;
 esac
 
        ;;
 esac
 
-USE_FALLBACKS=
-test -z "$FALLBACK_LIST" && USE_FALLBACKS="#"
-AC_SUBST(FALLBACK_LIST)
-AC_SUBST(USE_FALLBACKS)
-
 # 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.
 # 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)
 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)
-else
-       : ${TIC:=tic}
-       : ${INFOCMP:=infocmp}
+       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)
 
 fi
 AC_SUBST(TIC)
 AC_SUBST(INFOCMP)
 
+USE_FALLBACKS=
+test -z "$FALLBACK_LIST" && USE_FALLBACKS="#"
+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
+case "$with_xterm_new" in
 (no) with_xterm_new=xterm-old;;
 (*)     with_xterm_new=xterm-new;;
 esac
 (no) with_xterm_new=xterm-old;;
 (*)     with_xterm_new=xterm-new;;
 esac
@@ -680,11 +683,20 @@ AC_MSG_RESULT($with_xterm_new)
 WHICH_XTERM=$with_xterm_new
 AC_SUBST(WHICH_XTERM)
 
 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
 (xyes|xno|xBS|xbs|x8)
        with_xterm_kbs=BS
 case x$with_xterm_kbs in
 (xyes|xno|xBS|xbs|x8)
        with_xterm_kbs=BS
@@ -692,6 +704,9 @@ case x$with_xterm_kbs in
 (xDEL|xdel|x127)
        with_xterm_kbs=DEL
        ;;
 (xDEL|xdel|x127)
        with_xterm_kbs=DEL
        ;;
+(xauto)
+       with_xterm_kbs=$want_xterm_kbs
+       ;;
 (*)
        with_xterm_kbs=$withval
        ;;
 (*)
        with_xterm_kbs=$withval
        ;;
@@ -700,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"
@@ -745,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)
@@ -832,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.
@@ -911,9 +947,9 @@ 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)
 
 NCURSES_WCWIDTH_GRAPHICS=1
 AC_MSG_RESULT($with_widec)
 
 NCURSES_WCWIDTH_GRAPHICS=1
@@ -923,8 +959,17 @@ if test "x$with_widec" = xyes ; then
        if test "x$disable_lib_suffixes" = xno ; then
                LIB_SUFFIX="w${LIB_SUFFIX}"
        fi
        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-char/UTF-8 code])
-       AC_DEFINE(NCURSES_WIDECHAR,1,[Define to 1 to compile with wide-char/UTF-8 code])
+       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_WCWIDTH_GRAPHICS
 
        CF_CHECK_WCHAR_H
        CF_CHECK_WCWIDTH_GRAPHICS
@@ -932,7 +977,7 @@ if test "x$with_widec" = xyes ; then
 
        # 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
@@ -998,72 +1043,66 @@ else
        with_tic_depends=no
 fi
 
        with_tic_depends=no
 fi
 
-###   use option --disable-wattr-macros to suppress wattr* macros from curses.h
-AC_MSG_CHECKING(if you want to suppress wattr* macros to help with ncurses5/ncurses6 transition)
+###   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,
 AC_ARG_ENABLE(wattr-macros,
-       [  --disable-wattr-macros  suppress wattr* macros to help with ncurses5/ncurses6 transition],
+       [  --enable-wattr-macros   enable wattr* macros],
        [with_wattr_macros=$enableval],
        [with_wattr_macros=$enableval],
-       [with_wattr_macros=yes])
+       [with_wattr_macros=no])
 if [[ "x$with_wattr_macros" != xyes ]]; then
        NCURSES_WATTR_MACROS=0
 if [[ "x$with_wattr_macros" != xyes ]]; then
        NCURSES_WATTR_MACROS=0
-       AC_MSG_RESULT(yes)
+       AC_MSG_RESULT(no)
 else
        NCURSES_WATTR_MACROS=1
 else
        NCURSES_WATTR_MACROS=1
-       AC_MSG_RESULT(no)
+       AC_MSG_RESULT(yes)
 fi
 AC_SUBST(NCURSES_WATTR_MACROS)
 
 CF_WITH_X11_RGB
 
 ###   use option --with-bool to override bool's type
 fi
 AC_SUBST(NCURSES_WATTR_MACROS)
 
 CF_WITH_X11_RGB
 
 ###   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=$cf_dft_chtype])
-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=$cf_dft_mmask_t])
-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)
 
@@ -1073,23 +1112,20 @@ if test "$ac_cv_sizeof_signed_char" = 1 ; then
 else
        NCURSES_SBOOL="char"
 fi
 else
        NCURSES_SBOOL="char"
 fi
-AC_MSG_CHECKING(if you want to use signed Boolean array in term.h)
+AC_MSG_CHECKING(whether to use signed chars for Boolean array in term.h)
 AC_ARG_ENABLE(signed-char,
 AC_ARG_ENABLE(signed-char,
-       [  --enable-signed-char    compile using signed Boolean's in term.h],
+       [  --enable-signed-char    use signed chars for Boolean array in term.h],
        [with_signed_char=$enableval],
        [with_signed_char=$enableval],
-       [with_signed_char=no])
+       [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
 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
-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=$cf_dft_tparm_arg])
-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)
@@ -1123,7 +1159,6 @@ if test "x$with_ext_funcs" = xyes ; then
        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_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_EXTENDED_NAMES,1,[Define to 1 to enable use_extended_names() 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])
        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])
@@ -1213,11 +1248,18 @@ AC_ARG_ENABLE(ext-mouse,
        [with_ext_mouse=$enableval],
        [with_ext_mouse=$cf_dft_ext_mouse])
 AC_MSG_RESULT($with_ext_mouse)
        [with_ext_mouse=$enableval],
        [with_ext_mouse=$cf_dft_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)
 
 ###   use option --enable-ext-putwin to turn on extended screendumps
 AC_SUBST(NCURSES_MOUSE_VERSION)
 
 ###   use option --enable-ext-putwin to turn on extended screendumps
@@ -1246,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)
@@ -1256,7 +1305,10 @@ 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)
 
 ##############################################################################
@@ -1346,19 +1398,19 @@ if test "x$with_reentrant" = xyes ; then
 else
        cf_cv_enable_reentrant=0
        cf_cv_enable_opaque="NCURSES_OPAQUE"
 else
        cf_cv_enable_reentrant=0
        cf_cv_enable_opaque="NCURSES_OPAQUE"
-       NCURSES_SIZE_T=short
+       NCURSES_SIZE_T=$cf_dft_ordinate_type
 fi
 AC_SUBST(cf_cv_enable_reentrant)
 AC_SUBST(cf_cv_enable_opaque)
 
 AC_SUBST(NCURSES_SIZE_T)
 
 fi
 AC_SUBST(cf_cv_enable_reentrant)
 AC_SUBST(cf_cv_enable_opaque)
 
 AC_SUBST(NCURSES_SIZE_T)
 
-AC_MSG_CHECKING(if you want opaque curses-library structures)
-CF_ARG_ENABLE(opaque-curses,
-       [  --enable-opaque-curses  make curses WINDOW, etc., "opaque"],
-       [enable_opaque_curses=yes],[
+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=yes
-        test "$cf_cv_enable_reentrant" = 1 || enable_opaque_curses=no
+        test "$cf_cv_enable_reentrant" = 1 || enable_opaque_curses=$cf_dft_opaque_curses
        ])
 AC_MSG_RESULT($enable_opaque_curses)
 
        ])
 AC_MSG_RESULT($enable_opaque_curses)
 
@@ -1366,22 +1418,22 @@ test "$cf_cv_enable_reentrant" = 1 && \
 test "$enable_opaque_curses" = no && \
 AC_MSG_ERROR(reentrant configuration requires opaque library)
 
 test "$enable_opaque_curses" = no && \
 AC_MSG_ERROR(reentrant configuration requires opaque library)
 
-AC_MSG_CHECKING(if you want opaque form-library structures)
-AC_ARG_ENABLE(opaque-form,
-       [  --enable-opaque-form    make form-library structures "opaque"],
-       [enable_opaque_form=yes],[enable_opaque_form=no])
+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_RESULT($enable_opaque_form)
 
-AC_MSG_CHECKING(if you want opaque menu-library structures)
-AC_ARG_ENABLE(opaque-menu,
-       [  --enable-opaque-menu    make menu-library structures "opaque"],
-       [enable_opaque_menu=yes],[enable_opaque_menu=no])
+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_RESULT($enable_opaque_menu)
 
-AC_MSG_CHECKING(if you want opaque panel-library structures)
-AC_ARG_ENABLE(opaque-panel,
-       [  --enable-opaque-panel   make panel-library structures "opaque"],
-       [enable_opaque_panel=yes],[enable_opaque_panel=no])
+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
 AC_MSG_RESULT($enable_opaque_panel)
 
 NCURSES_OPAQUE=0;              test "$enable_opaque_curses" = yes && NCURSES_OPAQUE=1
@@ -1418,6 +1470,14 @@ AC_ARG_WITH(develop,
        [with_develop=no])
 AC_MSG_RESULT($with_develop)
 
        [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,
 ###   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,
@@ -1534,7 +1594,39 @@ AC_ARG_ENABLE(wgetch-events,
        [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 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:)
@@ -1569,20 +1661,14 @@ fi
 AC_SUBST(INSTALL_OPT_P)
 
 ###    use option --enable-warnings to turn on all gcc warnings
 AC_SUBST(INSTALL_OPT_P)
 
 ###    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(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
@@ -1647,18 +1733,17 @@ AC_SUBST(ADA_TRACE)
 CF_DISABLE_GNAT_PROJECTS
 
 ###    Checks for libraries.
 CF_DISABLE_GNAT_PROJECTS
 
 ###    Checks for libraries.
-case $cf_cv_system_name in
+case "$cf_cv_system_name" in
 (*mingw32*|*mingw64*)
 (*mingw32*|*mingw64*)
-       CPPFLAGS="$CPPFLAGS -DWINVER=0x0501 -DWIN32_LEAN_AND_MEAN"
        # Note: WINVER may be a problem with Windows 10
        # 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
 
@@ -1666,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
 
@@ -1679,14 +1762,13 @@ 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 \
 )
 unistd.h \
 wctype.h \
 )
@@ -1701,13 +1783,6 @@ then
        AC_MSG_WARN(The NCURSES_TRACE environment variable is not supported with this configuration)
 fi
 
        AC_MSG_WARN(The NCURSES_TRACE environment variable is not supported with this configuration)
 fi
 
-# 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()'
-fi
-
 CF_SYS_TIME_SELECT
 
 ###    checks for compiler characteristics
 CF_SYS_TIME_SELECT
 
 ###    checks for compiler characteristics
@@ -1716,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
@@ -1730,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
@@ -1743,24 +1818,27 @@ 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 \
 getopt \
 getegid \
 geteuid \
 getopt \
-getttynam \
+getuid \
 issetugid \
 localeconv \
 poll \
 issetugid \
 localeconv \
 poll \
-putenv \
 remove \
 select \
 setbuf \
 setbuffer \
 remove \
 select \
 setbuf \
 setbuffer \
-setenv \
+setfsuid \
 setvbuf \
 sigaction \
 sigvec \
 setvbuf \
 sigaction \
 sigvec \
+snprintf \
 strdup \
 strstr \
 sysconf \
 strdup \
 strstr \
 sysconf \
@@ -1770,6 +1848,8 @@ 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)
 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)
@@ -1811,6 +1891,7 @@ CF_TYPE_SIGACTION
 CF_SIZECHANGE
 CF_FUNC_MEMMOVE
 CF_FUNC_POLL
 CF_SIZECHANGE
 CF_FUNC_MEMMOVE
 CF_FUNC_POLL
+CF_MB_LEN_MAX
 CF_VA_COPY
 AC_FUNC_VFORK
 CF_FOPEN_BIN_R
 CF_VA_COPY
 AC_FUNC_VFORK
 CF_FOPEN_BIN_R
@@ -1833,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
@@ -1847,8 +1928,8 @@ if test -n "$CXX" ; then
        CF_STDCPP_LIBRARY
        CF_PROG_CC_C_O(CXX,[$CXXFLAGS $CPPFLAGS])
 
        CF_STDCPP_LIBRARY
        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
                ;;
        (*-2.7*|2.7*)
                cf_cxx_library=yes
                ;;
        (*-2.7*|2.7*)
@@ -1864,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
@@ -1904,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
@@ -2017,15 +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
+       case "$cf_cv_system_name" in
        (*mingw32*|*mingw64*)
        (*mingw32*|*mingw64*)
-               LIB_SUBSETS="${LIB_SUBSETS}+port_tinfo+port_win32con"
+               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"
                ;;
        (*)
                LIB_SUBSETS="${LIB_SUBSETS}+port_tinfo"
                ;;
        esac
                CPPFLAGS="$CPPFLAGS -DUSE_WIN32CON_DRIVER"
                ;;
        (*)
                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"
@@ -2071,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
@@ -2100,9 +2194,9 @@ if test "$with_ticlib" != no ; then
 
        if test "x$with_ticlib" != xyes ; then
                TICS_NAME=$with_ticlib
 
        if test "x$with_ticlib" != xyes ; then
                TICS_NAME=$with_ticlib
-               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_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_SUFFIX=${DFT_LIB_SUFFIX}
                TICS_LIB_SUFFIX="${with_ticlib}"
        else
                TICS_SUFFIX=${DFT_LIB_SUFFIX}
@@ -2127,9 +2221,9 @@ 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/^${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_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}
@@ -2177,7 +2271,7 @@ else
 fi
 
 if test "$DFT_LWR_MODEL" = shared ; then
 fi
 
 if test "$DFT_LWR_MODEL" = shared ; then
-       case $cf_cv_system_name in
+       case "$cf_cv_system_name" in
        (cygwin*|msys*)
                # "lib" files have ".dll.a" suffix, "cyg"or "msys-" files have ".dll"
                TINFO_SUFFIX=.dll
        (cygwin*|msys*)
                # "lib" files have ".dll.a" suffix, "cyg"or "msys-" files have ".dll"
                TINFO_SUFFIX=.dll
@@ -2203,7 +2297,7 @@ fi
 TINFO_LDFLAGS2=`echo "$TINFO_LDFLAGS" | sed -e 's,-L\.\./,-L../../,'`
 AC_SUBST(TINFO_LDFLAGS2)
 
 TINFO_LDFLAGS2=`echo "$TINFO_LDFLAGS" | sed -e 's,-L\.\./,-L../../,'`
 AC_SUBST(TINFO_LDFLAGS2)
 
-case $DFT_LWR_MODEL in
+case "$DFT_LWR_MODEL" in
 (normal|debug|profile)
        CF_LDFLAGS_STATIC
        ;;
 (normal|debug|profile)
        CF_LDFLAGS_STATIC
        ;;
@@ -2213,8 +2307,8 @@ AC_MSG_CHECKING(where we will install curses.h)
 AC_SUBST(includesubdir)
 includesubdir=
 if test "$with_overwrite" = no && \
 AC_SUBST(includesubdir)
 includesubdir=
 if test "$with_overwrite" = no && \
( test "x$includedir" = 'x${prefix}/include' || \
-   test "x$includedir" = "x${prefix}/include" )
{ test "x$includedir" = 'x${prefix}/include' || \
+   test "x$includedir" = "x${prefix}/include"; }
 then
        includesubdir="/ncurses${USE_LIB_SUFFIX}"
 fi
 then
        includesubdir="/ncurses${USE_LIB_SUFFIX}"
 fi
@@ -2230,19 +2324,27 @@ 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])
 
 # pkgsrc uses these
 ### 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(FORM_NAME,form)
 CF_WITH_LIB_BASENAME(MENU_NAME,menu)
 CF_WITH_LIB_BASENAME(PANEL_NAME,panel)
@@ -2270,9 +2372,6 @@ 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)
 CF_SUBST_IF(["x$ac_cv_header_stdint_h" = xyes], HAVE_STDINT_H, 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)
@@ -2302,7 +2401,7 @@ ADAHTML_DIR=../../doc/html/ada
 AC_SUBST(ADAHTML_DIR)
 
 # workaround for OS/2 (20151017)
 AC_SUBST(ADAHTML_DIR)
 
 # workaround for OS/2 (20151017)
-case $cf_cv_system_name in
+case "$cf_cv_system_name" in
 (os2*)
        LIBTOOL_OPTS_CXX="-os2dllname ncurs++"
        ;;
 (os2*)
        LIBTOOL_OPTS_CXX="-os2dllname ncurs++"
        ;;
@@ -2313,7 +2412,7 @@ esac
 AC_SUBST(LIBTOOL_OPTS_CXX)
 
 # workaround for g++ versus Solaris (20131116)
 AC_SUBST(LIBTOOL_OPTS_CXX)
 
 # workaround for g++ versus Solaris (20131116)
-case $cf_cv_system_name in
+case "$cf_cv_system_name" in
 (solaris2*)
        case "x$CPPFLAGS" in
        (*-D_XOPEN_SOURCE_EXTENDED*)
 (solaris2*)
        case "x$CPPFLAGS" in
        (*-D_XOPEN_SOURCE_EXTENDED*)
@@ -2327,7 +2426,7 @@ esac
 
 # Help to automatically enable the extended curses features when using either
 # the *-config or the ".pc" files by adding defines.
 
 # 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}-config script)
+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
 PKG_CFLAGS=
 for cf_loop1 in $CPPFLAGS_after_XOPEN
 do
@@ -2402,7 +2501,7 @@ cf_filter_syms=no
 if test -n "$RESULTING_SYMS"
 then
        cf_filter_syms=$cf_dft_filter_syms
 if test -n "$RESULTING_SYMS"
 then
        cf_filter_syms=$cf_dft_filter_syms
-       CF_VERBOSE(will map symbols to ABI=$cf_cv_abi_version)
+       CF_VERBOSE(will map symbols to ABI=$cf_cv_abi_default)
 fi
 
 if test "x$WILDCARD_SYMS" = xno
 fi
 
 if test "x$WILDCARD_SYMS" = xno
@@ -2413,7 +2512,7 @@ fi
 test "x$cf_with_trace" = xyes && NCURSES_INLINE=
 
 UNALTERED_SYMS=`echo "$RESULTING_SYMS" | sed -e 's/\\$/\\\\$/g'`
 test "x$cf_with_trace" = xyes && NCURSES_INLINE=
 
 UNALTERED_SYMS=`echo "$RESULTING_SYMS" | sed -e 's/\\$/\\\\$/g'`
-if test $cf_filter_syms = yes
+if test "$cf_filter_syms" = yes
 then
        RESULTING_SYMS=resulting.map
 fi
 then
        RESULTING_SYMS=resulting.map
 fi
@@ -2433,24 +2532,24 @@ AC_SUBST(PRIVATE_LIBS)
 # This is used for the *-config script and *.pc data files.
 CF_LD_SEARCHPATH
 
 # This is used for the *-config script and *.pc data files.
 CF_LD_SEARCHPATH
 
-AC_DEFINE(HAVE_CURSES_DATA_BOOLNAMES,1,[definition needed for in-tree build of tack])
-
 AC_OUTPUT( \
        include/MKterm.h.awk \
        include/curses.head:include/curses.h.in \
        include/ncurses_dll.h \
        include/termcap.h \
        include/unctrl.h \
 AC_OUTPUT( \
        include/MKterm.h.awk \
        include/curses.head:include/curses.h.in \
        include/ncurses_dll.h \
        include/termcap.h \
        include/unctrl.h \
+       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
 ],[
 fi
 fi
 ],[
@@ -2474,6 +2573,7 @@ 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"
 MENU_NAME="$MENU_NAME"
 NCURSES_MAJOR="$NCURSES_MAJOR"
 NCURSES_MINOR="$NCURSES_MINOR"
@@ -2501,12 +2601,16 @@ WITH_CURSES_H="$with_curses_h"
 WITH_ECHO="${enable_echo:=yes}"
 WITH_OVERWRITE="$with_overwrite"
 cf_LIST_MODELS="$cf_list_models"
 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_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_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_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
@@ -2524,6 +2628,7 @@ cf_with_manpages="$cf_with_manpages"
 cf_with_tests="$cf_with_tests"
 host="$host"
 target="$target"
 cf_with_tests="$cf_with_tests"
 host="$host"
 target="$target"
+verbose="$verbose"
 with_shared_cxx="$with_shared_cxx"
 
 ],cat)dnl
 with_shared_cxx="$with_shared_cxx"
 
 ],cat)dnl