]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - configure.in
ncurses 6.4 - patch 20240420
[ncurses.git] / configure.in
index 317bdd8fbccb36d281b889f92871cb4e2e985873..2d6836cb7190eb2ceff01bc788aeb8cfe2ca9db3 100644 (file)
@@ -1,5 +1,5 @@
 dnl***************************************************************************
 dnl***************************************************************************
-dnl Copyright 2018-2020,2021 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.738 2021/12/04 23:10:01 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
@@ -38,7 +38,7 @@ dnl     https://invisible-island.net/autoconf/my-autoconf.html
 dnl
 dnl ---------------------------------------------------------------------------
 AC_PREREQ(2.52.20210101)
 dnl
 dnl ---------------------------------------------------------------------------
 AC_PREREQ(2.52.20210101)
-AC_REVISION($Revision: 1.738 $)
+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],
@@ -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,7 +202,6 @@ 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
 modules_to_build="$modules_to_build panel menu form"
 
 AC_ARG_PROGRAM
@@ -231,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)
@@ -247,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=
@@ -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)
 
 ###############################################################################
@@ -420,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)
@@ -459,7 +449,7 @@ 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
 (shared)
 
 case "$DFT_LWR_MODEL" in
 (shared)
@@ -572,10 +562,10 @@ 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
        (xno)
                ;;
        [case x$withval in
        (xno)
                ;;
@@ -587,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
@@ -635,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)
@@ -693,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
@@ -705,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
        ;;
@@ -713,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"
@@ -758,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)
@@ -851,16 +858,24 @@ AC_ARG_ENABLE(root-environ,
        [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 root is allowed to use ncurses environment])
+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_MSG_CHECKING(if you want to permit setuid programs to access all files)
-AC_ARG_ENABLE(root-environ,
+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])
 
        [  --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.
 CF_LINK_FUNCS
 ###   Use option --enable-symlinks to make tic use symlinks, not hard links
 ###   to reduce storage requirements for the terminfo database.
 CF_LINK_FUNCS
@@ -932,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
@@ -944,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
@@ -953,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
@@ -1037,54 +1061,48 @@ AC_SUBST(NCURSES_WATTR_MACROS)
 CF_WITH_X11_RGB
 
 ###   use option --with-bool to override bool's type
 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)
 
@@ -1094,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)
@@ -1144,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])
@@ -1234,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
@@ -1267,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)
@@ -1277,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)
 
 ##############################################################################
@@ -1367,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)
 
@@ -1387,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
@@ -1439,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,
@@ -1625,7 +1664,7 @@ AC_SUBST(INSTALL_OPT_P)
 CF_ENABLE_WARNINGS(Wno-unknown-pragmas Wswitch-enum,yes)
 
 if test "x$enable_warnings" = "xyes"; then
 CF_ENABLE_WARNINGS(Wno-unknown-pragmas Wswitch-enum,yes)
 
 if test "x$enable_warnings" = "xyes"; then
-       CF_ADD_ADAFLAGS(-gnatg)
+       CF_ADD_ADAFLAGS(-gnatwa -gnatyg)
        if test "x$cf_with_cxx" = xyes ; then
                CF_GXX_WARNINGS(Wno-unused)
        fi
        if test "x$cf_with_cxx" = xyes ; then
                CF_GXX_WARNINGS(Wno-unused)
        fi
@@ -1705,12 +1744,6 @@ case "$cf_cv_system_name" in
        CF_CHECK_LIBSSP
        ;;
 (*)
        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
 
@@ -1718,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
 
@@ -1731,6 +1762,7 @@ limits.h \
 locale.h \
 math.h \
 poll.h \
 locale.h \
 math.h \
 poll.h \
+sys/auxv.h \
 sys/ioctl.h \
 sys/param.h \
 sys/poll.h \
 sys/ioctl.h \
 sys/param.h \
 sys/poll.h \
@@ -1786,20 +1818,22 @@ 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 \
+getuid \
 issetugid \
 localeconv \
 poll \
 issetugid \
 localeconv \
 poll \
-putenv \
 remove \
 select \
 setbuf \
 setbuffer \
 remove \
 select \
 setbuf \
 setbuffer \
-setenv \
 setfsuid \
 setvbuf \
 sigaction \
 setfsuid \
 setvbuf \
 sigaction \
@@ -1857,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
@@ -1910,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
@@ -2304,14 +2340,11 @@ AC_SUBST(TICS_LIST)
 AC_SUBST(TINFO_LIST)
 AC_SUBST(SHLIB_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)
@@ -2393,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
@@ -2468,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
@@ -2499,20 +2532,20 @@ 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
        CF_PRG_RULES(["$srcdir/test/mk-test.awk" INSTALL=no ECHO_LINK="$ECHO_LD"], test)
 fi
 CF_LIB_RULES($SRC_SUBDIRS)
        $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)
 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
@@ -2540,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"
@@ -2569,6 +2603,7 @@ 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_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_abi_version="$cf_cv_abi_version"
 cf_cv_do_relink="$cf_cv_do_relink"
 cf_cv_do_reranlib="$cf_cv_do_reranlib"
@@ -2593,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