]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - configure.in
ncurses 5.9 - patch 20120901
[ncurses.git] / configure.in
index 309d27bd26460cd92ee1db29c328618448882231..2eade1beba89c47aa071a1db0bc49725996602ec 100644 (file)
@@ -1,5 +1,5 @@
 dnl***************************************************************************
 dnl***************************************************************************
-dnl Copyright (c) 1998-2008,2009 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.477 2009/11/07 19:25:17 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.477 $)
+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,10 +129,6 @@ 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_CHECKING(if you want to install manpages)
 AC_MSG_RESULT($cf_with_ada)
 
 AC_MSG_CHECKING(if you want to install manpages)
@@ -136,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],
@@ -155,34 +171,14 @@ 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
 
 AC_SYS_LONG_FILE_NAMES
 
 # if we find pkg-config, check if we should install the ".pc" files.
 CF_PKG_CONFIG
-
-if test "$PKG_CONFIG" != no ; then
-       AC_MSG_CHECKING(if we should install .pc files for $PKG_CONFIG)
-
-       # Leave this as something that can be overridden in the environment.
-       if test -z "$PKG_CONFIG_LIBDIR" ; then
-               PKG_CONFIG_LIBDIR=`echo "$PKG_CONFIG" | sed -e 's,/[[^/]]*/[[^/]]*$,,'`/lib/pkgconfig
-       fi
-       PKG_CONFIG_LIBDIR=`echo "$PKG_CONFIG_LIBDIR" | sed -e 's/^://' -e 's/:.*//'`
-       if test -n "$PKG_CONFIG_LIBDIR" && test -d "$PKG_CONFIG_LIBDIR" ; then
-               AC_ARG_ENABLE(pc-files,
-                       [  --enable-pc-files       generate and install .pc files for pkg-config],
-                       [enable_pc_files=$enableval],
-                       [enable_pc_files=no])
-               AC_MSG_RESULT($enable_pc_files)
-       else
-               AC_MSG_RESULT(no)
-               AC_MSG_WARN(did not find library $PKG_CONFIG_LIBDIR)
-               enable_pc_files=no
-       fi
-fi
-AC_SUBST(PKG_CONFIG_LIBDIR)
+CF_WITH_PKG_CONFIG_LIBDIR
+CF_ENABLE_PC_FILES
 
 AC_MSG_CHECKING(if we should assume mixed-case filenames)
 AC_ARG_ENABLE(mixed-case,
 
 AC_MSG_CHECKING(if we should assume mixed-case filenames)
 AC_ARG_ENABLE(mixed-case,
@@ -194,7 +190,7 @@ if test "$enable_mixedcase" = "auto" ; then
     CF_MIXEDCASE_FILENAMES
 else
     cf_cv_mixedcase=$enable_mixedcase
     CF_MIXEDCASE_FILENAMES
 else
     cf_cv_mixedcase=$enable_mixedcase
-    if test "$enable_mixedcase" = "yes" ; then
+    if test "x$enable_mixedcase" = "xyes" ; then
         AC_DEFINE(MIXEDCASE_FILENAMES)
     fi
 fi
         AC_DEFINE(MIXEDCASE_FILENAMES)
     fi
 fi
@@ -216,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"
                ;;
@@ -254,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,
@@ -262,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,
@@ -270,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,
@@ -278,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
 
@@ -314,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)
@@ -347,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
@@ -359,6 +353,7 @@ 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)
        CF_CHECK_GPM_WGETCH
        fi
        AC_DEFINE(HAVE_LIBGPM)
        CF_CHECK_GPM_WGETCH
@@ -370,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)
 
@@ -412,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:)
 
@@ -440,7 +440,6 @@ os2*) #(vi
 esac
 AC_SUBST(TERMINFO_SRC)
 
 esac
 AC_SUBST(TERMINFO_SRC)
 
-CF_PATHSEP
 if test "$use_database" != no ; then
        AC_DEFINE(USE_DATABASE)
 
 if test "$use_database" != no ; then
        AC_DEFINE(USE_DATABASE)
 
@@ -481,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"
@@ -530,7 +549,7 @@ 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
 
 ### 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
@@ -543,7 +562,7 @@ AC_ARG_ENABLE(big-strings,
 AC_MSG_RESULT($with_big_strings)
 
 USE_BIG_STRINGS=0
 AC_MSG_RESULT($with_big_strings)
 
 USE_BIG_STRINGS=0
-test "$with_big_strings" = "yes" && USE_BIG_STRINGS=1
+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_SUBST(USE_BIG_STRINGS)
 
 ###    use option --enable-termcap to compile in the termcap fallback support
@@ -554,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)
@@ -583,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,
@@ -591,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
 
@@ -602,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,
@@ -610,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.
@@ -621,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],
@@ -634,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
@@ -642,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
@@ -675,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
@@ -687,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
@@ -705,14 +724,17 @@ 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
        AC_CHECK_FUNCS(putwc btowc wctob mbtowc wctomb mblen mbrlen mbrtowc wcsrtombs mbsrtowcs wcstombs mbstowcs)
        # with_overwrite=no
        NCURSES_CH_T=cchar_t
        AC_CHECK_FUNCS(putwc btowc wctob mbtowc wctomb mblen mbrlen mbrtowc wcsrtombs mbsrtowcs wcstombs mbstowcs)
-       if test "$ac_cv_func_putwc" != yes ; then
+       if test "x$ac_cv_func_putwc" != xyes ; then
                CF_UTF8_LIB
                if test "$cf_cv_utf8_lib" != no ; then
                        NCURSES_LIBUTF8=1
                CF_UTF8_LIB
                if test "$cf_cv_utf8_lib" != no ; then
                        NCURSES_LIBUTF8=1
@@ -754,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
@@ -771,7 +793,7 @@ 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)
 
 ###   use option --disable-tic-depends to make libtic not explicitly depend on ncurses/ncursesw
 AC_SUBST(NCURSES_TPARM_VARARGS)
 
 ###   use option --disable-tic-depends to make libtic not explicitly depend on ncurses/ncursesw
@@ -838,6 +860,15 @@ AC_ARG_WITH(ccharw-max,
 AC_MSG_RESULT($NCURSES_CCHARW_MAX)
 AC_SUBST(NCURSES_CCHARW_MAX)
 
 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,
@@ -845,7 +876,7 @@ 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 tabs tic toe tput tset ])
 
 ###############################################################################
 CF_MAN_PAGES([ captoinfo clear infocmp infotocap tabs tic toe tput tset ])
@@ -860,13 +891,17 @@ 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)
        GENERATED_EXT_FUNCS=generated
        AC_DEFINE(HAVE_WRESIZE)
        AC_DEFINE(NCURSES_EXT_FUNCS)
        GENERATED_EXT_FUNCS=generated
@@ -883,7 +918,7 @@ AC_ARG_ENABLE(sp-funcs,
        [with_sp_funcs=$enableval],
        [with_sp_funcs=no])
 AC_MSG_RESULT($with_sp_funcs)
        [with_sp_funcs=$enableval],
        [with_sp_funcs=no])
 AC_MSG_RESULT($with_sp_funcs)
-if test "$with_sp_funcs" = yes ; then
+if test "x$with_sp_funcs" = xyes ; then
        NCURSES_SP_FUNCS=1
        AC_DEFINE(NCURSES_SP_FUNCS)
        GENERATED_SP_FUNCS=generated
        NCURSES_SP_FUNCS=1
        AC_DEFINE(NCURSES_SP_FUNCS)
        GENERATED_SP_FUNCS=generated
@@ -900,8 +935,11 @@ AC_ARG_ENABLE(term-driver,
        [with_term_driver=$enableval],
        [with_term_driver=no])
 AC_MSG_RESULT($with_term_driver)
        [with_term_driver=$enableval],
        [with_term_driver=no])
 AC_MSG_RESULT($with_term_driver)
-if test "$with_term_driver" = yes ; then
+if test "x$with_term_driver" = xyes ; then
        AC_DEFINE(USE_TERM_DRIVER)
        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.
 fi
 
 ###   use option --enable-const to turn on use of const beyond that in XSI.
@@ -912,7 +950,7 @@ 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)
@@ -925,8 +963,8 @@ AC_ARG_ENABLE(ext-colors,
        [with_ext_colors=no])
 AC_MSG_RESULT($with_ext_colors)
 NCURSES_EXT_COLORS=0
        [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
+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)
                AC_MSG_ERROR(This option applies only to wide-character library)
        else
                # cannot be ABI 5 since it changes sizeof(cchar_t)
@@ -945,7 +983,7 @@ AC_ARG_ENABLE(ext-mouse,
        [with_ext_mouse=no])
 AC_MSG_RESULT($with_ext_mouse)
 NCURSES_MOUSE_VERSION=1
        [with_ext_mouse=no])
 AC_MSG_RESULT($with_ext_mouse)
 NCURSES_MOUSE_VERSION=1
-if test "$with_ext_mouse" = yes ; then
+if test "x$with_ext_mouse" = xyes ; then
        NCURSES_MOUSE_VERSION=2
        CF_NCURSES_ABI_6
 fi
        NCURSES_MOUSE_VERSION=2
        CF_NCURSES_ABI_6
 fi
@@ -957,7 +995,7 @@ AC_ARG_ENABLE(no-padding,
        [with_no_padding=$enableval],
        [with_no_padding=$with_ext_funcs])
 AC_MSG_RESULT($with_no_padding)
        [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
@@ -971,7 +1009,7 @@ AC_ARG_ENABLE(signed-char,
        [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
@@ -981,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)
@@ -991,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)
 
 ###############################################################################
@@ -1010,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)
@@ -1018,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:
@@ -1030,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)
@@ -1039,7 +1077,7 @@ 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)
 
 ###   use option --enable-colorfgbg to turn on use of $COLORFGBG environment
 AC_MSG_CHECKING(if you want colorfgbg code)
@@ -1048,7 +1086,7 @@ AC_ARG_ENABLE(colorfgbg,
        [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)
+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)
 
 ###   use option --enable-interop to turn on use of bindings used for interop
 AC_MSG_CHECKING(if you want interop bindings)
@@ -1059,34 +1097,47 @@ AC_ARG_ENABLE(interop,
 AC_MSG_RESULT($with_exp_interop)
 
 NCURSES_INTEROP_FUNCS=0
 AC_MSG_RESULT($with_exp_interop)
 
 NCURSES_INTEROP_FUNCS=0
-test "$with_exp_interop" = yes && NCURSES_INTEROP_FUNCS=1
+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
 
 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
 
-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=$withval],
-    [use_weak_symbols=no])
-AC_MSG_RESULT($use_weak_symbols)
-if test "$use_weak_symbols" = yes ; then
-    CF_WEAK_SYMBOLS
-else
-    cf_cv_weak_symbols=no
-fi
+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
+               cf_cv_weak_symbols=no
+       fi
 
 
-if test $cf_cv_weak_symbols = yes ; then
-    AC_DEFINE(USE_WEAK_SYMBOLS)
+       if test "x$cf_cv_weak_symbols" = xyes ; then
+               AC_DEFINE(USE_WEAK_SYMBOLS)
+       fi
 fi
 
 PTHREAD=
 fi
 
 PTHREAD=
-if test "$with_pthread" = "yes" ; then
+if test "x$with_pthread" = "xyes" ; then
     AC_DEFINE(USE_PTHREADS)
     enable_reentrant=yes
     AC_DEFINE(USE_PTHREADS)
     enable_reentrant=yes
-    if test $cf_cv_weak_symbols = yes ; then
+    if test "x$cf_cv_weak_symbols" = xyes ; then
         PTHREAD=-lpthread
     fi
 fi
         PTHREAD=-lpthread
     fi
 fi
@@ -1102,13 +1153,15 @@ AC_ARG_ENABLE(reentrant,
        [with_reentrant=$enableval],
        [with_reentrant=no])
 AC_MSG_RESULT($with_reentrant)
        [with_reentrant=$enableval],
        [with_reentrant=no])
 AC_MSG_RESULT($with_reentrant)
-if test "$with_reentrant" = yes ; then
+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
        cf_cv_enable_reentrant=1
        cf_cv_enable_opaque="NCURSES_INTERNALS"
        NCURSES_OPAQUE=1
        NCURSES_SIZE_T=int
-       if test $cf_cv_weak_symbols = yes ; then
+       if test "x$cf_cv_weak_symbols" = xyes ; then
                CF_REMOVE_LIB(LIBS,$LIBS,pthread)
                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
        else
                LIB_SUFFIX="t${LIB_SUFFIX}"
        fi
@@ -1145,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
@@ -1156,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)
@@ -1165,25 +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"
        test -n "$LIBTOOL_CXX" && LIBTOOL_CXX="$LIBTOOL_CXX --silent"
 fi
        ECHO_LINK=
 else
        ECHO_LINK='@ echo linking $@ ... ;'
        test -n "$LIBTOOL" && LIBTOOL="$LIBTOOL --silent"
        test -n "$LIBTOOL_CXX" && LIBTOOL_CXX="$LIBTOOL_CXX --silent"
 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
@@ -1194,13 +1242,14 @@ AC_ARG_ENABLE(warnings,
 AC_MSG_RESULT($with_warnings)
 
 if test "x$with_warnings" = "xyes"; then
 AC_MSG_RESULT($with_warnings)
 
 if test "x$with_warnings" = "xyes"; then
-       ADAFLAGS="$ADAFLAGS -gnatg"
+       CF_ADD_ADAFLAGS(-gnatg)
        CF_GCC_WARNINGS(Wdeclaration-after-statement Wextra Wno-unknown-pragmas Wswitch-enum)
        CF_GCC_WARNINGS(Wdeclaration-after-statement Wextra Wno-unknown-pragmas Wswitch-enum)
-       if test "$cf_with_cxx" = yes ; then
+       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)
@@ -1213,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
 
@@ -1227,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,
@@ -1250,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)
@@ -1271,7 +1319,7 @@ AC_CHECK_FUNC(gettimeofday,
 
 AC_CHECK_LIB(bsd, 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
 
        ;;
 esac
 
@@ -1290,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 \
@@ -1303,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
@@ -1352,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 \
@@ -1365,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
 
@@ -1380,27 +1433,31 @@ 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)
 
 # 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 "$cf_cv_lib_util" = yes ; then
-        TEST_LIBS="-lutil $TEST_LIBS"
+    if test "x$cf_cv_lib_util" = xyes ; then
+        CF_ADD_LIB(util,TEST_LIBS)
     fi
 fi
 AC_SUBST(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)
@@ -1434,50 +1491,14 @@ if test -n "$CXX" ; then
                ;;
        esac
 
                ;;
        esac
 
-       AC_CHECK_HEADERS(iostream typeinfo)
-
-    if test x"$ac_cv_header_iostream" = xyes ; then
-        AC_MSG_CHECKING(if iostream uses std-namespace)
-        AC_TRY_COMPILE([
-#include <iostream>
-using std::endl;
-using std::cerr;],[
-cerr << "testing" << endl;
-],[cf_iostream_namespace=yes],[cf_iostream_namespace=no])
-        AC_MSG_RESULT($cf_iostream_namespace)
-        if test "$cf_iostream_namespace" = yes ; then
-            AC_DEFINE(IOSTREAM_NAMESPACE)
-        fi
-    fi
-
+       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_ARFLAGS='$(ARFLAGS)'
-       case $cf_cv_system_name in #(vi
-       irix*) #(vi
-           if test "$GXX" != yes ; then
-               CXX_AR='$(CXX)'
-               CXX_ARFLAGS='-ar -o'
-           fi
-           ;;
-       sco3.2v5*) #(vi
-           CXXLDFLAGS="-u main"
-           ;;
-       solaris2*)
-           if test "$GXX" != yes ; then
-               CXX_AR='$(CXX)'
-               CXX_ARFLAGS='-xar -o'
-           fi
-           ;;
-       esac
-       AC_SUBST(CXXLDFLAGS)
-       AC_SUBST(CXX_AR)
-       AC_SUBST(CXX_ARFLAGS)
+       CF_CXX_AR_FLAGS
 else
        cf_cxx_library=no
        cf_cv_builtin_bool=1
 else
        cf_cxx_library=no
        cf_cv_builtin_bool=1
@@ -1538,99 +1559,38 @@ 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
 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
+       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 "$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
 else
-   cf_with_ada=no
+       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:
@@ -1646,7 +1606,7 @@ fi
 AC_MSG_CHECKING(for library subsets)
 LIB_SUBSETS=
 
 AC_MSG_CHECKING(for library subsets)
 LIB_SUBSETS=
 
-if test "$cf_with_progs" = yes || test "$with_ticlib" != no || test "$with_termcap" != no; then
+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} "
        LIB_SUBSETS="${LIB_SUBSETS}ticlib"
        if test "$with_ticlib" != no ; then
                LIB_SUBSETS="${LIB_SUBSETS} "
@@ -1656,8 +1616,18 @@ if test "$cf_with_progs" = yes || test "$with_ticlib" != no || test "$with_termc
 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
+       LIB_SUBSETS="${LIB_SUBSETS}+"
+fi
+
+LIB_SUBSETS="${LIB_SUBSETS}base"
+
+# 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
 if test "$with_term_driver" != no ; then
        LIB_SUBSETS="${LIB_SUBSETS}+port_drivers"
        case $cf_cv_system_name in #(vi
@@ -1670,16 +1640,8 @@ if test "$with_term_driver" != no ; then
        esac
 fi
 
        esac
 fi
 
-if test "$with_termlib" != no ; then
-       LIB_SUBSETS="${LIB_SUBSETS} "
-else
-       LIB_SUBSETS="${LIB_SUBSETS}+"
-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"
+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)
 
@@ -1704,7 +1666,7 @@ 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
 AC_MSG_CHECKING(c++ library-dependency suffix)
 if test "$with_libtool" != "no"; then
        CXX_LIB_SUFFIX=$DFT_DEP_SUFFIX
@@ -1716,7 +1678,7 @@ AC_SUBST(CXX_LIB_SUFFIX)
 fi
 
 # do not want -ldl in build except as needed for -lncurses dependency
 fi
 
 # do not want -ldl in build except as needed for -lncurses dependency
-if test "$with_dlsym" = yes ; then
+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)
 if test $DFT_LWR_MODEL = shared || \
    test $DFT_LWR_MODEL = libtool ; then
        CF_REMOVE_LIB(LIBS,$LIBS,dl)
@@ -1727,13 +1689,13 @@ fi
 # TICS_LIST and TINFO_LIST are needed to build libtic.so and libterm.so, but
 # do not need libdl
 TICS_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
+if test "x$with_dlsym" = xyes ; then
        CF_REMOVE_LIB(TINFO_LIST,$SHLIB_LIST,dl)
 fi
 
 if test "$with_ticlib" != no ; then
 
        CF_REMOVE_LIB(TINFO_LIST,$SHLIB_LIST,dl)
 fi
 
 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}//"`"
@@ -1743,18 +1705,21 @@ 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_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_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}//"`"
@@ -1772,14 +1737,22 @@ 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}"
                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}"
-               TICS_LIST="$SHLIB_LIST -l${TINFO_LIB_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
@@ -1787,13 +1760,14 @@ else
        TINFO_NAME=${LIB_NAME}
        TINFO_SUFFIX=${DFT_LIB_SUFFIX}
        TINFO_ARG_SUFFIX=${LIB_NAME}${DFT_ARG_SUFFIX}
        TINFO_NAME=${LIB_NAME}
        TINFO_SUFFIX=${DFT_LIB_SUFFIX}
        TINFO_ARG_SUFFIX=${LIB_NAME}${DFT_ARG_SUFFIX}
-       if test "$with_tic_depends" = yes ; then
+       if test "x$with_tic_depends" = xyes ; then
                TICS_LIST="$SHLIB_LIST -l${LIB_NAME}${DFT_ARG_SUFFIX}"
        else
                TICS_LIST="$SHLIB_LIST"
        fi
 
                TICS_LIST="$SHLIB_LIST -l${LIB_NAME}${DFT_ARG_SUFFIX}"
        else
                TICS_LIST="$SHLIB_LIST"
        fi
 
-       TINFO_ARGS="-L${LIB_DIR} -l${LIB_NAME}${DFT_ARG_SUFFIX}"
+       TINFO_LDFLAGS="-L${LIB_DIR}"
+       TINFO_LIBS="-l${LIB_NAME}${DFT_ARG_SUFFIX}"
 fi
 
 if test "$DFT_LWR_MODEL" = shared ; then
 fi
 
 if test "$DFT_LWR_MODEL" = shared ; then
@@ -1808,9 +1782,10 @@ 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 "$with_dlsym" = yes ; then
+if test "x$with_dlsym" = xyes ; then
        CF_REMOVE_LIB(TICS_LIST,$TICS_LIST,dl)
 fi
 
        CF_REMOVE_LIB(TICS_LIST,$TICS_LIST,dl)
 fi
 
@@ -1819,8 +1794,8 @@ if test "$DFT_LWR_MODEL" = "libtool"; then
 fi
 
 # needed for Ada95
 fi
 
 # 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)
 
 case $DFT_LWR_MODEL in
 normal|debug|profile)
@@ -1861,12 +1836,18 @@ AC_DEFINE(HAVE_SLK_COLOR)
 
 CF_SRC_MODULES($modules_to_build)
 
 
 CF_SRC_MODULES($modules_to_build)
 
-if test "$cf_with_ada" != "no" && test "$cf_cv_prog_gnat_correct" != "no"; then
+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 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
 
 fi
 
 CF_DIRS_TO_MAKE
 
+# 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_PATHSEP,'$PATH_SEPARATOR')
 
 AC_DEFINE_UNQUOTED(NCURSES_VERSION_STRING, "${NCURSES_MAJOR}.${NCURSES_MINOR}.${NCURSES_PATCH}")
@@ -1874,23 +1855,19 @@ 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)
 
-### If we're building with rpath, try to link non-standard libs that way too.
-if test "$DFT_LWR_MODEL" = "shared"; then
-  CF_RPATH_HACK
-fi
-
 ### Define substitutions for header files to avoid name-pollution
 ### 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 && \
+test "x$use_database" = xyes && \
 SUB_MAKEFILES="$SUB_MAKEFILES misc/run_tic.sh:misc/run_tic.in"
 
 SUB_MAKEFILES="$SUB_MAKEFILES misc/ncurses-config:misc/ncurses-config.in"
 SUB_MAKEFILES="$SUB_MAKEFILES misc/run_tic.sh:misc/run_tic.in"
 
 SUB_MAKEFILES="$SUB_MAKEFILES misc/ncurses-config:misc/ncurses-config.in"
+SUB_MAKEFILES="$SUB_MAKEFILES man/ncurses${DFT_ARG_SUFFIX}${cf_cv_abi_version}-config.1:man/MKncu_config.in"
 
 
-if test x"$enable_pc_files" = xyes ; then \
+if test "x$enable_pc_files" = xyes ; then \
 SUB_MAKEFILES="$SUB_MAKEFILES misc/gen-pkgconfig:misc/gen-pkgconfig.in"
 MAKE_PC_FILES=
 else
 SUB_MAKEFILES="$SUB_MAKEFILES misc/gen-pkgconfig:misc/gen-pkgconfig.in"
 MAKE_PC_FILES=
 else
@@ -1899,16 +1876,47 @@ fi
 AC_SUBST(MAKE_PC_FILES)
 AC_SUBST(cross_compiling)
 
 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 \
        include/ncurses_dll.h \
        include/termcap.h \
        include/unctrl.h \
 AC_OUTPUT( \
        include/MKterm.h.awk \
        include/curses.head:include/curses.h.in \
        include/ncurses_dll.h \
        include/termcap.h \
        include/unctrl.h \
+       $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
@@ -1916,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"
@@ -1932,12 +1943,14 @@ TERMINFO="$TERMINFO"
 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"
 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"
@@ -1947,16 +1960,20 @@ 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_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_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_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_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_term_driver="$with_term_driver"
+cf_with_ada="$cf_with_ada"
 cf_with_cxx_binding="$cf_with_cxx_binding"
 cf_with_manpages="$cf_with_manpages"
 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