]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - configure.in
ncurses 5.9 - patch 20120901
[ncurses.git] / configure.in
index 8016c3ac7b524e4747627a25b8978d2ac469bd1b..2eade1beba89c47aa071a1db0bc49725996602ec 100644 (file)
@@ -1,5 +1,5 @@
 dnl***************************************************************************
 dnl***************************************************************************
-dnl Copyright (c) 1998-2006,2007 Free Software Foundation, Inc.              *
+dnl Copyright (c) 1998-2011,2012 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,14 +28,14 @@ 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.393 2007/02/03 19:26:12 tom Exp $
+dnl $Id: configure.in,v 1.553 2012/09/01 19:53:17 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.393 $)
+AC_REVISION($Revision: 1.553 $)
 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)
 
@@ -58,7 +58,18 @@ cf_user_CFLAGS="$CFLAGS"
 CF_CFG_DEFAULTS
 
 ###    Checks for programs.
 CF_CFG_DEFAULTS
 
 ###    Checks for programs.
-AC_PROG_CC
+AC_ARG_WITH(ada,
+       [  --without-ada           suppress check for Ada95, don't build demo],
+       [cf_with_ada=$withval],
+       [cf_with_ada=yes])
+if test "x$cf_with_ada" = xyes
+then
+       cf_PROG_CC="gnatgcc gcc cc"
+else
+       cf_PROG_CC="gcc cc"
+fi
+
+AC_PROG_CC($cf_PROG_CC)
 CF_GCC_VERSION
 
 AC_PROG_CPP
 CF_GCC_VERSION
 
 AC_PROG_CPP
@@ -89,14 +100,16 @@ else
                cf_with_cxx=no; CXX=""; GXX="";])dnl
        AC_PROG_CXX
        popdef([AC_MSG_ERROR])dnl
                cf_with_cxx=no; CXX=""; GXX="";])dnl
        AC_PROG_CXX
        popdef([AC_MSG_ERROR])dnl
-       # autoconf 2.5x removed the error - by hardcoding it to g++.
+       # autoconf 2.5x removed the error (hardcoding it to g++, or just blank)
        if test "$CXX" = "g++" ; then
                AC_PATH_PROG(CXX,g++)
        fi
        if test "$CXX" = "g++" ; then
                AC_PATH_PROG(CXX,g++)
        fi
-       if test "$CXX" = "g++" ; then
-               AC_MSG_WARN(ignoring hardcoded g++)
+       case "x$CXX" in #(vi
+       x|xg++)
+               AC_MSG_WARN([You don't have any C++ compiler, too bad])
                cf_with_cxx=no; CXX=""; GXX="";
                cf_with_cxx=no; CXX=""; GXX="";
-       fi
+               ;;
+       esac
 fi
 
 CF_GXX_VERSION
 fi
 
 CF_GXX_VERSION
@@ -116,12 +129,15 @@ AC_ARG_WITH(cxx-binding,
 AC_MSG_RESULT($cf_with_cxx_binding)
 
 AC_MSG_CHECKING(if you want to build with Ada95)
 AC_MSG_RESULT($cf_with_cxx_binding)
 
 AC_MSG_CHECKING(if you want to build with Ada95)
-AC_ARG_WITH(ada,
-       [  --without-ada           suppress check for Ada95, don't build demo],
-       [cf_with_ada=$withval],
-       [cf_with_ada=yes])
 AC_MSG_RESULT($cf_with_ada)
 
 AC_MSG_RESULT($cf_with_ada)
 
+AC_MSG_CHECKING(if you want to install manpages)
+AC_ARG_WITH(manpages,
+       [  --without-manpages      suppress install of manpages],
+       [cf_with_manpages=$withval],
+       [cf_with_manpages=yes])
+AC_MSG_RESULT($cf_with_manpages)
+
 AC_MSG_CHECKING(if you want to build programs such as tic)
 AC_ARG_WITH(progs,
        [  --without-progs         suppress build with programs (e.g., tic)],
 AC_MSG_CHECKING(if you want to build programs such as tic)
 AC_ARG_WITH(progs,
        [  --without-progs         suppress build with programs (e.g., tic)],
@@ -129,6 +145,13 @@ AC_ARG_WITH(progs,
        [cf_with_progs=yes])
 AC_MSG_RESULT($cf_with_progs)
 
        [cf_with_progs=yes])
 AC_MSG_RESULT($cf_with_progs)
 
+AC_MSG_CHECKING(if you want to build test-programs)
+AC_ARG_WITH(tests,
+       [  --without-tests         suppress build with test-programs],
+       [cf_with_tests=$withval],
+       [cf_with_tests=yes])
+AC_MSG_RESULT($cf_with_tests)
+
 AC_MSG_CHECKING(if you wish to install curses.h)
 AC_ARG_WITH(curses-h,
        [  --without-curses-h      install curses.h as ncurses.h only],
 AC_MSG_CHECKING(if you wish to install curses.h)
 AC_ARG_WITH(curses-h,
        [  --without-curses-h      install curses.h as ncurses.h only],
@@ -148,20 +171,40 @@ CF_PROG_AWK
 CF_PROG_EGREP
 CF_PROG_INSTALL
 CF_PROG_LINT
 CF_PROG_EGREP
 CF_PROG_INSTALL
 CF_PROG_LINT
-AC_PROG_LN_S
+CF_PROG_LN_S
+
+AC_SYS_LONG_FILE_NAMES
+
+# if we find pkg-config, check if we should install the ".pc" files.
+CF_PKG_CONFIG
+CF_WITH_PKG_CONFIG_LIBDIR
+CF_ENABLE_PC_FILES
+
+AC_MSG_CHECKING(if we should assume mixed-case filenames)
+AC_ARG_ENABLE(mixed-case,
+       [  --enable-mixed-case     tic should assume mixed-case filenames],
+       [enable_mixedcase=$enableval],
+       [enable_mixedcase=auto])
+AC_MSG_RESULT($enable_mixedcase)
+if test "$enable_mixedcase" = "auto" ; then
+    CF_MIXEDCASE_FILENAMES
+else
+    cf_cv_mixedcase=$enable_mixedcase
+    if test "x$enable_mixedcase" = "xyes" ; then
+        AC_DEFINE(MIXEDCASE_FILENAMES)
+    fi
+fi
 
 
+# do this after mixed-case option (tags/TAGS is not as important as tic).
 AC_PROG_MAKE_SET
 CF_MAKE_TAGS
 CF_MAKEFLAGS
 
 AC_PROG_MAKE_SET
 CF_MAKE_TAGS
 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, ':')
 AC_CHECK_TOOL(LD, ld, ld)
 AC_CHECK_TOOL(AR, ar, ar)
 dnl These are standard among *NIX systems, but not when cross-compiling
 AC_CHECK_TOOL(RANLIB, ranlib, ':')
 AC_CHECK_TOOL(LD, ld, ld)
 AC_CHECK_TOOL(AR, ar, ar)
-CF_SUBST(archiver options,AR_OPTS,rv)
+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 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
@@ -169,8 +212,8 @@ dnl archive can be built without modifying the host system's configuration.
 AC_MSG_CHECKING(if you have specified an install-prefix)
 AC_ARG_WITH(install-prefix,
        [  --with-install-prefix   prefixes actual install-location ($DESTDIR)],
 AC_MSG_CHECKING(if you have specified an install-prefix)
 AC_ARG_WITH(install-prefix,
        [  --with-install-prefix   prefixes actual install-location ($DESTDIR)],
-       [case "$withval" in #(vi
-       yes|no) #(vi
+       [case "x$withval" in #(vi
+       xyes|xno) #(vi
                ;;
        *)      DESTDIR="$withval"
                ;;
                ;;
        *)      DESTDIR="$withval"
                ;;
@@ -207,7 +250,7 @@ AC_ARG_WITH(shared,
        [with_shared=$withval],
        [with_shared=no])
 AC_MSG_RESULT($with_shared)
        [with_shared=$withval],
        [with_shared=no])
 AC_MSG_RESULT($with_shared)
-test "$with_shared" = "yes" && cf_list_models="$cf_list_models shared"
+test "x$with_shared" = "xyes" && cf_list_models="$cf_list_models shared"
 
 AC_MSG_CHECKING(if you want to build static libraries)
 AC_ARG_WITH(normal,
 
 AC_MSG_CHECKING(if you want to build static libraries)
 AC_ARG_WITH(normal,
@@ -215,7 +258,7 @@ AC_ARG_WITH(normal,
        [with_normal=$withval],
        [with_normal=yes])
 AC_MSG_RESULT($with_normal)
        [with_normal=$withval],
        [with_normal=yes])
 AC_MSG_RESULT($with_normal)
-test "$with_normal" = "yes" && cf_list_models="$cf_list_models normal"
+test "x$with_normal" = "xyes" && cf_list_models="$cf_list_models normal"
 
 AC_MSG_CHECKING(if you want to build debug libraries)
 AC_ARG_WITH(debug,
 
 AC_MSG_CHECKING(if you want to build debug libraries)
 AC_ARG_WITH(debug,
@@ -223,7 +266,7 @@ AC_ARG_WITH(debug,
        [with_debug=$withval],
        [with_debug=yes])
 AC_MSG_RESULT($with_debug)
        [with_debug=$withval],
        [with_debug=yes])
 AC_MSG_RESULT($with_debug)
-test "$with_debug" = "yes" && cf_list_models="$cf_list_models debug"
+test "x$with_debug" = "xyes" && cf_list_models="$cf_list_models debug"
 
 AC_MSG_CHECKING(if you want to build profiling libraries)
 AC_ARG_WITH(profile,
 
 AC_MSG_CHECKING(if you want to build profiling libraries)
 AC_ARG_WITH(profile,
@@ -231,7 +274,7 @@ AC_ARG_WITH(profile,
        [with_profile=$withval],
        [with_profile=no])
 AC_MSG_RESULT($with_profile)
        [with_profile=$withval],
        [with_profile=no])
 AC_MSG_RESULT($with_profile)
-test "$with_profile" = "yes" && cf_list_models="$cf_list_models profile"
+test "x$with_profile" = "xyes" && cf_list_models="$cf_list_models profile"
 
 fi
 
 
 fi
 
@@ -267,9 +310,7 @@ AC_SUBST(LIB_NAME)
 LIB_DIR=../lib
 LIB_2ND=../../lib
 
 LIB_DIR=../lib
 LIB_2ND=../../lib
 
-CF_LIB_PREFIX(cf_prefix)
-LIB_PREFIX=$cf_prefix
-AC_SUBST(LIB_PREFIX)
+CF_WITH_LIB_PREFIX(cf_prefix)
 
 LIB_SUFFIX=
 AC_SUBST(LIB_SUFFIX)
 
 LIB_SUFFIX=
 AC_SUBST(LIB_SUFFIX)
@@ -300,9 +341,9 @@ if test "$with_gpm" != no ; then
                [with_dlsym=$withval],
                [with_dlsym=yes])
        AC_MSG_RESULT($with_dlsym)
                [with_dlsym=$withval],
                [with_dlsym=yes])
        AC_MSG_RESULT($with_dlsym)
-       if test "$with_dlsym" = yes ; then
+       if test "x$with_dlsym" = xyes ; then
                CF_FUNC_DLSYM
                CF_FUNC_DLSYM
-               if test "$with_gpm" != yes ; then
+               if test "x$with_gpm" != xyes ; then
                        CF_VERBOSE(assuming soname for gpm is $with_gpm)
                        cf_cv_gpm_soname="$with_gpm"
                else
                        CF_VERBOSE(assuming soname for gpm is $with_gpm)
                        cf_cv_gpm_soname="$with_gpm"
                else
@@ -312,11 +353,10 @@ if test "$with_gpm" != no ; then
                SHLIB_LIST="-ldl $SHLIB_LIST"
        else
                SHLIB_LIST="-lgpm $SHLIB_LIST"
                SHLIB_LIST="-ldl $SHLIB_LIST"
        else
                SHLIB_LIST="-lgpm $SHLIB_LIST"
+               CF_ADD_LIB(gpm,TEST_LIBS)
        fi
        AC_DEFINE(HAVE_LIBGPM)
        fi
        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
@@ -325,13 +365,13 @@ dnl Not all ports of gcc support the -g option
 
 if test X"$CC_G_OPT" = X"" ; then
        CC_G_OPT='-g'
 
 if test X"$CC_G_OPT" = X"" ; then
        CC_G_OPT='-g'
-       test -n "$GCC" && test "${ac_cv_prog_cc_g}" != yes && CC_G_OPT=''
+       test -n "$GCC" && test "x${ac_cv_prog_cc_g}" != xyes && CC_G_OPT=''
 fi
 AC_SUBST(CC_G_OPT)
 
 if test X"$CXX_G_OPT" = X"" ; then
        CXX_G_OPT='-g'
 fi
 AC_SUBST(CC_G_OPT)
 
 if test X"$CXX_G_OPT" = X"" ; then
        CXX_G_OPT='-g'
-       test -n "$GXX" && test "${ac_cv_prog_cxx_g}" != yes && CXX_G_OPT=''
+       test -n "$GXX" && test "x${ac_cv_prog_cxx_g}" != xyes && CXX_G_OPT=''
 fi
 AC_SUBST(CXX_G_OPT)
 
 fi
 AC_SUBST(CXX_G_OPT)
 
@@ -348,12 +388,13 @@ AC_MSG_RESULT($LD_MODEL)
 
 case $DFT_LWR_MODEL in
 shared)
 
 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)
+CF_ENABLE_RPATH
+AC_MSG_CHECKING(if shared libraries should be relinked during install)
+AC_ARG_ENABLE(relink,
+[  --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
 
        ;;
 esac
 
@@ -366,6 +407,11 @@ if test "$CC_SHARED_OPTS" = "unknown"; then
        done
 fi
 
        done
 fi
 
+### If we're building with rpath, try to link non-standard libs that way too.
+if test "$DFT_LWR_MODEL" = "shared"; then
+       CF_DISABLE_RPATH_HACK
+fi
+
 ###############################################################################
 CF_HELP_MESSAGE(Fine-Tuning Your Configuration:)
 
 ###############################################################################
 CF_HELP_MESSAGE(Fine-Tuning Your Configuration:)
 
@@ -394,12 +440,11 @@ os2*) #(vi
 esac
 AC_SUBST(TERMINFO_SRC)
 
 esac
 AC_SUBST(TERMINFO_SRC)
 
-CF_PATHSEP
 if test "$use_database" != no ; then
        AC_DEFINE(USE_DATABASE)
 
        AC_MSG_CHECKING(which terminfo source-file will be installed)
 if test "$use_database" != no ; then
        AC_DEFINE(USE_DATABASE)
 
        AC_MSG_CHECKING(which terminfo source-file will be installed)
-       AC_ARG_ENABLE(database,
+       AC_ARG_WITH(database,
                [  --with-database=XXX     specify terminfo source to install],
                [TERMINFO_SRC=$withval])
        AC_MSG_RESULT($TERMINFO_SRC)
                [  --with-database=XXX     specify terminfo source to install],
                [TERMINFO_SRC=$withval])
        AC_MSG_RESULT($TERMINFO_SRC)
@@ -409,6 +454,8 @@ if test "$use_database" != no ; then
                [  --with-hashed-db        specify hashed-database library],,
                [with_hashed_db=no])
        AC_MSG_RESULT($with_hashed_db)
                [  --with-hashed-db        specify hashed-database library],,
                [with_hashed_db=no])
        AC_MSG_RESULT($with_hashed_db)
+else
+       with_hashed_db=no
 fi
 
 AC_MSG_CHECKING(for list of fallback descriptions)
 fi
 
 AC_MSG_CHECKING(for list of fallback descriptions)
@@ -433,6 +480,26 @@ AC_MSG_RESULT($with_xterm_new)
 WHICH_XTERM=$with_xterm_new
 AC_SUBST(WHICH_XTERM)
 
 WHICH_XTERM=$with_xterm_new
 AC_SUBST(WHICH_XTERM)
 
+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=$withval],
+       [with_xterm_kbs=BS])
+case x$with_xterm_kbs in
+xyes|xno|xBS|xbs|x8)
+       with_xterm_kbs=BS
+       ;;
+xDEL|xdel|x127)
+       with_xterm_kbs=DEL
+       ;;
+*)
+       with_xterm_kbs=$withval
+       ;;
+esac
+AC_MSG_RESULT($with_xterm_kbs)
+XTERM_KBS=$with_xterm_kbs
+AC_SUBST(XTERM_KBS)
+
 MAKE_TERMINFO=
 if test "$use_database" = no ; then
        TERMINFO="${datadir}/terminfo"
 MAKE_TERMINFO=
 if test "$use_database" = no ; then
        TERMINFO="${datadir}/terminfo"
@@ -482,7 +549,21 @@ int main() {
        [with_big_core=no],
        [with_big_core=no])])
 AC_MSG_RESULT($with_big_core)
        [with_big_core=no],
        [with_big_core=no])])
 AC_MSG_RESULT($with_big_core)
-test "$with_big_core" = "yes" && AC_DEFINE(HAVE_BIG_CORE)
+test "x$with_big_core" = "xyes" && AC_DEFINE(HAVE_BIG_CORE)
+
+### ISO C only guarantees 512-char strings, we have tables which load faster
+### when constructed using "big" strings.  More than the C compiler, the awk
+### program is a limit on most vendor UNIX systems.  Check that we can build.
+AC_MSG_CHECKING(if big-strings option selected)
+AC_ARG_ENABLE(big-strings,
+       [  --disable-big-strings   assume compiler has only standard-size strings],
+       [with_big_strings=$enableval],
+       [CF_AWK_BIG_PRINTF(12000,with_big_strings)])
+AC_MSG_RESULT($with_big_strings)
+
+USE_BIG_STRINGS=0
+test "x$with_big_strings" = "xyes" && USE_BIG_STRINGS=1
+AC_SUBST(USE_BIG_STRINGS)
 
 ###    use option --enable-termcap to compile in the termcap fallback support
 AC_MSG_CHECKING(if you want termcap-fallback support)
 
 ###    use option --enable-termcap to compile in the termcap fallback support
 AC_MSG_CHECKING(if you want termcap-fallback support)
@@ -492,7 +573,7 @@ AC_ARG_ENABLE(termcap,
        [with_termcap=no])
 AC_MSG_RESULT($with_termcap)
 
        [with_termcap=no])
 AC_MSG_RESULT($with_termcap)
 
-if test "$with_termcap" != "yes" ; then
+if test "x$with_termcap" != "xyes" ; then
        if test "$use_database" = no ; then
                if test -z "$with_fallback" ; then
                        AC_ERROR(You have disabled the database w/o specifying fallbacks)
        if test "$use_database" = no ; then
                if test -z "$with_fallback" ; then
                        AC_ERROR(You have disabled the database w/o specifying fallbacks)
@@ -521,7 +602,7 @@ AC_ARG_ENABLE(getcap,
        [with_getcap=$enableval],
        [with_getcap=no])
 AC_MSG_RESULT($with_getcap)
        [with_getcap=$enableval],
        [with_getcap=no])
 AC_MSG_RESULT($with_getcap)
-test "$with_getcap" = "yes" && AC_DEFINE(USE_GETCAP)
+test "x$with_getcap" = "xyes" && AC_DEFINE(USE_GETCAP)
 
 AC_MSG_CHECKING(if translated termcaps will be cached in ~/.terminfo)
 AC_ARG_ENABLE(getcap-cache,
 
 AC_MSG_CHECKING(if translated termcaps will be cached in ~/.terminfo)
 AC_ARG_ENABLE(getcap-cache,
@@ -529,7 +610,7 @@ AC_ARG_ENABLE(getcap-cache,
        [with_getcap_cache=$enableval],
        [with_getcap_cache=no])
 AC_MSG_RESULT($with_getcap_cache)
        [with_getcap_cache=$enableval],
        [with_getcap_cache=no])
 AC_MSG_RESULT($with_getcap_cache)
-test "$with_getcap_cache" = "yes" && AC_DEFINE(USE_GETCAP_CACHE)
+test "x$with_getcap_cache" = "xyes" && AC_DEFINE(USE_GETCAP_CACHE)
 
 fi
 
 
 fi
 
@@ -540,7 +621,7 @@ AC_ARG_ENABLE(home-terminfo,
        [with_home_terminfo=$enableval],
        [with_home_terminfo=yes])
 AC_MSG_RESULT($with_home_terminfo)
        [with_home_terminfo=$enableval],
        [with_home_terminfo=yes])
 AC_MSG_RESULT($with_home_terminfo)
-test "$with_home_terminfo" = "yes" && AC_DEFINE(USE_HOME_TERMINFO)
+test "x$with_home_terminfo" = "xyes" && AC_DEFINE(USE_HOME_TERMINFO)
 
 AC_MSG_CHECKING(if you want to use restricted environment when running as root)
 AC_ARG_ENABLE(root-environ,
 
 AC_MSG_CHECKING(if you want to use restricted environment when running as root)
 AC_ARG_ENABLE(root-environ,
@@ -548,7 +629,7 @@ 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 "$with_root_environ" = yes && AC_DEFINE(USE_ROOT_ENVIRON)
+test "x$with_root_environ" = xyes && AC_DEFINE(USE_ROOT_ENVIRON)
 
 ###   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.
@@ -559,7 +640,7 @@ with_symlinks=no
 
 # soft links (symbolic links) are useful for some systems where hard links do
 # not work, or to make it simpler to copy terminfo trees around.
 
 # 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
+if test "x$ac_cv_func_symlink" = xyes ; then
     AC_MSG_CHECKING(if tic should use symbolic links)
     AC_ARG_ENABLE(symlinks,
        [  --enable-symlinks       make tic use symbolic links not hard links],
     AC_MSG_CHECKING(if tic should use symbolic links)
     AC_ARG_ENABLE(symlinks,
        [  --enable-symlinks       make tic use symbolic links not hard links],
@@ -572,7 +653,7 @@ fi
 # 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)
 # 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
+    if test "x$ac_cv_func_link" = xyes ; then
        with_links=yes
     else
        with_links=no
        with_links=yes
     else
        with_links=no
@@ -580,19 +661,19 @@ if test "$with_symlinks" = no ; then
     AC_MSG_RESULT($with_links)
 fi
 
     AC_MSG_RESULT($with_links)
 fi
 
-test "$with_links" = yes && AC_DEFINE(USE_LINKS)
-test "$with_symlinks" = yes && AC_DEFINE(USE_SYMLINKS)
+test "x$with_links" = xyes && AC_DEFINE(USE_LINKS)
+test "x$with_symlinks" = xyes && AC_DEFINE(USE_SYMLINKS)
 
 ###   use option --enable-broken-linker to force on use of broken-linker support
 AC_MSG_CHECKING(if you want broken-linker support code)
 AC_ARG_ENABLE(broken_linker,
        [  --enable-broken_linker  compile with broken-linker support code],
        [with_broken_linker=$enableval],
 
 ###   use option --enable-broken-linker to force on use of broken-linker support
 AC_MSG_CHECKING(if you want broken-linker support code)
 AC_ARG_ENABLE(broken_linker,
        [  --enable-broken_linker  compile with broken-linker support code],
        [with_broken_linker=$enableval],
-       [with_broken_linker=${BROKEN_LINKER-no}])
+       [with_broken_linker=${BROKEN_LINKER:-no}])
 AC_MSG_RESULT($with_broken_linker)
 
 BROKEN_LINKER=0
 AC_MSG_RESULT($with_broken_linker)
 
 BROKEN_LINKER=0
-if test "$with_broken_linker" = yes ; then
+if test "x$with_broken_linker" = xyes ; then
        AC_DEFINE(BROKEN_LINKER)
        BROKEN_LINKER=1
 elif test "$DFT_LWR_MODEL" = shared ; then
        AC_DEFINE(BROKEN_LINKER)
        BROKEN_LINKER=1
 elif test "$DFT_LWR_MODEL" = shared ; then
@@ -613,7 +694,7 @@ AC_ARG_ENABLE(bsdpad,
        [with_bsdpad=$enableval],
        [with_bsdpad=no])
 AC_MSG_RESULT($with_bsdpad)
        [with_bsdpad=$enableval],
        [with_bsdpad=no])
 AC_MSG_RESULT($with_bsdpad)
-test "$with_bsdpad" = yes && AC_DEFINE(BSD_TPUTS)
+test "x$with_bsdpad" = xyes && AC_DEFINE(BSD_TPUTS)
 
 ###   use option --enable-widec to turn on use of wide-character support
 NCURSES_CH_T=chtype
 
 ###   use option --enable-widec to turn on use of wide-character support
 NCURSES_CH_T=chtype
@@ -625,7 +706,7 @@ NCURSES_WCHAR_T=0
 NCURSES_WINT_T=0
 
 # Check to define _XOPEN_SOURCE "automatically"
 NCURSES_WINT_T=0
 
 # Check to define _XOPEN_SOURCE "automatically"
-CF_XOPEN_SOURCE
+CF_XOPEN_SOURCE(500)
 
 # Work around breakage on OS X
 CF_SIGWINCH
 
 # Work around breakage on OS X
 CF_SIGWINCH
@@ -643,16 +724,19 @@ AC_ARG_ENABLE(widec,
        [with_widec=$enableval],
        [with_widec=no])
 AC_MSG_RESULT($with_widec)
        [with_widec=$enableval],
        [with_widec=no])
 AC_MSG_RESULT($with_widec)
-if test "$with_widec" = yes ; then
+if test "x$with_widec" = xyes ; then
        LIB_SUFFIX="w${LIB_SUFFIX}"
        AC_DEFINE(USE_WIDEC_SUPPORT)
        LIB_SUFFIX="w${LIB_SUFFIX}"
        AC_DEFINE(USE_WIDEC_SUPPORT)
-       CF_PREDEFINE(_XOPEN_SOURCE_EXTENDED)
+       AC_DEFINE(NCURSES_WIDECHAR)
+
+       CF_CHECK_WCHAR_H
+
        # 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)
-       if test "$ac_cv_func_putwc" != yes ; then
-               CF_LIBUTF8
-               if test "$cf_cv_libutf8" = yes ; then
+       AC_CHECK_FUNCS(putwc btowc wctob 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
                        NCURSES_LIBUTF8=1
                fi
        fi
                        NCURSES_LIBUTF8=1
                fi
        fi
@@ -692,7 +776,7 @@ AC_ARG_ENABLE(lp64,
        [with_lp64=$default_with_lp64])
 AC_MSG_RESULT($with_lp64)
 
        [with_lp64=$default_with_lp64])
 AC_MSG_RESULT($with_lp64)
 
-if test "$with_lp64" = yes ; then
+if test "x$with_lp64" = xyes ; then
        cf_cv_enable_lp64=1
 else
        cf_cv_enable_lp64=0
        cf_cv_enable_lp64=1
 else
        cf_cv_enable_lp64=0
@@ -709,9 +793,21 @@ AC_ARG_ENABLE(tparm-varargs,
        [with_tparm_varargs=yes])
 AC_MSG_RESULT($with_tparm_varargs)
 NCURSES_TPARM_VARARGS=0
        [with_tparm_varargs=yes])
 AC_MSG_RESULT($with_tparm_varargs)
 NCURSES_TPARM_VARARGS=0
-test "$with_tparm_varargs" = yes && NCURSES_TPARM_VARARGS=1
+test "x$with_tparm_varargs" = xyes && NCURSES_TPARM_VARARGS=1
 AC_SUBST(NCURSES_TPARM_VARARGS)
 
 AC_SUBST(NCURSES_TPARM_VARARGS)
 
+###   use option --disable-tic-depends to make libtic not explicitly depend on ncurses/ncursesw
+if test "$with_ticlib" != no ; then
+AC_MSG_CHECKING(if you want tic library to use explicit dependency on ncurses$LIB_SUFFIX library)
+AC_ARG_ENABLE(tic-depends,
+       [  --disable-tic-depends   link tic library without explicit dependency on ncurses library],
+       [with_tic_depends=$enableval],
+       [with_tic_depends=yes])
+AC_MSG_RESULT($with_tic_depends)
+else
+       with_tic_depends=no
+fi
+
 ###   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,
@@ -755,6 +851,24 @@ 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 --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])
+AC_MSG_RESULT($NCURSES_CCHARW_MAX)
+AC_SUBST(NCURSES_CCHARW_MAX)
+
+###   use option --with-tparm-arg to override tparm's argument type
+AC_MSG_CHECKING(for type of tparm args)
+AC_ARG_WITH(tparm-arg,
+       [  --with-tparm-arg=TYPE   override parameter type of tparm],
+       [NCURSES_TPARM_ARG="$withval"],
+       [NCURSES_TPARM_ARG=long])
+AC_MSG_RESULT($NCURSES_TPARM_ARG)
+AC_SUBST(NCURSES_TPARM_ARG)
+
 ### 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,
@@ -762,10 +876,10 @@ AC_ARG_WITH(rcs-ids,
        [with_rcs_ids=$withval],
        [with_rcs_ids=no])
 AC_MSG_RESULT($with_rcs_ids)
        [with_rcs_ids=$withval],
        [with_rcs_ids=no])
 AC_MSG_RESULT($with_rcs_ids)
-test "$with_rcs_ids" = yes && AC_DEFINE(USE_RCS_IDS)
+test "x$with_rcs_ids" = xyes && AC_DEFINE(USE_RCS_IDS)
 
 ###############################################################################
 
 ###############################################################################
-CF_MAN_PAGES([ captoinfo clear infocmp infotocap tic toe tput ])
+CF_MAN_PAGES([ captoinfo clear infocmp infotocap tabs tic toe tput tset ])
 
 ###############################################################################
 CF_HELP_MESSAGE(Extensions:)
 
 ###############################################################################
 CF_HELP_MESSAGE(Extensions:)
@@ -777,19 +891,56 @@ AC_ARG_ENABLE(ext-funcs,
        [with_ext_funcs=$enableval],
        [with_ext_funcs=yes])
 AC_MSG_RESULT($with_ext_funcs)
        [with_ext_funcs=$enableval],
        [with_ext_funcs=yes])
 AC_MSG_RESULT($with_ext_funcs)
-if test "$with_ext_funcs" = yes ; then
+if test "x$with_ext_funcs" = xyes ; then
        NCURSES_EXT_FUNCS=1
        NCURSES_EXT_FUNCS=1
+       AC_DEFINE(HAVE_ASSUME_DEFAULT_COLORS)
        AC_DEFINE(HAVE_CURSES_VERSION)
        AC_DEFINE(HAVE_HAS_KEY)
        AC_DEFINE(HAVE_RESIZETERM)
        AC_DEFINE(HAVE_RESIZE_TERM)
        AC_DEFINE(HAVE_CURSES_VERSION)
        AC_DEFINE(HAVE_HAS_KEY)
        AC_DEFINE(HAVE_RESIZETERM)
        AC_DEFINE(HAVE_RESIZE_TERM)
+       AC_DEFINE(HAVE_TERM_ENTRY_H)
        AC_DEFINE(HAVE_USE_DEFAULT_COLORS)
        AC_DEFINE(HAVE_USE_DEFAULT_COLORS)
+       AC_DEFINE(HAVE_USE_SCREEN)
+       AC_DEFINE(HAVE_USE_WINDOW)
        AC_DEFINE(HAVE_WRESIZE)
        AC_DEFINE(NCURSES_EXT_FUNCS)
        AC_DEFINE(HAVE_WRESIZE)
        AC_DEFINE(NCURSES_EXT_FUNCS)
+       GENERATED_EXT_FUNCS=generated
 else
        NCURSES_EXT_FUNCS=0
 else
        NCURSES_EXT_FUNCS=0
+       GENERATED_EXT_FUNCS=
 fi
 AC_SUBST(NCURSES_EXT_FUNCS)
 fi
 AC_SUBST(NCURSES_EXT_FUNCS)
+AC_SUBST(GENERATED_EXT_FUNCS)
+
+AC_MSG_CHECKING(if you want to build with experimental SCREEN extensions)
+AC_ARG_ENABLE(sp-funcs,
+       [  --enable-sp-funcs       enable experimental SCREEN-extensions],
+       [with_sp_funcs=$enableval],
+       [with_sp_funcs=no])
+AC_MSG_RESULT($with_sp_funcs)
+if test "x$with_sp_funcs" = xyes ; then
+       NCURSES_SP_FUNCS=1
+       AC_DEFINE(NCURSES_SP_FUNCS)
+       GENERATED_SP_FUNCS=generated
+else
+       NCURSES_SP_FUNCS=0
+       GENERATED_SP_FUNCS=
+fi
+AC_SUBST(NCURSES_SP_FUNCS)
+AC_SUBST(GENERATED_SP_FUNCS)
+
+AC_MSG_CHECKING(if you want to build with experimental terminal-driver)
+AC_ARG_ENABLE(term-driver,
+       [  --enable-term-driver    enable experimental terminal-driver],
+       [with_term_driver=$enableval],
+       [with_term_driver=no])
+AC_MSG_RESULT($with_term_driver)
+if test "x$with_term_driver" = xyes ; then
+       AC_DEFINE(USE_TERM_DRIVER)
+       if test "x$with_sp_funcs" != xyes ; then
+               AC_MSG_ERROR(The term-driver option relies upon sp-funcs)
+       fi
+fi
 
 ###   use option --enable-const to turn on use of const beyond that in XSI.
 AC_MSG_CHECKING(for extended use of const keyword)
 
 ###   use option --enable-const to turn on use of const beyond that in XSI.
 AC_MSG_CHECKING(for extended use of const keyword)
@@ -799,18 +950,52 @@ AC_ARG_ENABLE(const,
        [with_ext_const=no])
 AC_MSG_RESULT($with_ext_const)
 NCURSES_CONST='/*nothing*/'
        [with_ext_const=no])
 AC_MSG_RESULT($with_ext_const)
 NCURSES_CONST='/*nothing*/'
-if test "$with_ext_const" = yes ; then
+if test "x$with_ext_const" = xyes ; then
        NCURSES_CONST=const
 fi
 AC_SUBST(NCURSES_CONST)
 
        NCURSES_CONST=const
 fi
 AC_SUBST(NCURSES_CONST)
 
+###   use option --enable-ext-colors to turn on use of colors beyond 16.
+AC_MSG_CHECKING(if you want to use extended colors)
+AC_ARG_ENABLE(ext-colors,
+       [  --enable-ext-colors     compile for 256-color support],
+       [with_ext_colors=$enableval],
+       [with_ext_colors=no])
+AC_MSG_RESULT($with_ext_colors)
+NCURSES_EXT_COLORS=0
+if test "x$with_ext_colors" = xyes ; then
+       if test "x$with_widec" != xyes ; then
+               AC_MSG_ERROR(This option applies only to wide-character library)
+       else
+               # cannot be ABI 5 since it changes sizeof(cchar_t)
+               CF_NCURSES_ABI_6
+       fi
+       NCURSES_EXT_COLORS=1
+       AC_DEFINE(NCURSES_EXT_COLORS)
+fi
+AC_SUBST(NCURSES_EXT_COLORS)
+
+###   use option --enable-ext-mouse to modify coding to support 5-button mice
+AC_MSG_CHECKING(if you want to use extended mouse encoding)
+AC_ARG_ENABLE(ext-mouse,
+       [  --enable-ext-mouse      compile for extended mouse-encoding],
+       [with_ext_mouse=$enableval],
+       [with_ext_mouse=no])
+AC_MSG_RESULT($with_ext_mouse)
+NCURSES_MOUSE_VERSION=1
+if test "x$with_ext_mouse" = xyes ; then
+       NCURSES_MOUSE_VERSION=2
+       CF_NCURSES_ABI_6
+fi
+AC_SUBST(NCURSES_MOUSE_VERSION)
+
 AC_MSG_CHECKING(if you want \$NCURSES_NO_PADDING code)
 AC_ARG_ENABLE(no-padding,
        [  --enable-no-padding     compile with $NCURSES_NO_PADDING code],
        [with_no_padding=$enableval],
        [with_no_padding=$with_ext_funcs])
 AC_MSG_RESULT($with_no_padding)
 AC_MSG_CHECKING(if you want \$NCURSES_NO_PADDING code)
 AC_ARG_ENABLE(no-padding,
        [  --enable-no-padding     compile with $NCURSES_NO_PADDING code],
        [with_no_padding=$enableval],
        [with_no_padding=$with_ext_funcs])
 AC_MSG_RESULT($with_no_padding)
-test "$with_no_padding" = yes && AC_DEFINE(NCURSES_NO_PADDING)
+test "x$with_no_padding" = xyes && AC_DEFINE(NCURSES_NO_PADDING)
 
 AC_CHECK_SIZEOF([signed char], 0)
 if test "$ac_cv_sizeof_signed_char" = 1 ; then
 
 AC_CHECK_SIZEOF([signed char], 0)
 if test "$ac_cv_sizeof_signed_char" = 1 ; then
@@ -820,11 +1005,11 @@ else
 fi
 AC_MSG_CHECKING(if you want to use signed Boolean array in term.h)
 AC_ARG_ENABLE(signed-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 with SIGWINCH handler],
+       [  --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)
        [with_signed_char=$enableval],
        [with_signed_char=no])
 AC_MSG_RESULT($with_signed_char)
-test "$with_signed_char" != yes && NCURSES_SBOOL="char"
+test "x$with_signed_char" != xyes && NCURSES_SBOOL="char"
 AC_SUBST(NCURSES_SBOOL)
 
 ###   use option --enable-sigwinch to turn on use of SIGWINCH logic
 AC_SUBST(NCURSES_SBOOL)
 
 ###   use option --enable-sigwinch to turn on use of SIGWINCH logic
@@ -834,7 +1019,7 @@ 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 "$with_sigwinch" = yes && AC_DEFINE(USE_SIGWINCH)
+test "x$with_sigwinch" = xyes && AC_DEFINE(USE_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)
@@ -844,7 +1029,7 @@ 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 "$with_tcap_names" = yes && NCURSES_XNAMES=1
+test "x$with_tcap_names" = xyes && NCURSES_XNAMES=1
 AC_SUBST(NCURSES_XNAMES)
 
 ###############################################################################
 AC_SUBST(NCURSES_XNAMES)
 
 ###############################################################################
@@ -863,7 +1048,7 @@ AC_ARG_ENABLE(hard-tabs,
        [  --enable-hard-tabs      compile with hard-tabs code],,
        [enable_hard_tabs=$with_develop])
 AC_MSG_RESULT($enable_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)
+test "x$enable_hard_tabs" = xyes && 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)
 
 ###   use option --enable-xmc-glitch to turn on use of magic-cookie optimize
 AC_MSG_CHECKING(if you want limited support for xmc)
@@ -871,7 +1056,7 @@ AC_ARG_ENABLE(xmc-glitch,
        [  --enable-xmc-glitch     compile with support for xmc (magic-cookie)],,
        [enable_xmc_glitch=$with_develop])
 AC_MSG_RESULT($enable_xmc_glitch)
        [  --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)
+test "x$enable_xmc_glitch" = xyes && 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:
@@ -883,7 +1068,7 @@ AC_ARG_ENABLE(assumed-color,
        [with_assumed_color=$enableval],
        [with_assumed_color=yes])
 AC_MSG_RESULT($with_assumed_color)
        [with_assumed_color=$enableval],
        [with_assumed_color=yes])
 AC_MSG_RESULT($with_assumed_color)
-test "$with_assumed_color" = yes && AC_DEFINE(USE_ASSUMED_COLOR)
+test "x$with_assumed_color" = xyes && AC_DEFINE(USE_ASSUMED_COLOR)
 
 ###   use option --enable-hashmap to turn on use of hashmap scrolling logic
 AC_MSG_CHECKING(if you want hashmap scrolling-optimization code)
 
 ###   use option --enable-hashmap to turn on use of hashmap scrolling logic
 AC_MSG_CHECKING(if you want hashmap scrolling-optimization code)
@@ -892,50 +1077,120 @@ AC_ARG_ENABLE(hashmap,
        [with_hashmap=$enableval],
        [with_hashmap=yes])
 AC_MSG_RESULT($with_hashmap)
        [with_hashmap=$enableval],
        [with_hashmap=yes])
 AC_MSG_RESULT($with_hashmap)
-test "$with_hashmap" = yes && AC_DEFINE(USE_HASHMAP)
+test "x$with_hashmap" = xyes && AC_DEFINE(USE_HASHMAP)
 
 ###   use option --enable-colorfgbg to turn on use of $COLORFGBG environment
 AC_MSG_CHECKING(if you want colorfgbg code)
 AC_ARG_ENABLE(colorfgbg,
 
 ###   use option --enable-colorfgbg to turn on use of $COLORFGBG environment
 AC_MSG_CHECKING(if you want colorfgbg code)
 AC_ARG_ENABLE(colorfgbg,
-       [  --enable-colorfgbg      compile with $COLORFGBG code],
+       [  --enable-colorfgbg      compile-in experimental $COLORFGBG code],
        [with_colorfgbg=$enableval],
        [with_colorfgbg=no])
 AC_MSG_RESULT($with_colorfgbg)
        [with_colorfgbg=$enableval],
        [with_colorfgbg=no])
 AC_MSG_RESULT($with_colorfgbg)
-test "$with_colorfgbg" = yes && AC_DEFINE(USE_COLORFGBG)
-
-###   use option --enable-ext-colors to turn on use of colors beyond 16.
-AC_MSG_CHECKING(if you want to use experimental extended colors)
-AC_ARG_ENABLE(ext-colors,
-       [  --enable-ext-colors     compile for experimental 256-color support],
-       [with_ext_colors=$enableval],
-       [with_ext_colors=no])
-AC_MSG_RESULT($with_ext_colors)
-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)
+test "x$with_colorfgbg" = xyes && AC_DEFINE(USE_COLORFGBG)
+
+###   use option --enable-interop to turn on use of bindings used for interop
+AC_MSG_CHECKING(if you want interop bindings)
+AC_ARG_ENABLE(interop,
+       [  --enable-interop        compile-in experimental interop bindings],
+       [with_exp_interop=$enableval],
+       [with_exp_interop=no])
+AC_MSG_RESULT($with_exp_interop)
+
+NCURSES_INTEROP_FUNCS=0
+test "x$with_exp_interop" = xyes && NCURSES_INTEROP_FUNCS=1
+AC_SUBST(NCURSES_INTEROP_FUNCS)
+
+# This is still experimental (20080329), but should ultimately be moved to
+# the script-block --with-normal, etc.
+CF_WITH_PTHREAD
+
+if test "x$with_pthread" != xno; then
+       AC_CHECK_FUNC(pthread_kill,[
+               AC_MSG_CHECKING(if you want to allow EINTR in wgetch with pthreads)
+               AC_ARG_ENABLE(pthreads-eintr,
+                       [  --enable-pthreads-eintr enable EINTR in wgetch with pthreads],
+                       [use_pthreads_eintr=$enableval],
+                       [use_pthreads_eintr=no])
+               AC_MSG_RESULT($use_pthreads_eintr)
+               if test "x$use_pthreads_eintr" = xyes ; then
+                       AC_DEFINE(USE_PTHREADS_EINTR)
+               fi])
+
+       AC_MSG_CHECKING(if you want to use weak-symbols for pthreads)
+       AC_ARG_ENABLE(weak-symbols,
+               [  --enable-weak-symbols   enable weak-symbols for pthreads],
+               [use_weak_symbols=$enableval],
+               [use_weak_symbols=no])
+       AC_MSG_RESULT($use_weak_symbols)
+       if test "x$use_weak_symbols" = xyes ; then
+               CF_WEAK_SYMBOLS
        else
        else
-               # cannot be ABI 5 since it changes sizeof(cchar_t)
-               CF_NCURSES_ABI_6
+               cf_cv_weak_symbols=no
+       fi
+
+       if test "x$cf_cv_weak_symbols" = xyes ; then
+               AC_DEFINE(USE_WEAK_SYMBOLS)
        fi
        fi
-       NCURSES_EXT_COLORS=1
-       AC_DEFINE(NCURSES_EXT_COLORS)
 fi
 fi
-AC_SUBST(NCURSES_EXT_COLORS)
 
 
-###   use option --enable-ext-mouse to modify coding to support 5-button mice
-AC_MSG_CHECKING(if you want to use experimental extended mouse encoding)
-AC_ARG_ENABLE(ext-mouse,
-       [  --enable-ext-mouse      compile for experimental mouse-encoding],
-       [with_ext_mouse=$enableval],
-       [with_ext_mouse=no])
-AC_MSG_RESULT($with_ext_mouse)
-NCURSES_MOUSE_VERSION=1
-if test "$with_ext_mouse" = yes ; then
-       NCURSES_MOUSE_VERSION=2
+PTHREAD=
+if test "x$with_pthread" = "xyes" ; then
+    AC_DEFINE(USE_PTHREADS)
+    enable_reentrant=yes
+    if test "x$cf_cv_weak_symbols" = xyes ; then
+        PTHREAD=-lpthread
+    fi
+fi
+AC_SUBST(PTHREAD)
+
+# Reentrant code has to be opaque; there's little advantage to making ncurses
+# opaque outside of that, so there is no --enable-opaque option.  We can use
+# this option without --with-pthreads, but this will be always set for
+# pthreads.
+AC_MSG_CHECKING(if you want experimental reentrant code)
+AC_ARG_ENABLE(reentrant,
+       [  --enable-reentrant      compile with experimental reentrant code],
+       [with_reentrant=$enableval],
+       [with_reentrant=no])
+AC_MSG_RESULT($with_reentrant)
+if test "x$with_reentrant" = xyes ; then
+       cf_cv_enable_reentrant=1
+       cf_cv_enable_opaque="NCURSES_INTERNALS"
+       NCURSES_OPAQUE=1
+       NCURSES_SIZE_T=int
+       if test "x$cf_cv_weak_symbols" = xyes ; then
+               CF_REMOVE_LIB(LIBS,$LIBS,pthread)
+               CF_ADD_LIB(pthread,TEST_LIBS)
+               CF_ADD_LIB(pthread,TEST_LIBS2)
+       else
+               LIB_SUFFIX="t${LIB_SUFFIX}"
+       fi
+       AC_DEFINE(USE_REENTRANT)
        CF_NCURSES_ABI_6
        CF_NCURSES_ABI_6
+else
+       cf_cv_enable_reentrant=0
+       cf_cv_enable_opaque="NCURSES_OPAQUE"
+       NCURSES_OPAQUE=0
+       NCURSES_SIZE_T=short
 fi
 fi
-AC_SUBST(NCURSES_MOUSE_VERSION)
+AC_SUBST(cf_cv_enable_reentrant)
+AC_SUBST(cf_cv_enable_opaque)
+AC_SUBST(NCURSES_OPAQUE)
+AC_SUBST(NCURSES_SIZE_T)
+
+### Allow using a different wrap-prefix
+if test "$cf_cv_enable_reentrant" != 0 || test "$BROKEN_LINKER" = 1 ; then
+       AC_MSG_CHECKING(for prefix used to wrap public variables)
+       AC_ARG_WITH(wrap-prefix,
+               [  --with-wrap-prefix=XXX  override prefix used for public variables],
+               [NCURSES_WRAP_PREFIX=$withval],
+               [NCURSES_WRAP_PREFIX=_nc_])
+       AC_MSG_RESULT($NCURSES_WRAP_PREFIX)
+else
+       NCURSES_WRAP_PREFIX=_nc_
+fi
+AC_SUBST(NCURSES_WRAP_PREFIX)
+AC_DEFINE_UNQUOTED(NCURSES_WRAP_PREFIX,"$NCURSES_WRAP_PREFIX")
 
 AC_MSG_CHECKING(if you want experimental safe-sprintf code)
 AC_ARG_ENABLE(safe-sprintf,
 
 AC_MSG_CHECKING(if you want experimental safe-sprintf code)
 AC_ARG_ENABLE(safe-sprintf,
@@ -943,7 +1198,7 @@ AC_ARG_ENABLE(safe-sprintf,
        [with_safe_sprintf=$enableval],
        [with_safe_sprintf=no])
 AC_MSG_RESULT($with_safe_sprintf)
        [with_safe_sprintf=$enableval],
        [with_safe_sprintf=no])
 AC_MSG_RESULT($with_safe_sprintf)
-test "$with_safe_sprintf" = yes && AC_DEFINE(USE_SAFE_SPRINTF)
+test "x$with_safe_sprintf" = xyes && AC_DEFINE(USE_SAFE_SPRINTF)
 
 ###   use option --disable-scroll-hints to turn off use of scroll-hints scrolling logic
 # when hashmap is used scroll hints are useless
 
 ###   use option --disable-scroll-hints to turn off use of scroll-hints scrolling logic
 # when hashmap is used scroll hints are useless
@@ -954,7 +1209,7 @@ AC_ARG_ENABLE(scroll-hints,
        [with_scroll_hints=$enableval],
        [with_scroll_hints=yes])
 AC_MSG_RESULT($with_scroll_hints)
        [with_scroll_hints=$enableval],
        [with_scroll_hints=yes])
 AC_MSG_RESULT($with_scroll_hints)
-test "$with_scroll_hints" = yes && AC_DEFINE(USE_SCROLL_HINTS)
+test "x$with_scroll_hints" = xyes && AC_DEFINE(USE_SCROLL_HINTS)
 fi
 
 AC_MSG_CHECKING(if you want experimental wgetch-events code)
 fi
 
 AC_MSG_CHECKING(if you want experimental wgetch-events code)
@@ -963,24 +1218,20 @@ 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 "$with_wgetch_events" = yes && AC_DEFINE(NCURSES_WGETCH_EVENTS)
+test "x$with_wgetch_events" = xyes && AC_DEFINE(NCURSES_WGETCH_EVENTS)
 
 ###############################################################################
 CF_HELP_MESSAGE(Testing/development Options:)
 
 ###    use option --disable-echo to suppress full display compiling commands
 
 ###############################################################################
 CF_HELP_MESSAGE(Testing/development Options:)
 
 ###    use option --disable-echo to suppress full display compiling commands
-AC_MSG_CHECKING(if you want to display full commands during build)
-AC_ARG_ENABLE(echo,
-       [  --enable-echo           build: display "compiling" commands (default)],
-       [with_echo=$enableval],
-       [with_echo=yes])
-if test "$with_echo" = yes; then
+CF_DISABLE_ECHO
+if test "x$enable_echo" = xyes; then
        ECHO_LINK=
 else
        ECHO_LINK='@ echo linking $@ ... ;'
        test -n "$LIBTOOL" && LIBTOOL="$LIBTOOL --silent"
        ECHO_LINK=
 else
        ECHO_LINK='@ echo linking $@ ... ;'
        test -n "$LIBTOOL" && LIBTOOL="$LIBTOOL --silent"
+       test -n "$LIBTOOL_CXX" && LIBTOOL_CXX="$LIBTOOL_CXX --silent"
 fi
 fi
-AC_MSG_RESULT($with_echo)
 AC_SUBST(ECHO_LINK)
 
 ###    use option --enable-warnings to turn on all gcc warnings
 AC_SUBST(ECHO_LINK)
 
 ###    use option --enable-warnings to turn on all gcc warnings
@@ -990,14 +1241,15 @@ AC_ARG_ENABLE(warnings,
        [with_warnings=$enableval])
 AC_MSG_RESULT($with_warnings)
 
        [with_warnings=$enableval])
 AC_MSG_RESULT($with_warnings)
 
-if test -n "$with_warnings"; then
-       ADAFLAGS="$ADAFLAGS -gnatg"
-       CF_GCC_WARNINGS
-       if test "$cf_with_cxx" = yes ; then
+if test "x$with_warnings" = "xyes"; then
+       CF_ADD_ADAFLAGS(-gnatg)
+       CF_GCC_WARNINGS(Wdeclaration-after-statement Wextra Wno-unknown-pragmas Wswitch-enum)
+       if test "x$cf_with_cxx" = xyes ; then
                CF_GXX_WARNINGS(Wno-unused)
        fi
 fi
 CF_GCC_ATTRIBUTES
                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
 AC_MSG_CHECKING(if you want to enable runtime assertions)
 
 ###    use option --enable-assertions to turn on generation of assertion code
 AC_MSG_CHECKING(if you want to enable runtime assertions)
@@ -1010,10 +1262,9 @@ if test -n "$GCC"
 then
        if test "$with_assertions" = no
        then
 then
        if test "$with_assertions" = no
        then
-               AC_DEFINE(NDEBUG)
                CPPFLAGS="$CPPFLAGS -DNDEBUG"
        else
                CPPFLAGS="$CPPFLAGS -DNDEBUG"
        else
-               ADAFLAGS="$ADAFLAGS -gnata"
+               CF_ADD_ADAFLAGS(-gnata)
        fi
 fi
 
        fi
 fi
 
@@ -1024,7 +1275,7 @@ AC_DEFINE(HAVE_NC_ALLOC_H)
 ###    use option --enable-expanded to generate certain macros as functions
 AC_ARG_ENABLE(expanded,
        [  --enable-expanded       test: generate functions for certain macros],
 ###    use option --enable-expanded to generate certain macros as functions
 AC_ARG_ENABLE(expanded,
        [  --enable-expanded       test: generate functions for certain macros],
-       [test "$enableval" = yes && AC_DEFINE(NCURSES_EXPANDED)])
+       [test "x$enableval" = xyes && AC_DEFINE(NCURSES_EXPANDED)])
 
 ###    use option --disable-macros to suppress macros in favor of functions
 AC_ARG_ENABLE(macros,
 
 ###    use option --disable-macros to suppress macros in favor of functions
 AC_ARG_ENABLE(macros,
@@ -1047,7 +1298,7 @@ AC_ARG_WITH(trace,
 [cf_with_trace=$cf_all_traces])
 AC_MSG_RESULT($cf_with_trace)
 
 [cf_with_trace=$cf_all_traces])
 AC_MSG_RESULT($cf_with_trace)
 
-if test "$cf_with_trace" = yes ; then
+if test "x$cf_with_trace" = xyes ; then
        LIB_TRACING=all
        ADA_TRACE=TRUE
        CF_ADD_CFLAGS(-DTRACE)
        LIB_TRACING=all
        ADA_TRACE=TRUE
        CF_ADD_CFLAGS(-DTRACE)
@@ -1059,12 +1310,18 @@ fi
 AC_SUBST(ADA_TRACE)
 
 ###    Checks for libraries.
 AC_SUBST(ADA_TRACE)
 
 ###    Checks for libraries.
+case $cf_cv_system_name in #(vi
+*mingw32*) #(vi
+       ;;
+*)
 AC_CHECK_FUNC(gettimeofday,
        AC_DEFINE(HAVE_GETTIMEOFDAY),[
 
 AC_CHECK_LIB(bsd, gettimeofday,
        AC_DEFINE(HAVE_GETTIMEOFDAY)
 AC_CHECK_FUNC(gettimeofday,
        AC_DEFINE(HAVE_GETTIMEOFDAY),[
 
 AC_CHECK_LIB(bsd, gettimeofday,
        AC_DEFINE(HAVE_GETTIMEOFDAY)
-       LIBS="$LIBS -lbsd")])dnl CLIX: bzero, select, gettimeofday
+       CF_ADD_LIB(bsd))])dnl CLIX: bzero, select, gettimeofday
+       ;;
+esac
 
 CF_MATH_LIB(MATH_LIB,sin(x))
 AC_SUBST(MATH_LIB)
 
 CF_MATH_LIB(MATH_LIB,sin(x))
 AC_SUBST(MATH_LIB)
@@ -1081,6 +1338,7 @@ fcntl.h \
 getopt.h \
 limits.h \
 locale.h \
 getopt.h \
 limits.h \
 locale.h \
+math.h \
 poll.h \
 sys/bsdtypes.h \
 sys/ioctl.h \
 poll.h \
 sys/bsdtypes.h \
 sys/ioctl.h \
@@ -1094,11 +1352,13 @@ unistd.h \
 wctype.h \
 )
 
 wctype.h \
 )
 
+CF_GETOPT_HEADER
+
 # check for ISC (this may also define _POSIX_SOURCE)
 # Note: even non-Posix ISC needs <sys/bsdtypes.h> to declare fd_set
 # check for ISC (this may also define _POSIX_SOURCE)
 # Note: even non-Posix ISC needs <sys/bsdtypes.h> to declare fd_set
-if test "$ISC" = yes ; then
+if test "x$ISC" = xyes ; then
        AC_CHECK_LIB(cposix,main)
        AC_CHECK_LIB(cposix,main)
-       AC_CHECK_LIB(inet,bzero,LIBS="$LIBS -linet")dnl also 'select()'
+       AC_CHECK_LIB(inet,bzero,CF_ADD_LIB(inet))dnl also 'select()'
 fi
 
 CF_SYS_TIME_SELECT
 fi
 
 CF_SYS_TIME_SELECT
@@ -1106,26 +1366,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
-
-NCURSES_INLINE=
-if test "$ac_cv_c_inline" != no ; then
-       AC_DEFINE(CC_HAS_INLINE_FUNCS)
-       NCURSES_INLINE=inline
-fi
-AC_SUBST(NCURSES_INLINE)
+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
@@ -1133,6 +1388,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
@@ -1147,10 +1403,12 @@ geteuid \
 getttynam \
 issetugid \
 poll \
 getttynam \
 issetugid \
 poll \
+putenv \
 remove \
 select \
 setbuf \
 setbuffer \
 remove \
 select \
 setbuf \
 setbuffer \
+setenv \
 setvbuf \
 sigaction \
 sigvec \
 setvbuf \
 sigaction \
 sigvec \
@@ -1160,7 +1418,7 @@ tcgetpgrp \
 times \
 vsnprintf \
 )
 times \
 vsnprintf \
 )
-if test "$with_getcap" = "yes" ; then
+if test "x$with_getcap" = "xyes" ; then
        CF_CGETENT
 fi
 
        CF_CGETENT
 fi
 
@@ -1175,20 +1433,35 @@ CF_MKSTEMP
 CF_SUBST_IF(["$cf_cv_func_vsscanf" = vsscanf], HAVE_VSSCANF, 1, 0)
 
 dnl FIXME (may need this) AC_SYS_RESTARTABLE_SYSCALLS
 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
+if test "x$cross_compiling" = xyes ; then
        AC_MSG_WARN(cross compiling: assume setvbuf params not reversed)
 else
        AC_FUNC_SETVBUF_REVERSED
 fi
 AC_TYPE_SIGNAL
        AC_MSG_WARN(cross compiling: assume setvbuf params not reversed)
 else
        AC_FUNC_SETVBUF_REVERSED
 fi
 AC_TYPE_SIGNAL
+AC_CHECK_TYPE(intptr_t, long)
 CF_TYPE_SIGACTION
 CF_SIZECHANGE
 CF_FUNC_MEMMOVE
 CF_FUNC_POLL
 CF_TYPE_SIGACTION
 CF_SIZECHANGE
 CF_FUNC_MEMMOVE
 CF_FUNC_POLL
+CF_VA_COPY
+AC_FUNC_VFORK
+
+# special check for test/ditto.c
+CF_FUNC_OPENPTY
+if test "$cf_cv_func_openpty" != no ; then
+    AC_DEFINE_UNQUOTED(USE_OPENPTY_HEADER,<$cf_cv_func_openpty>)
+    AC_DEFINE(USE_XTERM_PTY)
+    if test "x$cf_cv_lib_util" = xyes ; then
+        CF_ADD_LIB(util,TEST_LIBS)
+    fi
+fi
+AC_SUBST(TEST_LIBS)
+AC_SUBST(TEST_LIBS2)
 
 if test "$with_hashed_db" != no ; then
        AC_DEFINE(USE_HASHED_DB)
 
 if test "$with_hashed_db" != no ; then
        AC_DEFINE(USE_HASHED_DB)
-       CF_HASHED_DB
+       CF_HASHED_DB($with_hashed_db)
 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
@@ -1219,35 +1492,13 @@ if test -n "$CXX" ; then
        esac
 
        AC_CHECK_HEADERS(typeinfo)
        esac
 
        AC_CHECK_HEADERS(typeinfo)
-
+       CF_CXX_IOSTREAM_NAMESPACE
        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
-
-       CXX_AR='$(AR)'
-       CXX_AR_OPTS='$(AR_OPTS)'
-       case $cf_cv_system_name in #(vi
-       irix*) #(vi
-           if test "$GXX" != yes ; then
-               CXX_AR='$(CXX)'
-               CXX_AR_OPTS='-ar -o'
-           fi
-           ;;
-       sco3.2v5*) #(vi
-           CXXLDFLAGS="-u main"
-           ;;
-       solaris2*)
-           if test "$GXX" != yes ; then
-               CXX_AR='$(CXX)'
-               CXX_AR_OPTS='-xar -o'
-           fi
-           ;;
-       esac
-       AC_SUBST(CXXLDFLAGS)
-       AC_SUBST(CXX_AR)
-       AC_SUBST(CXX_AR_OPTS)
+       CF_CXX_AR_FLAGS
 else
        cf_cxx_library=no
        cf_cv_builtin_bool=1
 else
        cf_cxx_library=no
        cf_cv_builtin_bool=1
@@ -1301,91 +1552,45 @@ AC_SUBST(USE_CXX_BOOL)
 
 CF_HELP_MESSAGE(Ada95 Binding Options:)
 
 
 CF_HELP_MESSAGE(Ada95 Binding Options:)
 
+dnl If the Ada95 source-tree is present, add that to the build unless it will
+dnl not work, or was not requested.
+if test -f "${srcdir}/Ada95/Makefile.in" ; then
+
+dnl libtool does not know anything about GNAT, though a change made in 1998
+dnl provided for it "someday".  Disable the ada subtree if we are using
+dnl libtool -TD 20070714
+       if test "$cf_with_ada" != "no" ; then
+               if test "$with_libtool" != "no"; then
+                       AC_MSG_WARN(libtool does not support Ada - disabling feature)
+                       cf_with_ada=no
+               fi
+       fi
+
 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 "$ac_cv_prog_gnat_exists" = no; then
-   cf_ada_make=
-else
-   CF_GNAT_VERSION
-   AC_CHECK_PROG(M4_exists, m4, yes, no)
-   if test "$ac_cv_prog_M4_exists" = no; then
-      cf_cv_prog_gnat_correct=no
-      echo Ada95 binding required program m4 not found. Ada95 binding disabled.
-   fi
-   if test "$cf_cv_prog_gnat_correct" = yes; then
-      AC_MSG_CHECKING(if GNAT works)
-      CF_GNAT_TRY_RUN([procedure conftest;],
-[with Text_IO;
-with GNAT.OS_Lib;
-procedure conftest is
-begin
-   Text_IO.Put ("Hello World");
-   Text_IO.New_Line;
-   GNAT.OS_Lib.OS_Exit (0);
-end conftest;],[cf_cv_prog_gnat_correct=yes],[cf_cv_prog_gnat_correct=no])
-      AC_MSG_RESULT($cf_cv_prog_gnat_correct)
-   fi
-fi
-if test        "$cf_cv_prog_gnat_correct" = yes; then
-   ADAFLAGS="-O3 -gnatpn $ADAFLAGS"
-
-   AC_MSG_CHECKING(if GNAT pragma Unreferenced works)
-   CF_GNAT_TRY_LINK([procedure conftest;],
-[with Text_IO;
-with GNAT.OS_Lib;
-procedure conftest is
-   test : Integer;
-   pragma Unreferenced (test);
-begin
-   test := 1;
-   Text_IO.Put ("Hello World");
-   Text_IO.New_Line;
-   GNAT.OS_Lib.OS_Exit (0);
-end conftest;],[cf_cv_pragma_unreferenced=yes],[cf_cv_pragma_unreferenced=no])
-   AC_MSG_RESULT($cf_cv_pragma_unreferenced)
-
-   # if the pragma is supported, use it (needed in the Trace code).
-   if test $cf_cv_pragma_unreferenced = yes ; then
-      PRAGMA_UNREF=TRUE
-   else
-      PRAGMA_UNREF=FALSE
-   fi
-
-   AC_ARG_WITH(ada-compiler,
-       [  --with-ada-compiler=CMD specify Ada95 compiler command (default gnatmake)],
-       [cf_ada_compiler=$withval],
-       [cf_ada_compiler=gnatmake])
-
-   cf_ada_package=terminal_interface
-
-   AC_SUBST(cf_ada_make)
-   AC_SUBST(cf_ada_compiler)
-   AC_SUBST(cf_ada_package)
-   AC_SUBST(ADAFLAGS)
-   AC_SUBST(cf_compile_generics)
-   AC_SUBST(cf_generic_objects)
-   AC_SUBST(PRAGMA_UNREF)
-
-   CF_WITH_PATH(ada-include,
-       [  --with-ada-include=DIR  Ada includes are in DIR],
-       ADA_INCLUDE,
-       PREFIX/lib/ada/adainclude,
-       [$]prefix/lib/ada/adainclude)
-   AC_SUBST(ADA_INCLUDE)
-
-   CF_WITH_PATH(ada-objects,
-       [  --with-ada-objects=DIR  Ada objects are in DIR],
-       ADA_OBJECTS,
-       PREFIX/lib/ada/adalib,
-       [$]prefix/lib/ada/adalib)
-   AC_SUBST(ADA_OBJECTS)
+       if test "$cf_with_ada" != "no" ; then
+               CF_PROG_GNAT
+               if test "x$cf_cv_prog_gnat_correct" = xyes; then
+                       CF_ADD_ADAFLAGS(-gnatpn)
+                       CF_FIXUP_ADAFLAGS
 
 
-fi
-fi
+                       CF_GNAT_GENERICS
+                       CF_GNAT_SIGINT
+                       CF_GNAT_PRAGMA_UNREF
+                       CF_GNAT_PROJECTS
+
+                       CF_WITH_ADA_COMPILER
+
+                       cf_ada_package=terminal_interface
+                       AC_SUBST(cf_ada_package)
+
+                       CF_WITH_ADA_INCLUDE
+                       CF_WITH_ADA_OBJECTS
+                       CF_WITH_ADA_SHAREDLIB
+               fi
+       fi
+else
+       cf_with_ada=no
 fi
 
 ### Construct the ncurses library-subsets, if any, from this set of keywords:
 fi
 
 ### Construct the ncurses library-subsets, if any, from this set of keywords:
@@ -1401,15 +1606,18 @@ fi
 AC_MSG_CHECKING(for library subsets)
 LIB_SUBSETS=
 
 AC_MSG_CHECKING(for library subsets)
 LIB_SUBSETS=
 
-test "$cf_with_progs"  = yes && LIB_SUBSETS="${LIB_SUBSETS}ticlib"
-if test "$with_ticlib" != no ; then
-       LIB_SUBSETS="${LIB_SUBSETS} "
-else
-       LIB_SUBSETS="${LIB_SUBSETS}+"
+if test "x$cf_with_progs" = xyes || test "$with_ticlib" != no || test "$with_termcap" != 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"
 fi
 
 LIB_SUBSETS="${LIB_SUBSETS}termlib"
-test "$with_ext_funcs" = yes && LIB_SUBSETS="${LIB_SUBSETS}+ext_tinfo"
+test "x$with_ext_funcs" = xyes && LIB_SUBSETS="${LIB_SUBSETS}+ext_tinfo"
+
 if test "$with_termlib" != no ; then
        LIB_SUBSETS="${LIB_SUBSETS} "
 else
 if test "$with_termlib" != no ; then
        LIB_SUBSETS="${LIB_SUBSETS} "
 else
@@ -1417,8 +1625,23 @@ else
 fi
 
 LIB_SUBSETS="${LIB_SUBSETS}base"
 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"
+
+# Most term-driver calls are to tinfo, but some like init_pair are to the
+# base library (so it resides in base).
+if test "$with_term_driver" != no ; then
+       LIB_SUBSETS="${LIB_SUBSETS}+port_drivers"
+       case $cf_cv_system_name in #(vi
+       *mingw32*) #(vi
+               LIB_SUBSETS="${LIB_SUBSETS}+port_tinfo+port_win32con"
+               ;;
+       *) #(vi
+               LIB_SUBSETS="${LIB_SUBSETS}+port_tinfo"
+               ;;
+       esac
+fi
+
+test "x$with_widec"     = xyes && LIB_SUBSETS="${LIB_SUBSETS}+widechar"
+test "x$with_ext_funcs" = xyes && LIB_SUBSETS="${LIB_SUBSETS}+ext_funcs"
 
 AC_MSG_RESULT($LIB_SUBSETS)
 
 
 AC_MSG_RESULT($LIB_SUBSETS)
 
@@ -1433,14 +1656,7 @@ AC_SUBST(DFT_ARG_SUFFIX)dnl the string to append to "-lncurses" ("")
 AC_MSG_RESULT($DFT_ARG_SUFFIX)
 
 AC_MSG_CHECKING(default library-dependency suffix)
 AC_MSG_RESULT($DFT_ARG_SUFFIX)
 
 AC_MSG_CHECKING(default library-dependency suffix)
-CF_LIB_SUFFIX($DFT_LWR_MODEL,DFT_DEP_SUFFIX)dnl
-if test $DFT_LWR_MODEL = shared ; then
-       case $cf_cv_system_name in #(vi
-       cygwin*)
-               DFT_DEP_SUFFIX=".dll.a"
-               ;;
-       esac
-fi
+CF_LIB_SUFFIX($DFT_LWR_MODEL,DFT_LIB_SUFFIX,DFT_DEP_SUFFIX)dnl
 AC_SUBST(DFT_DEP_SUFFIX)dnl the corresponding library-suffix (".a")
 AC_MSG_RESULT($DFT_DEP_SUFFIX)
 
 AC_SUBST(DFT_DEP_SUFFIX)dnl the corresponding library-suffix (".a")
 AC_MSG_RESULT($DFT_DEP_SUFFIX)
 
@@ -1450,26 +1666,36 @@ AC_SUBST(DFT_OBJ_SUBDIR)dnl the default object-directory ("obj")
 AC_MSG_RESULT($DFT_OBJ_SUBDIR)
 
 # libtool thinks it can make c++ shared libraries (perhaps only g++)
 AC_MSG_RESULT($DFT_OBJ_SUBDIR)
 
 # libtool thinks it can make c++ shared libraries (perhaps only g++)
-if test "$cf_with_cxx" = yes ; then
+if test "x$cf_with_cxx" = xyes ; then
 AC_MSG_CHECKING(c++ library-dependency suffix)
 if test "$with_libtool" != "no"; then
        CXX_LIB_SUFFIX=$DFT_DEP_SUFFIX
 else
 AC_MSG_CHECKING(c++ library-dependency suffix)
 if test "$with_libtool" != "no"; then
        CXX_LIB_SUFFIX=$DFT_DEP_SUFFIX
 else
-       CF_LIB_SUFFIX(normal,CXX_LIB_SUFFIX)dnl we normally make a static library
+       CF_LIB_SUFFIX(normal,CXX_LIB_SUFFIX,CXX_DEP_SUFFIX)dnl we normally make a static library
 fi
 AC_MSG_RESULT($CXX_LIB_SUFFIX)
 AC_SUBST(CXX_LIB_SUFFIX)
 fi
 
 fi
 AC_MSG_RESULT($CXX_LIB_SUFFIX)
 AC_SUBST(CXX_LIB_SUFFIX)
 fi
 
+# 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
+       CF_REMOVE_LIB(LIBS,$LIBS,dl)
+fi
+fi
 ### Set up low-level terminfo dependencies for makefiles.
 
 ### Set up low-level terminfo dependencies for makefiles.
 
-# TICS_LIST and TINFO_LIST are needed to build the libtic.so and libterm.so
-TICS_LIST="$SHLIB_LIST"
-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 "x$with_dlsym" = xyes ; then
+       CF_REMOVE_LIB(TINFO_LIST,$SHLIB_LIST,dl)
+fi
 
 if test "$with_ticlib" != no ; then
 
 
 if test "$with_ticlib" != no ; then
 
-       if test "$with_ticlib" != yes ; then
+       if test "x$with_ticlib" != xyes ; then
                TICS_NAME=$with_ticlib
                TICS_ARG_SUFFIX="${with_ticlib}`echo ${DFT_ARG_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`"
                TICS_DEP_SUFFIX="${with_ticlib}`echo ${DFT_DEP_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`"
                TICS_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}//"`"
@@ -1479,23 +1705,28 @@ if test "$with_ticlib" != no ; then
                TICS_DEP_SUFFIX="${TICS_NAME}${DFT_DEP_SUFFIX}"
                TICS_LIB_SUFFIX="${TICS_NAME}${LIB_SUFFIX}"
        fi
                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}"
+       TICS_LDFLAGS="-L${LIB_DIR}"
+       TICS_LIBS="-l${TICS_LIB_SUFFIX}"
 else
 else
-       TICS_ARGS="-L${LIB_DIR} -l${LIB_NAME}${DFT_ARG_SUFFIX}"
+       TICS_LDFLAGS="-L${LIB_DIR}"
+       TICS_LIBS="-l${LIB_NAME}${DFT_ARG_SUFFIX}"
 fi
 AC_SUBST(TICS_ARG_SUFFIX)
 AC_SUBST(TICS_DEP_SUFFIX)
 AC_SUBST(TICS_LIB_SUFFIX)
 fi
 AC_SUBST(TICS_ARG_SUFFIX)
 AC_SUBST(TICS_DEP_SUFFIX)
 AC_SUBST(TICS_LIB_SUFFIX)
-AC_SUBST(TICS_ARGS)
+AC_SUBST(TICS_LDFLAGS)
+AC_SUBST(TICS_LIBS)
 
 if test "$with_termlib" != no ; then
 
 
 if test "$with_termlib" != no ; then
 
-       if test "$with_termlib" != yes ; then
+       if test "x$with_termlib" != xyes ; then
                TINFO_NAME=$with_termlib
                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}"
@@ -1506,24 +1737,71 @@ if test "$with_termlib" != no ; then
        if test "$DFT_LWR_MODEL" = "libtool"; then
                TEST_ARGS="${TEST_DEPS}"
                TEST_ARG2="${TEST_DEP2}"
        if test "$DFT_LWR_MODEL" = "libtool"; then
                TEST_ARGS="${TEST_DEPS}"
                TEST_ARG2="${TEST_DEP2}"
-               TINFO_ARGS="-L${LIB_DIR} $TEST_ARGS"
+               TINFO_LDFLAGS="-L${LIB_DIR}"
+               TINFO_LIBS="$TEST_ARGS"
+               TICS_LIST="$SHLIB_LIST $TEST_ARGS"
+               SHLIB_LIST="${SHLIB_LIST} $TEST_ARGS"
        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}"
-               TINFO_ARGS="-L${LIB_DIR} $TEST_ARGS"
+               if test "x$with_term_driver" != xno ; then
+                       TICS_LIST="$SHLIB_LIST -l${LIB_NAME}${DFT_ARG_SUFFIX}"
+                       TICS_LIBS="$TICS_LIBS -l${LIB_NAME}${DFT_ARG_SUFFIX}"
+                       TINFO_LIBS="-l${LIB_NAME}${DFT_ARG_SUFFIX} $TEST_ARGS"
+               else
+                       TICS_LIST="$SHLIB_LIST -l${TINFO_LIB_SUFFIX}"
+                       TINFO_LIBS="$TEST_ARGS"
+               fi
+               TINFO_LDFLAGS="-L${LIB_DIR}"
                SHLIB_LIST="$SHLIB_LIST -l${TINFO_LIB_SUFFIX}"
        fi
 else
                SHLIB_LIST="$SHLIB_LIST -l${TINFO_LIB_SUFFIX}"
        fi
 else
-       TINFO_ARGS="-L${LIB_DIR} -l${LIB_NAME}${DFT_ARG_SUFFIX}"
+       # the next lines are needed for linking libtic over libncurses
+       TINFO_NAME=${LIB_NAME}
+       TINFO_SUFFIX=${DFT_LIB_SUFFIX}
+       TINFO_ARG_SUFFIX=${LIB_NAME}${DFT_ARG_SUFFIX}
+       if test "x$with_tic_depends" = xyes ; then
+               TICS_LIST="$SHLIB_LIST -l${LIB_NAME}${DFT_ARG_SUFFIX}"
+       else
+               TICS_LIST="$SHLIB_LIST"
+       fi
+
+       TINFO_LDFLAGS="-L${LIB_DIR}"
+       TINFO_LIBS="-l${LIB_NAME}${DFT_ARG_SUFFIX}"
 fi
 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_ARG_SUFFIX)
 AC_SUBST(TINFO_DEP_SUFFIX)
 AC_SUBST(TINFO_LIB_SUFFIX)
-AC_SUBST(TINFO_ARGS)
+AC_SUBST(TINFO_LDFLAGS)
+AC_SUBST(TINFO_LIBS)
+
+if test "x$with_dlsym" = xyes ; then
+       CF_REMOVE_LIB(TICS_LIST,$TICS_LIST,dl)
+fi
+
+if test "$DFT_LWR_MODEL" = "libtool"; then
+    OBJEXT=lo
+fi
 
 # needed for Ada95
 
 # needed for Ada95
-TINFO_ARGS2=`echo "$TINFO_ARGS" | sed -e 's,-L\.\./,-L../../,'`
-AC_SUBST(TINFO_ARGS2)
+TINFO_LDFLAGS2=`echo "$TINFO_LDFLAGS" | sed -e 's,-L\.\./,-L../../,'`
+AC_SUBST(TINFO_LDFLAGS2)
+
+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 && \
 
 AC_MSG_CHECKING(where we will install curses.h)
 test "$with_overwrite" = no && \
@@ -1539,8 +1817,10 @@ if test "$NCURSES_LIBUTF8" = 1 ; then
        AC_MSG_WARN(Wide-character applications must define HAVE_LIBUTF8_H to include curses.h)
 fi
 fi
        AC_MSG_WARN(Wide-character applications must define HAVE_LIBUTF8_H to include curses.h)
 fi
 fi
+WITH_OVERWRITE=$with_overwrite
 
 AC_SUBST(WITH_OVERWRITE)
 
 AC_SUBST(WITH_OVERWRITE)
+AC_SUBST(TICS_LIST)
 AC_SUBST(TINFO_LIST)
 AC_SUBST(SHLIB_LIST)
 
 AC_SUBST(TINFO_LIST)
 AC_SUBST(SHLIB_LIST)
 
@@ -1555,9 +1835,20 @@ 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 "x$cf_with_ada" = "xyes" && test "x$cf_cv_prog_gnat_correct" = "xyes"; then
+   SUB_MAKEFILES="$SUB_MAKEFILES Ada95/gen/adacurses${DFT_ARG_SUFFIX}-config:Ada95/gen/adacurses-config.in"
+   SUB_MAKEFILES="$SUB_MAKEFILES man/adacurses${DFT_ARG_SUFFIX}-config.1:man/MKada_config.in"
+fi
+
 CF_DIRS_TO_MAKE
 
 CF_DIRS_TO_MAKE
 
-AC_DEFINE_UNQUOTED(NCURSES_PATHSEP,'$PATHSEP')
+# symbols that differ when compiling Ada95 by itself.
+NCURSES_SHLIB2='sh $(top_srcdir)/misc/shlib'
+AC_SUBST(NCURSES_SHLIB2)
+
+# values to use as strings
+AC_DEFINE_UNQUOTED(NCURSES_PATHSEP,'$PATH_SEPARATOR')
 
 AC_DEFINE_UNQUOTED(NCURSES_VERSION_STRING, "${NCURSES_MAJOR}.${NCURSES_MINOR}.${NCURSES_PATCH}")
 
 
 AC_DEFINE_UNQUOTED(NCURSES_VERSION_STRING, "${NCURSES_MAJOR}.${NCURSES_MINOR}.${NCURSES_PATCH}")
 
@@ -1565,22 +1856,67 @@ AC_DEFINE_UNQUOTED(NCURSES_VERSION_STRING, "${NCURSES_MAJOR}.${NCURSES_MINOR}.${
 CF_ADD_CFLAGS($EXTRA_CFLAGS)
 
 ### Define substitutions for header files to avoid name-pollution
 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)
+CF_SUBST_IF(["x$cf_cv_have_tcgetattr" = xyes], HAVE_TCGETATTR, 1, 0)
+CF_SUBST_IF(["x$ac_cv_header_termio_h" = xyes], HAVE_TERMIO_H, 1, 0)
+CF_SUBST_IF(["x$ac_cv_header_termios_h" = xyes], HAVE_TERMIOS_H, 1, 0)
 
 ################################################################################
 
 ################################################################################
-test "$use_database" = yes && SUB_MAKEFILES="$SUB_MAKEFILES misc/run_tic.sh:misc/run_tic.in"
+test "x$use_database" = xyes && \
+SUB_MAKEFILES="$SUB_MAKEFILES misc/run_tic.sh:misc/run_tic.in"
+
 SUB_MAKEFILES="$SUB_MAKEFILES misc/ncurses-config:misc/ncurses-config.in"
 SUB_MAKEFILES="$SUB_MAKEFILES misc/ncurses-config:misc/ncurses-config.in"
+SUB_MAKEFILES="$SUB_MAKEFILES man/ncurses${DFT_ARG_SUFFIX}${cf_cv_abi_version}-config.1:man/MKncu_config.in"
+
+if test "x$enable_pc_files" = xyes ; then \
+SUB_MAKEFILES="$SUB_MAKEFILES misc/gen-pkgconfig:misc/gen-pkgconfig.in"
+MAKE_PC_FILES=
+else
+MAKE_PC_FILES="#"
+fi
+AC_SUBST(MAKE_PC_FILES)
+AC_SUBST(cross_compiling)
+
+AC_PATH_PROG(TIC_PATH,tic,unknown,$PATH:/usr/local/ncurses/bin)
+if test -n "$FALLBACK_LIST"
+then
+       if test "$TIC_PATH" = unknown
+       then
+               AC_MSG_WARN(no tic program found for fallbacks)
+       fi
+fi
+AC_SUBST(TIC_PATH)
+
+if test "x$cf_with_tests" != xno ; then
+       MAKE_TESTS=
+else
+       MAKE_TESTS="#"
+fi
+AC_SUBST(MAKE_TESTS)
+
+ADAHTML_DIR=../../doc/html/ada
+AC_SUBST(ADAHTML_DIR)
+
+SUB_SCRIPTS=
+
 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 \
+       include/ncurses_dll.h \
        include/termcap.h \
        include/unctrl.h \
        include/termcap.h \
        include/unctrl.h \
+       $SUB_SCRIPTS \
        $SUB_MAKEFILES \
        Makefile,[
        $SUB_MAKEFILES \
        Makefile,[
-CF_PRG_RULES([$srcdir/test/mk-test.awk ECHO_LINK="$ECHO_LINK"], test)
+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_LIB_RULES($SRC_SUBDIRS)
+
+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
+fi
+fi
 ],[
 ### Special initialization commands, used to pass information from the
 ### configuration-run into config.status
 ],[
 ### Special initialization commands, used to pass information from the
 ### configuration-run into config.status
@@ -1588,12 +1924,15 @@ CF_LIB_RULES($SRC_SUBDIRS)
 AWK="$AWK"
 DFT_ARG_SUFFIX="$DFT_ARG_SUFFIX"
 DFT_LWR_MODEL="$DFT_LWR_MODEL"
 AWK="$AWK"
 DFT_ARG_SUFFIX="$DFT_ARG_SUFFIX"
 DFT_LWR_MODEL="$DFT_LWR_MODEL"
-ECHO_LINK="$ECHO_LINK"
+ECHO_LD="$ECHO_LD"
 LDCONFIG="$LDCONFIG"
 LDCONFIG="$LDCONFIG"
+LIBTOOL_VERSION="$LIBTOOL_VERSION"
 LIB_NAME="$LIB_NAME"
 LIB_NAME="$LIB_NAME"
+LIB_PREFIX="$LIB_PREFIX"
 LIB_SUBSETS="$LIB_SUBSETS"
 LIB_SUFFIX="$LIB_SUFFIX"
 LIB_TRACING="$LIB_TRACING"
 LIB_SUBSETS="$LIB_SUBSETS"
 LIB_SUFFIX="$LIB_SUFFIX"
 LIB_TRACING="$LIB_TRACING"
+LN_S="$LN_S"
 MAKE_TERMINFO="$MAKE_TERMINFO"
 NCURSES_MAJOR="$NCURSES_MAJOR"
 NCURSES_MINOR="$NCURSES_MINOR"
 MAKE_TERMINFO="$MAKE_TERMINFO"
 NCURSES_MAJOR="$NCURSES_MAJOR"
 NCURSES_MINOR="$NCURSES_MINOR"
@@ -1601,29 +1940,40 @@ NCURSES_OSPEED="$NCURSES_OSPEED"
 NCURSES_PATCH="$NCURSES_PATCH"
 SRC_SUBDIRS="$SRC_SUBDIRS"
 TERMINFO="$TERMINFO"
 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"
 TICS_ARG_SUFFIX="$TICS_ARG_SUFFIX"
 TICS_LIB_SUFFIX="$TICS_LIB_SUFFIX"
 TICS_NAME="$TICS_NAME"
 TICS_ARG_SUFFIX="$TICS_ARG_SUFFIX"
 TICS_LIB_SUFFIX="$TICS_LIB_SUFFIX"
 TICS_NAME="$TICS_NAME"
+TIC_PATH="$TIC_PATH"
+TINFO_ARG_SUFFIX="$TINFO_ARG_SUFFIX"
+TINFO_LIB_SUFFIX="$TINFO_LIB_SUFFIX"
+TINFO_NAME="$TINFO_NAME"
+TINFO_SUFFIX="$TINFO_SUFFIX"
+USE_OLD_MAKERULES="$USE_OLD_MAKERULES"
 WITH_CURSES_H="$with_curses_h"
 WITH_CURSES_H="$with_curses_h"
-WITH_ECHO="$with_echo"
+WITH_ECHO="${enable_echo:=yes}"
 WITH_OVERWRITE="$with_overwrite"
 cf_LIST_MODELS="$cf_list_models"
 cf_cv_abi_version="$cf_cv_abi_version"
 WITH_OVERWRITE="$with_overwrite"
 cf_LIST_MODELS="$cf_list_models"
 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_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_rel_version="$cf_cv_rel_version"
 cf_cv_rm_so_locs="$cf_cv_rm_so_locs"
 cf_cv_rel_version="$cf_cv_rel_version"
 cf_cv_rm_so_locs="$cf_cv_rm_so_locs"
+cf_cv_shared_soname='$cf_cv_shared_soname'
 cf_cv_shlib_version="$cf_cv_shlib_version"
 cf_cv_shlib_version_infix="$cf_cv_shlib_version_infix"
 cf_cv_system_name="$cf_cv_system_name"
 cf_cv_shlib_version="$cf_cv_shlib_version"
 cf_cv_shlib_version_infix="$cf_cv_shlib_version_infix"
 cf_cv_system_name="$cf_cv_system_name"
+cf_cv_term_driver="$with_term_driver"
+cf_with_ada="$cf_with_ada"
 cf_with_cxx_binding="$cf_with_cxx_binding"
 cf_with_cxx_binding="$cf_with_cxx_binding"
+cf_with_manpages="$cf_with_manpages"
+cf_with_tests="$cf_with_tests"
 host="$host"
 target="$target"
 
 ],cat)dnl
 host="$host"
 target="$target"
 
 ],cat)dnl
-${MAKE-make} preinstall
+${MAKE:-make} preinstall