]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - configure.in
ncurses 5.6 - patch 20070612
[ncurses.git] / configure.in
index 10a189ce095816f63034830a1eb39489b4b56167..30e766003102a291f801a832af1148dc41bb831f 100644 (file)
@@ -1,5 +1,5 @@
 dnl***************************************************************************
 dnl***************************************************************************
-dnl Copyright (c) 1998-2004,2005 Free Software Foundation, Inc.              *
+dnl Copyright (c) 1998-2006,2007 Free Software Foundation, Inc.              *
 dnl                                                                          *
 dnl Permission is hereby granted, free of charge, to any person obtaining a  *
 dnl copy of this software and associated documentation files (the            *
 dnl                                                                          *
 dnl Permission is hereby granted, free of charge, to any person obtaining a  *
 dnl copy of this software and associated documentation files (the            *
@@ -28,17 +28,18 @@ 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.351 2005/09/17 22:41:48 tom Exp $
+dnl $Id: configure.in,v 1.419 2007/05/05 15:45:26 tom Exp $
 dnl Process this file with autoconf to produce a configure script.
 dnl
 dnl See http://invisible-island.net/autoconf/ for additional information.
 dnl
 dnl ---------------------------------------------------------------------------
 AC_PREREQ(2.13.20020210)
 dnl Process this file with autoconf to produce a configure script.
 dnl
 dnl See http://invisible-island.net/autoconf/ for additional information.
 dnl
 dnl ---------------------------------------------------------------------------
 AC_PREREQ(2.13.20020210)
-AC_REVISION($Revision: 1.351 $)
+AC_REVISION($Revision: 1.419 $)
 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)
 
+CF_TOP_BUILDDIR
 CF_SUBST_NCURSES_VERSION
 
 CF_WITH_REL_VERSION(NCURSES)
 CF_SUBST_NCURSES_VERSION
 
 CF_WITH_REL_VERSION(NCURSES)
@@ -101,8 +102,8 @@ fi
 CF_GXX_VERSION
 case $GXX_VERSION in
 1*|2.[[0-6]]*)
 CF_GXX_VERSION
 case $GXX_VERSION in
 1*|2.[[0-6]]*)
-       GXX=""; CXX=""; ac_cv_prog_gxx=no
-       cf_cxx_library=no
+       GXX=""; CXX=""; ac_cv_prog_gxx=no
+       cf_cxx_library=no
        AC_MSG_WARN(templates do not work)
        ;;
 esac
        AC_MSG_WARN(templates do not work)
        ;;
 esac
@@ -142,16 +143,19 @@ fi
 modules_to_build="$modules_to_build panel menu form"
 
 AC_ARG_PROGRAM
 modules_to_build="$modules_to_build panel menu form"
 
 AC_ARG_PROGRAM
-AC_PROG_AWK
-AC_PROG_MAKE_SET
+
+CF_PROG_AWK
+CF_PROG_EGREP
 CF_PROG_INSTALL
 CF_PROG_INSTALL
-AC_SYS_LONG_FILE_NAMES
-CF_MIXEDCASE_FILENAMES
+CF_PROG_LINT
 AC_PROG_LN_S
 AC_PROG_LN_S
+
+AC_PROG_MAKE_SET
 CF_MAKE_TAGS
 CF_MAKE_TAGS
-AC_CHECK_PROGS(LINT, tdlint lint alint)
-AC_CHECK_PROGS(MAN, man man_db)
-AC_SUBST(LINT_OPTS)
+CF_MAKEFLAGS
+
+AC_SYS_LONG_FILE_NAMES
+CF_MIXEDCASE_FILENAMES
 
 dnl These are standard among *NIX systems, but not when cross-compiling
 AC_CHECK_TOOL(RANLIB, ranlib, ':')
 
 dnl These are standard among *NIX systems, but not when cross-compiling
 AC_CHECK_TOOL(RANLIB, ranlib, ':')
@@ -159,8 +163,6 @@ AC_CHECK_TOOL(LD, ld, ld)
 AC_CHECK_TOOL(AR, ar, ar)
 CF_SUBST(archiver options,AR_OPTS,rv)
 
 AC_CHECK_TOOL(AR, ar, ar)
 CF_SUBST(archiver options,AR_OPTS,rv)
 
-CF_MAKEFLAGS
-
 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.
@@ -253,6 +255,9 @@ CF_UPPER(DFT_UPR_MODEL,$DFT_LWR_MODEL)dnl
 AC_SUBST(DFT_LWR_MODEL)dnl     the default model ("normal")
 AC_SUBST(DFT_UPR_MODEL)dnl     the default model ("NORMAL")
 
 AC_SUBST(DFT_LWR_MODEL)dnl     the default model ("normal")
 AC_SUBST(DFT_UPR_MODEL)dnl     the default model ("NORMAL")
 
+TICS_NAME=tic
+AC_SUBST(TICS_NAME)
+
 TINFO_NAME=tinfo
 AC_SUBST(TINFO_NAME)
 
 TINFO_NAME=tinfo
 AC_SUBST(TINFO_NAME)
 
@@ -278,21 +283,38 @@ AC_ARG_WITH(termlib,
        [with_termlib=no])
 AC_MSG_RESULT($with_termlib)
 
        [with_termlib=no])
 AC_MSG_RESULT($with_termlib)
 
-### Checks for special libraries, must be done up-front.
-CF_WITH_DBMALLOC
-CF_WITH_DMALLOC
+AC_MSG_CHECKING(if you want to build a separate tic library)
+AC_ARG_WITH(ticlib,
+       [  --with-ticlib           generate separate tic library],
+       [with_ticlib=$withval],
+       [with_ticlib=no])
+AC_MSG_RESULT($with_ticlib)
 
 
+### Checks for special libraries, must be done up-front.
 SHLIB_LIST=""
 CF_WITH_GPM
 SHLIB_LIST=""
 CF_WITH_GPM
-if test "$with_gpm" = yes ; then
-       CF_FUNC_DLSYM
-       CF_LIB_SONAME([#include <gpm.h>],[if (Gpm_Open(0,0)) Gpm_Close();],gpm)
-       test "$cf_cv_gpm_soname" != "unknown" && AC_DEFINE_UNQUOTED(LIBGPM_SONAME,"$cf_cv_gpm_soname")
-       SHLIB_LIST="-ldl $SHLIB_LIST"
+if test "$with_gpm" != no ; then
+       AC_MSG_CHECKING(if you want to load GPM dynamically)
+       AC_ARG_WITH(dlsym,
+               [  --without-dlsym         do not use dlsym() to load GPM dynamically],
+               [with_dlsym=$withval],
+               [with_dlsym=yes])
+       AC_MSG_RESULT($with_dlsym)
+       if test "$with_dlsym" = yes ; then
+               CF_FUNC_DLSYM
+               if test "$with_gpm" != yes ; then
+                       CF_VERBOSE(assuming soname for gpm is $with_gpm)
+                       cf_cv_gpm_soname="$with_gpm"
+               else
+                       CF_LIB_SONAME([#include <gpm.h>],[if (Gpm_Open(0,0)) Gpm_Close();],gpm)
+               fi
+               test "$cf_cv_gpm_soname" != "unknown" && AC_DEFINE_UNQUOTED(LIBGPM_SONAME,"$cf_cv_gpm_soname")
+               SHLIB_LIST="-ldl $SHLIB_LIST"
+       else
+               SHLIB_LIST="-lgpm $SHLIB_LIST"
+       fi
        AC_DEFINE(HAVE_LIBGPM)
        AC_DEFINE(HAVE_LIBGPM)
-       AC_CHECK_LIB(gpm,Gpm_Wgetch,[
-               AC_MSG_WARN(GPM library is already linked with curses - read the FAQ)
-       ])
+       CF_CHECK_GPM_WGETCH
 fi
 
 CF_WITH_SYSMOUSE
 fi
 
 CF_WITH_SYSMOUSE
@@ -322,12 +344,22 @@ esac
 AC_SUBST(LD_MODEL)dnl          the type of link (e.g., -g or -pg)
 AC_MSG_RESULT($LD_MODEL)
 
 AC_SUBST(LD_MODEL)dnl          the type of link (e.g., -g or -pg)
 AC_MSG_RESULT($LD_MODEL)
 
+case $DFT_LWR_MODEL in
+shared)
 AC_MSG_CHECKING(if rpath option should be used)
 AC_ARG_ENABLE(rpath,
 [  --enable-rpath          use rpath option when generating shared libraries],
 [cf_cv_ld_rpath=$enableval],
 [cf_cv_ld_rpath=no])
 AC_MSG_RESULT($cf_cv_ld_rpath)
 AC_MSG_CHECKING(if rpath option should be used)
 AC_ARG_ENABLE(rpath,
 [  --enable-rpath          use rpath option when generating shared libraries],
 [cf_cv_ld_rpath=$enableval],
 [cf_cv_ld_rpath=no])
 AC_MSG_RESULT($cf_cv_ld_rpath)
+AC_MSG_CHECKING(if shared libraries should be relinked during install)
+AC_ARG_ENABLE(rpath,
+[  --disable-relink        relink shared libraries during install],
+[cf_cv_do_relink=$enableval],
+[cf_cv_do_relink=yes])
+AC_MSG_RESULT($cf_cv_do_relink)
+       ;;
+esac
 
 CF_SHARED_OPTS
 if test "$CC_SHARED_OPTS" = "unknown"; then
 
 CF_SHARED_OPTS
 if test "$CC_SHARED_OPTS" = "unknown"; then
@@ -369,11 +401,18 @@ AC_SUBST(TERMINFO_SRC)
 CF_PATHSEP
 if test "$use_database" != no ; then
        AC_DEFINE(USE_DATABASE)
 CF_PATHSEP
 if test "$use_database" != no ; then
        AC_DEFINE(USE_DATABASE)
+
        AC_MSG_CHECKING(which terminfo source-file will be installed)
        AC_ARG_ENABLE(database,
                [  --with-database=XXX     specify terminfo source to install],
                [TERMINFO_SRC=$withval])
        AC_MSG_RESULT($TERMINFO_SRC)
        AC_MSG_CHECKING(which terminfo source-file will be installed)
        AC_ARG_ENABLE(database,
                [  --with-database=XXX     specify terminfo source to install],
                [TERMINFO_SRC=$withval])
        AC_MSG_RESULT($TERMINFO_SRC)
+
+       AC_MSG_CHECKING(whether to use hashed database instead of directory/tree)
+       AC_ARG_WITH(hashed-db,
+               [  --with-hashed-db        specify hashed-database library],,
+               [with_hashed_db=no])
+       AC_MSG_RESULT($with_hashed_db)
 fi
 
 AC_MSG_CHECKING(for list of fallback descriptions)
 fi
 
 AC_MSG_CHECKING(for list of fallback descriptions)
@@ -441,7 +480,7 @@ int main() {
        char *s = malloc(n);
        if (s != 0)
                s[0] = s[n-1] = 0;
        char *s = malloc(n);
        if (s != 0)
                s[0] = s[n-1] = 0;
-       exit(s == 0);
+       ${cf_cv_main_return:-return}(s == 0);
 }],
        [with_big_core=yes],
        [with_big_core=no],
 }],
        [with_big_core=yes],
        [with_big_core=no],
@@ -466,6 +505,10 @@ if test "$with_termcap" != "yes" ; then
        AC_DEFINE(PURE_TERMINFO)
 else
 
        AC_DEFINE(PURE_TERMINFO)
 else
 
+if test "$with_ticlib" != no ; then
+       AC_ERROR(Options --with-ticlib and --enable-termcap cannot be combined)
+fi
+
 AC_DEFINE(USE_TERMCAP)
 AC_MSG_CHECKING(for list of termcap files)
 CF_WITH_PATHLIST(termpath,
 AC_DEFINE(USE_TERMCAP)
 AC_MSG_CHECKING(for list of termcap files)
 CF_WITH_PATHLIST(termpath,
@@ -503,9 +546,9 @@ AC_ARG_ENABLE(home-terminfo,
 AC_MSG_RESULT($with_home_terminfo)
 test "$with_home_terminfo" = "yes" && AC_DEFINE(USE_HOME_TERMINFO)
 
 AC_MSG_RESULT($with_home_terminfo)
 test "$with_home_terminfo" = "yes" && AC_DEFINE(USE_HOME_TERMINFO)
 
-AC_MSG_CHECKING(if you want to use restrict environment when running as root)
+AC_MSG_CHECKING(if you want to use restricted environment when running as root)
 AC_ARG_ENABLE(root-environ,
 AC_ARG_ENABLE(root-environ,
-       [  --disable-root-environ  limit environment when running as root],
+       [  --disable-root-environ  restrict environment when running as root],
        [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)
@@ -518,29 +561,27 @@ CF_LINK_FUNCS
 with_links=no
 with_symlinks=no
 
 with_links=no
 with_symlinks=no
 
-if test "$ac_cv_func_link" != yes ; then
+# soft links (symbolic links) are useful for some systems where hard links do
+# not work, or to make it simpler to copy terminfo trees around.
+if test "$ac_cv_func_symlink" = yes ; then
     AC_MSG_CHECKING(if tic should use symbolic links)
     AC_MSG_CHECKING(if tic should use symbolic links)
-    if test "$ac_cv_func_symlink" = yes ; then
-       with_symlinks=yes
-    else
-       with_symlinks=no
-    fi
+    AC_ARG_ENABLE(symlinks,
+       [  --enable-symlinks       make tic use symbolic links not hard links],
+       [with_symlinks=$enableval],
+       [with_symlinks=no])
     AC_MSG_RESULT($with_symlinks)
     AC_MSG_RESULT($with_symlinks)
-elif test "$ac_cv_func_symlink" != yes ; then
+fi
+
+# If we have hard links and did not choose to use soft links instead, there is
+# no reason to make this choice optional - use the hard links.
+if test "$with_symlinks" = no ; then
     AC_MSG_CHECKING(if tic should use hard links)
     if test "$ac_cv_func_link" = yes ; then
     AC_MSG_CHECKING(if tic should use hard links)
     if test "$ac_cv_func_link" = yes ; then
-       with_links=yes
+       with_links=yes
     else
     else
-       with_links=no
+       with_links=no
     fi
     AC_MSG_RESULT($with_links)
     fi
     AC_MSG_RESULT($with_links)
-else
-    AC_MSG_CHECKING(if tic should use symbolic links)
-    AC_ARG_ENABLE(symlinks,
-       [  --enable-symlinks       make tic use symbolic links not hard links],
-       [with_symlinks=$enableval],
-       [with_symlinks=no])
-    AC_MSG_RESULT($with_symlinks)
 fi
 
 test "$with_links" = yes && AC_DEFINE(USE_LINKS)
 fi
 
 test "$with_links" = yes && AC_DEFINE(USE_LINKS)
@@ -569,6 +610,15 @@ elif test "$DFT_LWR_MODEL" = shared ; then
 fi
 AC_SUBST(BROKEN_LINKER)
 
 fi
 AC_SUBST(BROKEN_LINKER)
 
+###   use option --enable-bsdpad to have tputs process BSD-style prefix padding
+AC_MSG_CHECKING(if tputs should process BSD-style prefix padding)
+AC_ARG_ENABLE(bsdpad,
+       [  --enable-bsdpad         recognize BSD-style prefix padding],
+       [with_bsdpad=$enableval],
+       [with_bsdpad=no])
+AC_MSG_RESULT($with_bsdpad)
+test "$with_bsdpad" = yes && AC_DEFINE(BSD_TPUTS)
+
 ###   use option --enable-widec to turn on use of wide-character support
 NCURSES_CH_T=chtype
 NCURSES_LIBUTF8=0
 ###   use option --enable-widec to turn on use of wide-character support
 NCURSES_CH_T=chtype
 NCURSES_LIBUTF8=0
@@ -581,6 +631,9 @@ NCURSES_WINT_T=0
 # Check to define _XOPEN_SOURCE "automatically"
 CF_XOPEN_SOURCE
 
 # Check to define _XOPEN_SOURCE "automatically"
 CF_XOPEN_SOURCE
 
+# Work around breakage on OS X
+CF_SIGWINCH
+
 # Checks for CODESET support.
 AM_LANGINFO_CODESET
 
 # Checks for CODESET support.
 AM_LANGINFO_CODESET
 
@@ -652,6 +705,17 @@ AC_SUBST(cf_cv_enable_lp64)
 
 CF_LARGEFILE
 
 
 CF_LARGEFILE
 
+###   use option --disable-tparm-varargs to make tparm() conform to X/Open
+AC_MSG_CHECKING(if you want tparm not to use X/Open fixed-parameter list)
+AC_ARG_ENABLE(tparm-varargs,
+       [  --disable-tparm-varargs compile tparm() without varargs interface],
+       [with_tparm_varargs=$enableval],
+       [with_tparm_varargs=yes])
+AC_MSG_RESULT($with_tparm_varargs)
+NCURSES_TPARM_VARARGS=0
+test "$with_tparm_varargs" = yes && NCURSES_TPARM_VARARGS=1
+AC_SUBST(NCURSES_TPARM_VARARGS)
+
 ###   use option --with-bool to override bool's type
 AC_MSG_CHECKING(for type of bool)
 AC_ARG_WITH(bool,
 ###   use option --with-bool to override bool's type
 AC_MSG_CHECKING(for type of bool)
 AC_ARG_WITH(bool,
@@ -666,7 +730,7 @@ AC_ARG_WITH(caps,
        [  --with-caps=alt         compile with alternate Caps file],
        [TERMINFO_CAPS=Caps.$withval],
        [TERMINFO_CAPS=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
+test -f "${srcdir}/include/${TERMINFO_CAPS}" || TERMINFO_CAPS=Caps
 AC_MSG_RESULT($TERMINFO_CAPS)
 AC_SUBST(TERMINFO_CAPS)
 
 AC_MSG_RESULT($TERMINFO_CAPS)
 AC_SUBST(TERMINFO_CAPS)
 
@@ -695,15 +759,6 @@ AC_ARG_WITH(mmask-t,
        [NCURSES_MMASK_T=auto])
 AC_MSG_RESULT($NCURSES_MMASK_T)
 
        [NCURSES_MMASK_T=auto])
 AC_MSG_RESULT($NCURSES_MMASK_T)
 
-###   use option --enable-bsdpad to have tputs process BSD-style prefix padding
-AC_MSG_CHECKING(if tputs should process BSD-style prefix padding)
-AC_ARG_ENABLE(bsdpad,
-       [  --enable-bsdpad         recognize BSD-style prefix padding],
-       [with_bsdpad=$enableval],
-       [with_bsdpad=no])
-AC_MSG_RESULT($with_bsdpad)
-test "$with_bsdpad" = yes && AC_DEFINE(BSD_TPUTS)
-
 ### Enable compiling-in rcs id's
 AC_MSG_CHECKING(if RCS identifiers should be compiled-in)
 AC_ARG_WITH(rcs-ids,
 ### Enable compiling-in rcs id's
 AC_MSG_CHECKING(if RCS identifiers should be compiled-in)
 AC_ARG_WITH(rcs-ids,
@@ -761,6 +816,21 @@ AC_ARG_ENABLE(no-padding,
 AC_MSG_RESULT($with_no_padding)
 test "$with_no_padding" = yes && AC_DEFINE(NCURSES_NO_PADDING)
 
 AC_MSG_RESULT($with_no_padding)
 test "$with_no_padding" = yes && AC_DEFINE(NCURSES_NO_PADDING)
 
+AC_CHECK_SIZEOF([signed char], 0)
+if test "$ac_cv_sizeof_signed_char" = 1 ; then
+       NCURSES_SBOOL="signed char"
+else
+       NCURSES_SBOOL="char"
+fi
+AC_MSG_CHECKING(if you want to use signed Boolean array in term.h)
+AC_ARG_ENABLE(signed-char,
+       [  --enable-signed-char    compile using signed Boolean's in term.h],
+       [with_signed_char=$enableval],
+       [with_signed_char=no])
+AC_MSG_RESULT($with_signed_char)
+test "$with_signed_char" != yes && NCURSES_SBOOL="char"
+AC_SUBST(NCURSES_SBOOL)
+
 ###   use option --enable-sigwinch to turn on use of SIGWINCH logic
 AC_MSG_CHECKING(if you want SIGWINCH handler)
 AC_ARG_ENABLE(sigwinch,
 ###   use option --enable-sigwinch to turn on use of SIGWINCH logic
 AC_MSG_CHECKING(if you want SIGWINCH handler)
 AC_ARG_ENABLE(sigwinch,
@@ -786,7 +856,7 @@ AC_SUBST(NCURSES_XNAMES)
 CF_HELP_MESSAGE(Development Code:)
 AC_MSG_CHECKING(if you want all development code)
 AC_ARG_WITH(develop,
 CF_HELP_MESSAGE(Development Code:)
 AC_MSG_CHECKING(if you want all development code)
 AC_ARG_WITH(develop,
-       [  --with-develop          enable all development options],
+       [  --without-develop       disable development options],
        [with_develop=$withval],
        [with_develop=no])
 AC_MSG_RESULT($with_develop)
        [with_develop=$withval],
        [with_develop=no])
 AC_MSG_RESULT($with_develop)
@@ -794,20 +864,18 @@ AC_MSG_RESULT($with_develop)
 ###   use option --enable-hard-tabs to turn on use of hard-tabs optimize
 AC_MSG_CHECKING(if you want hard-tabs code)
 AC_ARG_ENABLE(hard-tabs,
 ###   use option --enable-hard-tabs to turn on use of hard-tabs optimize
 AC_MSG_CHECKING(if you want hard-tabs code)
 AC_ARG_ENABLE(hard-tabs,
-       [  --enable-hard-tabs      compile with hard-tabs code],
-       [with_hardtabs=$enableval],
-       [with_hardtabs=$with_develop])
-AC_MSG_RESULT($with_hardtabs)
-test "$with_hardtabs" = yes && AC_DEFINE(USE_HARD_TABS)
+       [  --enable-hard-tabs      compile with hard-tabs code],,
+       [enable_hard_tabs=$with_develop])
+AC_MSG_RESULT($enable_hard_tabs)
+test "$enable_hard_tabs" = yes && AC_DEFINE(USE_HARD_TABS)
 
 ###   use option --enable-xmc-glitch to turn on use of magic-cookie optimize
 AC_MSG_CHECKING(if you want limited support for xmc)
 AC_ARG_ENABLE(xmc-glitch,
 
 ###   use option --enable-xmc-glitch to turn on use of magic-cookie optimize
 AC_MSG_CHECKING(if you want limited support for xmc)
 AC_ARG_ENABLE(xmc-glitch,
-       [  --enable-xmc-glitch     compile with limited support for xmc],
-       [with_xmc_glitch=$enableval],
-       [with_xmc_glitch=$with_develop])
-AC_MSG_RESULT($with_xmc_glitch)
-test "$with_xmc_glitch" = yes && AC_DEFINE(USE_XMC_SUPPORT)
+       [  --enable-xmc-glitch     compile with support for xmc (magic-cookie)],,
+       [enable_xmc_glitch=$with_develop])
+AC_MSG_RESULT($enable_xmc_glitch)
+test "$enable_xmc_glitch" = yes && AC_DEFINE(USE_XMC_SUPPORT)
 
 ###############################################################################
 # These are just experimental, probably should not be in a package:
 
 ###############################################################################
 # These are just experimental, probably should not be in a package:
@@ -849,7 +917,7 @@ AC_MSG_RESULT($with_ext_colors)
 NCURSES_EXT_COLORS=0
 if test "$with_ext_colors" = yes ; then
        if test "$with_widec" != yes ; then
 NCURSES_EXT_COLORS=0
 if test "$with_ext_colors" = yes ; then
        if test "$with_widec" != yes ; then
-               AC_MSG_WARN(This option applies only to wide-character library)
+               AC_MSG_ERROR(This option applies only to wide-character library)
        else
                # cannot be ABI 5 since it changes sizeof(cchar_t)
                CF_NCURSES_ABI_6
        else
                # cannot be ABI 5 since it changes sizeof(cchar_t)
                CF_NCURSES_ABI_6
@@ -873,6 +941,33 @@ if test "$with_ext_mouse" = yes ; then
 fi
 AC_SUBST(NCURSES_MOUSE_VERSION)
 
 fi
 AC_SUBST(NCURSES_MOUSE_VERSION)
 
+# Reentrant code has to be opaque; there's little advantage to making ncurses
+# opaque outside of that, so there is no --enable-opaque option.
+AC_MSG_CHECKING(if you want experimental reentrant code)
+AC_ARG_ENABLE(reentrant,
+       [  --enable-reentrant      compile with experimental reentrant code],
+       [with_reentrant=$enableval],
+       [with_reentrant=no])
+AC_MSG_RESULT($with_reentrant)
+if test "$with_reentrant" = yes ; then
+       cf_cv_enable_reentrant=1
+       cf_cv_enable_opaque="NCURSES_INTERNALS"
+       NCURSES_OPAQUE=1
+       NCURSES_SIZE_T=int
+       LIB_SUFFIX="t${LIB_SUFFIX}"
+       AC_DEFINE(USE_REENTRANT)
+       CF_NCURSES_ABI_6
+else
+       cf_cv_enable_reentrant=0
+       cf_cv_enable_opaque="NCURSES_OPAQUE"
+       NCURSES_OPAQUE=0
+       NCURSES_SIZE_T=short
+fi
+AC_SUBST(cf_cv_enable_reentrant)
+AC_SUBST(cf_cv_enable_opaque)
+AC_SUBST(NCURSES_OPAQUE)
+AC_SUBST(NCURSES_SIZE_T)
+
 AC_MSG_CHECKING(if you want experimental safe-sprintf code)
 AC_ARG_ENABLE(safe-sprintf,
        [  --enable-safe-sprintf   compile with experimental safe-sprintf code],
 AC_MSG_CHECKING(if you want experimental safe-sprintf code)
 AC_ARG_ENABLE(safe-sprintf,
        [  --enable-safe-sprintf   compile with experimental safe-sprintf code],
@@ -893,6 +988,14 @@ AC_MSG_RESULT($with_scroll_hints)
 test "$with_scroll_hints" = yes && AC_DEFINE(USE_SCROLL_HINTS)
 fi
 
 test "$with_scroll_hints" = yes && AC_DEFINE(USE_SCROLL_HINTS)
 fi
 
+AC_MSG_CHECKING(if you want experimental wgetch-events code)
+AC_ARG_ENABLE(wgetch-events,
+       [  --enable-wgetch-events  compile with experimental wgetch-events code],
+       [with_wgetch_events=$enableval],
+       [with_wgetch_events=no])
+AC_MSG_RESULT($with_wgetch_events)
+test "$with_wgetch_events" = yes && AC_DEFINE(NCURSES_WGETCH_EVENTS)
+
 ###############################################################################
 CF_HELP_MESSAGE(Testing/development Options:)
 
 ###############################################################################
 CF_HELP_MESSAGE(Testing/development Options:)
 
@@ -946,9 +1049,7 @@ then
 fi
 
 ###    use option --disable-leaks to suppress "permanent" leaks, for testing
 fi
 
 ###    use option --disable-leaks to suppress "permanent" leaks, for testing
-AC_ARG_ENABLE(leaks,
-       [  --disable-leaks         test: suppress permanent memory-leaks],
-       [test "$enableval" = no && AC_DEFINE(NO_LEAKS)])
+CF_DISABLE_LEAKS
 AC_DEFINE(HAVE_NC_ALLOC_H)
 
 ###    use option --enable-expanded to generate certain macros as functions
 AC_DEFINE(HAVE_NC_ALLOC_H)
 
 ###    use option --enable-expanded to generate certain macros as functions
@@ -1036,20 +1137,21 @@ CF_SYS_TIME_SELECT
 ###    checks for compiler characteristics
 AC_LANG_C
 AC_C_CONST
 ###    checks for compiler characteristics
 AC_LANG_C
 AC_C_CONST
-AC_C_INLINE
-test "$ac_cv_c_inline" != no && AC_DEFINE(CC_HAS_INLINE_FUNCS)
+CF_C_INLINE(NCURSES_INLINE,1200)
+CF_SIG_ATOMIC_T
 
 if test $NCURSES_CHTYPE = auto ; then
        CF_TYPEOF_CHTYPE
 else
        cf_cv_typeof_chtype=$NCURSES_CHTYPE
 fi
 
 if test $NCURSES_CHTYPE = auto ; then
        CF_TYPEOF_CHTYPE
 else
        cf_cv_typeof_chtype=$NCURSES_CHTYPE
 fi
+test "$cf_cv_typeof_chtype" = unsigned && cf_cv_typeof_chtype=""
 AC_SUBST(cf_cv_typeof_chtype)
 
 CF_UNSIGNED_LITERALS
 cf_cv_1UL="1"
 AC_SUBST(cf_cv_typeof_chtype)
 
 CF_UNSIGNED_LITERALS
 cf_cv_1UL="1"
-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"
+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)
 
 if test $NCURSES_MMASK_T = auto ; then
 AC_SUBST(cf_cv_1UL)
 
 if test $NCURSES_MMASK_T = auto ; then
@@ -1057,6 +1159,7 @@ if test $NCURSES_MMASK_T = auto ; then
 else
        cf_cv_typeof_mmask_t=$NCURSES_MMASK_T
 fi
 else
        cf_cv_typeof_mmask_t=$NCURSES_MMASK_T
 fi
+test "$cf_cv_typeof_mmask_t" = unsigned && cf_cv_typeof_mmask_t=""
 AC_SUBST(cf_cv_typeof_mmask_t)
 
 ###    Checks for external-data
 AC_SUBST(cf_cv_typeof_mmask_t)
 
 ###    Checks for external-data
@@ -1096,12 +1199,7 @@ CF_FUNC_VSSCANF
 CF_MKSTEMP
 
 # setup for prototype of fallback for vsscanf()
 CF_MKSTEMP
 
 # setup for prototype of fallback for vsscanf()
-if test "$cf_cv_func_vsscanf" = vsscanf ; then
-       HAVE_VSSCANF=1
-else
-       HAVE_VSSCANF=0
-fi
-AC_SUBST(HAVE_VSSCANF)
+CF_SUBST_IF(["$cf_cv_func_vsscanf" = vsscanf], HAVE_VSSCANF, 1, 0)
 
 dnl FIXME (may need this) AC_SYS_RESTARTABLE_SYSCALLS
 if test "$cross_compiling" = yes ; then
 
 dnl FIXME (may need this) AC_SYS_RESTARTABLE_SYSCALLS
 if test "$cross_compiling" = yes ; then
@@ -1115,8 +1213,13 @@ CF_SIZECHANGE
 CF_FUNC_MEMMOVE
 CF_FUNC_POLL
 
 CF_FUNC_MEMMOVE
 CF_FUNC_POLL
 
+if test "$with_hashed_db" != no ; then
+       AC_DEFINE(USE_HASHED_DB)
+       CF_HASHED_DB
+fi
+
 dnl We'll do our own -g libraries, unless the user's overridden via $CFLAGS
 dnl We'll do our own -g libraries, unless the user's overridden via $CFLAGS
-if test -z "$cf_user_CFLAGS" ; then
+if test -z "$cf_user_CFLAGS" && test "$with_no_leaks" = no ; then
        CF_STRIP_G_OPT(CFLAGS)
        CF_STRIP_G_OPT(CXXFLAGS)
 fi
        CF_STRIP_G_OPT(CFLAGS)
        CF_STRIP_G_OPT(CXXFLAGS)
 fi
@@ -1142,14 +1245,13 @@ if test -n "$CXX" ; then
                ;;
        esac
 
                ;;
        esac
 
-       AC_CHECK_HEADERS(typeinfo)
+       AC_CHECK_HEADERS(iostream typeinfo)
 
        CF_BOOL_DECL
        CF_BOOL_SIZE
        CF_ETIP_DEFINES
        CF_CPP_PARAM_INIT
        CF_CPP_STATIC_CAST
 
        CF_BOOL_DECL
        CF_BOOL_SIZE
        CF_ETIP_DEFINES
        CF_CPP_PARAM_INIT
        CF_CPP_STATIC_CAST
-       CF_CPP_VSCAN_FUNC
 
        CXX_AR='$(AR)'
        CXX_AR_OPTS='$(AR_OPTS)'
 
        CXX_AR='$(AR)'
        CXX_AR_OPTS='$(AR_OPTS)'
@@ -1187,7 +1289,8 @@ else
        # may change.
 
        if test "$NCURSES_BOOL" != auto ; then
        # may change.
 
        if test "$NCURSES_BOOL" != auto ; then
-               cf_cv_type_of_bool=$NCURSES_AUTO
+               cf_cv_type_of_bool=$NCURSES_BOOL
+               cf_cv_header_stdbool_h=0
        else
                if test "$cf_cv_header_stdbool_h" = 1 ; then
                        CF_BOOL_SIZE
        else
                if test "$cf_cv_header_stdbool_h" = 1 ; then
                        CF_BOOL_SIZE
@@ -1227,6 +1330,7 @@ CF_HELP_MESSAGE(Ada95 Binding Options:)
 
 dnl Check for availability of GNU Ada Translator (GNAT).
 dnl At the moment we support no other Ada95 compiler.
 
 dnl Check for availability of GNU Ada Translator (GNAT).
 dnl At the moment we support no other Ada95 compiler.
+if test -f "${srcdir}/Ada95/Makefile.in" ; then
 if test "$cf_with_ada" != "no" ; then
 cf_ada_make=gnatmake
 AC_CHECK_PROG(gnat_exists, $cf_ada_make, yes, no)
 if test "$cf_with_ada" != "no" ; then
 cf_ada_make=gnatmake
 AC_CHECK_PROG(gnat_exists, $cf_ada_make, yes, no)
@@ -1309,21 +1413,44 @@ end conftest;],[cf_cv_pragma_unreferenced=yes],[cf_cv_pragma_unreferenced=no])
 
 fi
 fi
 
 fi
 fi
+else
+   cf_with_ada=no
+fi
 
 
-### Construct the library-subsets, if any, from this set of keywords:
-### none, base, ext_funcs, ext_tinfo, termlib, widechar (see CF_LIB_RULES).
+### Construct the ncurses library-subsets, if any, from this set of keywords:
+###    none, base, ext_funcs, ext_tinfo, ticlib, termlib, widechar
+###
+### ticlib modules may be a separate library, otherwise contained in termlib.
+### termlib modules may be a separate library, otherwise contained in ncurses.
+###
+### The of "+" or " " between the tokens controls the way the script
+### chooses to split module lists into libraries.
+###
+### (see CF_LIB_RULES).
 AC_MSG_CHECKING(for library subsets)
 AC_MSG_CHECKING(for library subsets)
+LIB_SUBSETS=
+
+if test "$cf_with_progs" = yes || test "$with_ticlib" != no; then
+       LIB_SUBSETS="${LIB_SUBSETS}ticlib"
+       if test "$with_ticlib" != no ; then
+               LIB_SUBSETS="${LIB_SUBSETS} "
+       else
+               LIB_SUBSETS="${LIB_SUBSETS}+"
+       fi
+fi
+
+LIB_SUBSETS="${LIB_SUBSETS}termlib"
+test "$with_ext_funcs" = yes && LIB_SUBSETS="${LIB_SUBSETS}+ext_tinfo"
 if test "$with_termlib" != no ; then
 if test "$with_termlib" != no ; then
-       LIB_SUBSETS="termlib"
-       test "$with_ext_funcs" = yes && LIB_SUBSETS="${LIB_SUBSETS}+ext_tinfo"
        LIB_SUBSETS="${LIB_SUBSETS} "
 else
        LIB_SUBSETS="${LIB_SUBSETS} "
 else
-       LIB_SUBSETS="termlib+"
-       test "$with_ext_funcs" = yes && LIB_SUBSETS="${LIB_SUBSETS}ext_tinfo+"
+       LIB_SUBSETS="${LIB_SUBSETS}+"
 fi
 fi
+
 LIB_SUBSETS="${LIB_SUBSETS}base"
 test "$with_widec"     = yes && LIB_SUBSETS="${LIB_SUBSETS}+widechar"
 test "$with_ext_funcs" = yes && LIB_SUBSETS="${LIB_SUBSETS}+ext_funcs"
 LIB_SUBSETS="${LIB_SUBSETS}base"
 test "$with_widec"     = yes && LIB_SUBSETS="${LIB_SUBSETS}+widechar"
 test "$with_ext_funcs" = yes && LIB_SUBSETS="${LIB_SUBSETS}+ext_funcs"
+
 AC_MSG_RESULT($LIB_SUBSETS)
 
 ### Construct the list of include-directories to be generated
 AC_MSG_RESULT($LIB_SUBSETS)
 
 ### Construct the list of include-directories to be generated
@@ -1338,10 +1465,12 @@ AC_MSG_RESULT($DFT_ARG_SUFFIX)
 
 AC_MSG_CHECKING(default library-dependency suffix)
 CF_LIB_SUFFIX($DFT_LWR_MODEL,DFT_DEP_SUFFIX)dnl
 
 AC_MSG_CHECKING(default library-dependency suffix)
 CF_LIB_SUFFIX($DFT_LWR_MODEL,DFT_DEP_SUFFIX)dnl
+DFT_LIB_SUFFIX=$DFT_DEP_SUFFIX
 if test $DFT_LWR_MODEL = shared ; then
        case $cf_cv_system_name in #(vi
        cygwin*)
                DFT_DEP_SUFFIX=".dll.a"
 if test $DFT_LWR_MODEL = shared ; then
        case $cf_cv_system_name in #(vi
        cygwin*)
                DFT_DEP_SUFFIX=".dll.a"
+               DFT_LIB_SUFFIX=".dll"
                ;;
        esac
 fi
                ;;
        esac
 fi
@@ -1365,16 +1494,53 @@ AC_MSG_RESULT($CXX_LIB_SUFFIX)
 AC_SUBST(CXX_LIB_SUFFIX)
 fi
 
 AC_SUBST(CXX_LIB_SUFFIX)
 fi
 
+# do not want -ldl in build except as needed for -lncurses dependency
+if test "$with_dlsym" = yes ; then
+if test $DFT_LWR_MODEL = shared || \
+   test $DFT_LWR_MODEL = libtool ; then
+       CF_REMOVE_LIB(LIBS,$LIBS,dl)
+fi
+fi
 ### Set up low-level terminfo dependencies for makefiles.
 ### Set up low-level terminfo dependencies for makefiles.
-TINFO_LIST="$SHLIB_LIST"
+
+# TICS_LIST and TINFO_LIST are needed to build libtic.so and libterm.so, but
+# do not need libdl
+TICS_LIST=
+if test "$with_dlsym" = yes ; then
+       CF_REMOVE_LIB(TINFO_LIST,$SHLIB_LIST,dl)
+fi
+
+if test "$with_ticlib" != no ; then
+
+       if test "$with_ticlib" != yes ; then
+               TICS_NAME=$with_ticlib
+               TICS_ARG_SUFFIX="${with_ticlib}`echo ${DFT_ARG_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`"
+               TICS_DEP_SUFFIX="${with_ticlib}`echo ${DFT_DEP_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`"
+               TICS_LIB_SUFFIX="${with_ticlib}"
+       else
+               TICS_ARG_SUFFIX="${TICS_NAME}${DFT_ARG_SUFFIX}"
+               TICS_DEP_SUFFIX="${TICS_NAME}${DFT_DEP_SUFFIX}"
+               TICS_LIB_SUFFIX="${TICS_NAME}${LIB_SUFFIX}"
+       fi
+       TICS_ARGS="-L${LIB_DIR} -l${TICS_LIB_SUFFIX}"
+else
+       TICS_ARGS="-L${LIB_DIR} -l${LIB_NAME}${DFT_ARG_SUFFIX}"
+fi
+AC_SUBST(TICS_ARG_SUFFIX)
+AC_SUBST(TICS_DEP_SUFFIX)
+AC_SUBST(TICS_LIB_SUFFIX)
+AC_SUBST(TICS_ARGS)
+
 if test "$with_termlib" != no ; then
 
        if test "$with_termlib" != yes ; then
                TINFO_NAME=$with_termlib
 if test "$with_termlib" != no ; then
 
        if test "$with_termlib" != yes ; then
                TINFO_NAME=$with_termlib
+               TINFO_SUFFIX="`echo ${DFT_LIB_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`"
                TINFO_ARG_SUFFIX="${with_termlib}`echo ${DFT_ARG_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`"
                TINFO_DEP_SUFFIX="${with_termlib}`echo ${DFT_DEP_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`"
                TINFO_LIB_SUFFIX="${with_termlib}"
        else
                TINFO_ARG_SUFFIX="${with_termlib}`echo ${DFT_ARG_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`"
                TINFO_DEP_SUFFIX="${with_termlib}`echo ${DFT_DEP_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`"
                TINFO_LIB_SUFFIX="${with_termlib}"
        else
+               TINFO_SUFFIX=${DFT_LIB_SUFFIX}
                TINFO_ARG_SUFFIX="${TINFO_NAME}${DFT_ARG_SUFFIX}"
                TINFO_DEP_SUFFIX="${TINFO_NAME}${DFT_DEP_SUFFIX}"
                TINFO_LIB_SUFFIX="${TINFO_NAME}${LIB_SUFFIX}"
                TINFO_ARG_SUFFIX="${TINFO_NAME}${DFT_ARG_SUFFIX}"
                TINFO_DEP_SUFFIX="${TINFO_NAME}${DFT_DEP_SUFFIX}"
                TINFO_LIB_SUFFIX="${TINFO_NAME}${LIB_SUFFIX}"
@@ -1389,25 +1555,52 @@ if test "$with_termlib" != no ; then
        else
                TEST_ARGS="-l${TINFO_ARG_SUFFIX}"
                TEST_ARG2="-l${TINFO_ARG_SUFFIX}"
        else
                TEST_ARGS="-l${TINFO_ARG_SUFFIX}"
                TEST_ARG2="-l${TINFO_ARG_SUFFIX}"
+               TICS_LIST="$SHLIB_LIST -l${TINFO_LIB_SUFFIX}"
                TINFO_ARGS="-L${LIB_DIR} $TEST_ARGS"
                SHLIB_LIST="$SHLIB_LIST -l${TINFO_LIB_SUFFIX}"
        fi
 else
                TINFO_ARGS="-L${LIB_DIR} $TEST_ARGS"
                SHLIB_LIST="$SHLIB_LIST -l${TINFO_LIB_SUFFIX}"
        fi
 else
+       # the next lines are needed for linking libtic over libncurses
+       TINFO_NAME=${LIB_NAME}
+       TINFO_SUFFIX=${DFT_LIB_SUFFIX}
+       TINFO_ARG_SUFFIX=${LIB_NAME}${DFT_ARG_SUFFIX}
+       TICS_LIST="$SHLIB_LIST -l${LIB_NAME}${DFT_ARG_SUFFIX}"
+
        TINFO_ARGS="-L${LIB_DIR} -l${LIB_NAME}${DFT_ARG_SUFFIX}"
 fi
        TINFO_ARGS="-L${LIB_DIR} -l${LIB_NAME}${DFT_ARG_SUFFIX}"
 fi
+
+if test "$DFT_LWR_MODEL" = shared ; then
+       case $cf_cv_system_name in #(vi
+       cygwin*)
+               # "lib" files have ".dll.a" suffix, "cyg" files have ".dll"
+               TINFO_SUFFIX=.dll
+               ;;
+       esac
+fi
+
 AC_SUBST(TINFO_ARG_SUFFIX)
 AC_SUBST(TINFO_DEP_SUFFIX)
 AC_SUBST(TINFO_LIB_SUFFIX)
 AC_SUBST(TINFO_ARGS)
 
 AC_SUBST(TINFO_ARG_SUFFIX)
 AC_SUBST(TINFO_DEP_SUFFIX)
 AC_SUBST(TINFO_LIB_SUFFIX)
 AC_SUBST(TINFO_ARGS)
 
+if test "$with_dlsym" = yes ; then
+       CF_REMOVE_LIB(TICS_LIST,$TICS_LIST,dl)
+fi
+
 # needed for Ada95
 TINFO_ARGS2=`echo "$TINFO_ARGS" | sed -e 's,-L\.\./,-L../../,'`
 AC_SUBST(TINFO_ARGS2)
 
 # needed for Ada95
 TINFO_ARGS2=`echo "$TINFO_ARGS" | sed -e 's,-L\.\./,-L../../,'`
 AC_SUBST(TINFO_ARGS2)
 
+case $DFT_LWR_MODEL in
+normal|debug|profile)
+       CF_LDFLAGS_STATIC
+       ;;
+esac
+
 AC_MSG_CHECKING(where we will install curses.h)
 test "$with_overwrite" = no && \
 test "x$includedir" = 'x${prefix}/include' && \
 AC_MSG_CHECKING(where we will install curses.h)
 test "$with_overwrite" = no && \
 test "x$includedir" = 'x${prefix}/include' && \
-       includedir='$(prefix)/include/ncurses'${LIB_SUFFIX}
+       includedir='${prefix}/include/ncurses'${LIB_SUFFIX}
 AC_MSG_RESULT($includedir)
 
 ### Resolve a conflict between normal and wide-curses by forcing applications
 AC_MSG_RESULT($includedir)
 
 ### Resolve a conflict between normal and wide-curses by forcing applications
@@ -1419,9 +1612,15 @@ if test "$NCURSES_LIBUTF8" = 1 ; then
 fi
 fi
 
 fi
 fi
 
+AC_SUBST(WITH_OVERWRITE)
+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)
 
 ### predefined stuff for the test programs
 AC_DEFINE(HAVE_SLK_COLOR)
 
@@ -1429,6 +1628,11 @@ AC_DEFINE(HAVE_SLK_COLOR)
 ### with the appropriate compile-rules.
 
 CF_SRC_MODULES($modules_to_build)
 ### with the appropriate compile-rules.
 
 CF_SRC_MODULES($modules_to_build)
+
+if test "$cf_with_ada" != "no" && test "$cf_cv_prog_gnat_correct" != "no"; then
+   SUB_MAKEFILES="$SUB_MAKEFILES Ada95/gen/adacurses-config"
+fi
+
 CF_DIRS_TO_MAKE
 
 AC_DEFINE_UNQUOTED(NCURSES_PATHSEP,'$PATHSEP')
 CF_DIRS_TO_MAKE
 
 AC_DEFINE_UNQUOTED(NCURSES_PATHSEP,'$PATHSEP')
@@ -1438,8 +1642,14 @@ AC_DEFINE_UNQUOTED(NCURSES_VERSION_STRING, "${NCURSES_MAJOR}.${NCURSES_MINOR}.${
 ### Now that we're done running tests, add the compiler-warnings, if any
 CF_ADD_CFLAGS($EXTRA_CFLAGS)
 
 ### 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(["$cf_cv_have_tcgetattr" = yes], HAVE_TCGETATTR, 1, 0)
+CF_SUBST_IF(["$ac_cv_header_termio_h" = yes], HAVE_TERMIO_H, 1, 0)
+CF_SUBST_IF(["$ac_cv_header_termios_h" = yes], HAVE_TERMIOS_H, 1, 0)
+
 ################################################################################
 test "$use_database" = yes && SUB_MAKEFILES="$SUB_MAKEFILES misc/run_tic.sh:misc/run_tic.in"
 ################################################################################
 test "$use_database" = yes && SUB_MAKEFILES="$SUB_MAKEFILES misc/run_tic.sh:misc/run_tic.in"
+SUB_MAKEFILES="$SUB_MAKEFILES misc/ncurses-config:misc/ncurses-config.in"
 AC_OUTPUT( \
        include/MKterm.h.awk \
        include/curses.head:include/curses.h.in \
 AC_OUTPUT( \
        include/MKterm.h.awk \
        include/curses.head:include/curses.h.in \
@@ -1447,33 +1657,44 @@ AC_OUTPUT( \
        include/unctrl.h \
        $SUB_MAKEFILES \
        Makefile,[
        include/unctrl.h \
        $SUB_MAKEFILES \
        Makefile,[
-CF_LIB_RULES
+CF_PRG_RULES([$srcdir/test/mk-test.awk ECHO_LINK="$ECHO_LINK"], test)
+CF_LIB_RULES($SRC_SUBDIRS)
 ],[
 ### Special initialization commands, used to pass information from the
 ### configuration-run into config.status
 
 AWK="$AWK"
 ],[
 ### Special initialization commands, used to pass information from the
 ### configuration-run into config.status
 
 AWK="$AWK"
-CF_LIST_MODELS="$cf_list_models"
 DFT_ARG_SUFFIX="$DFT_ARG_SUFFIX"
 DFT_LWR_MODEL="$DFT_LWR_MODEL"
 DFT_ARG_SUFFIX="$DFT_ARG_SUFFIX"
 DFT_LWR_MODEL="$DFT_LWR_MODEL"
+ECHO_LINK="$ECHO_LINK"
 LDCONFIG="$LDCONFIG"
 LIB_NAME="$LIB_NAME"
 LIB_SUBSETS="$LIB_SUBSETS"
 LIB_SUFFIX="$LIB_SUFFIX"
 LIB_TRACING="$LIB_TRACING"
 MAKE_TERMINFO="$MAKE_TERMINFO"
 LDCONFIG="$LDCONFIG"
 LIB_NAME="$LIB_NAME"
 LIB_SUBSETS="$LIB_SUBSETS"
 LIB_SUFFIX="$LIB_SUFFIX"
 LIB_TRACING="$LIB_TRACING"
 MAKE_TERMINFO="$MAKE_TERMINFO"
+NCURSES_MAJOR="$NCURSES_MAJOR"
+NCURSES_MINOR="$NCURSES_MINOR"
 NCURSES_OSPEED="$NCURSES_OSPEED"
 NCURSES_OSPEED="$NCURSES_OSPEED"
+NCURSES_PATCH="$NCURSES_PATCH"
 SRC_SUBDIRS="$SRC_SUBDIRS"
 TERMINFO="$TERMINFO"
 TINFO_ARG_SUFFIX="$TINFO_ARG_SUFFIX"
 TINFO_LIB_SUFFIX="$TINFO_LIB_SUFFIX"
 TINFO_NAME="$TINFO_NAME"
 SRC_SUBDIRS="$SRC_SUBDIRS"
 TERMINFO="$TERMINFO"
 TINFO_ARG_SUFFIX="$TINFO_ARG_SUFFIX"
 TINFO_LIB_SUFFIX="$TINFO_LIB_SUFFIX"
 TINFO_NAME="$TINFO_NAME"
+TINFO_SUFFIX="$TINFO_SUFFIX"
+TICS_ARG_SUFFIX="$TICS_ARG_SUFFIX"
+TICS_LIB_SUFFIX="$TICS_LIB_SUFFIX"
+TICS_NAME="$TICS_NAME"
 WITH_CURSES_H="$with_curses_h"
 WITH_ECHO="$with_echo"
 WITH_OVERWRITE="$with_overwrite"
 WITH_CURSES_H="$with_curses_h"
 WITH_ECHO="$with_echo"
 WITH_OVERWRITE="$with_overwrite"
+cf_LIST_MODELS="$cf_list_models"
 cf_cv_abi_version="$cf_cv_abi_version"
 cf_cv_abi_version="$cf_cv_abi_version"
+cf_cv_do_relink="$cf_cv_do_relink"
 cf_cv_do_symlinks="$cf_cv_do_symlinks"
 cf_cv_enable_lp64="$cf_cv_enable_lp64"
 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_prog_CC_c_o=$cf_cv_prog_CC_c_o
 cf_cv_prog_CXX_c_o=$cf_cv_prog_CXX_c_o
 cf_cv_rel_version="$cf_cv_rel_version"
 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_rel_version="$cf_cv_rel_version"