]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - test/configure.in
ncurses 6.1 - patch 20190202
[ncurses.git] / test / configure.in
index f28ce772df6f6339eabe626183e1ba60b8d3b640..dec48a18594b7c519de3383bb2983a25d65205ba 100644 (file)
@@ -1,23 +1,34 @@
-dnl*****************************************************************************
-dnl Copyright 1996,1997 by Thomas E. Dickey <dickey@clark.net>                 *
-dnl All Rights Reserved.                                                       *
-dnl                                                                            *
-dnl Permission to use, copy, modify, and distribute this software and its      *
-dnl documentation for any purpose and without fee is hereby granted, provided  *
-dnl that the above copyright notice appear in all copies and that both that    *
-dnl copyright notice and this permission notice appear in supporting           *
-dnl documentation, and that the name of the above listed copyright holder(s)   *
-dnl not be used in advertising or publicity pertaining to distribution of the  *
-dnl software without specific, written prior permission. THE ABOVE LISTED      *
-dnl COPYRIGHT HOLDER(S) DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,  *
-dnl INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO     *
-dnl EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY         *
-dnl SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER       *
-dnl RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF       *
-dnl CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN        *
-dnl CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.                   *
-dnl*****************************************************************************
-dnl $Id: configure.in,v 1.15 1997/05/06 00:36:02 tom Exp $
+dnl***************************************************************************
+dnl Copyright (c) 1998-2018,2019 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 "Software"), to deal in the Software without restriction, including      *
+dnl without limitation the rights to use, copy, modify, merge, publish,      *
+dnl distribute, distribute with modifications, sublicense, and/or sell       *
+dnl copies of the Software, and to permit persons to whom the Software is    *
+dnl furnished to do so, subject to the following conditions:                 *
+dnl                                                                          *
+dnl The above copyright notice and this permission notice shall be included  *
+dnl in all copies or substantial portions of the Software.                   *
+dnl                                                                          *
+dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
+dnl OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
+dnl MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
+dnl IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
+dnl DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
+dnl OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
+dnl THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
+dnl                                                                          *
+dnl Except as contained in this notice, the name(s) of the above copyright   *
+dnl holders shall not be used in advertising or otherwise to promote the     *
+dnl sale, use or other dealings in this Software without prior written       *
+dnl authorization.                                                           *
+dnl***************************************************************************
+dnl
+dnl Author: Thomas E. Dickey 1996-on
+dnl
+dnl $Id: configure.in,v 1.152 2019/02/02 19:57:53 tom Exp $
 dnl This is a simple configuration-script for the ncurses test programs that
 dnl allows the test-directory to be separately configured against a reference
 dnl system (i.e., sysvr4 curses)
 dnl This is a simple configuration-script for the ncurses test programs that
 dnl allows the test-directory to be separately configured against a reference
 dnl system (i.e., sysvr4 curses)
@@ -25,73 +36,208 @@ dnl
 dnl If you're configuring ncurses, you shouldn't need to use this script.
 dnl It's only for testing purposes.
 dnl
 dnl If you're configuring ncurses, you shouldn't need to use this script.
 dnl It's only for testing purposes.
 dnl
-dnl dickey@clark.net (Thomas Dickey)
-AC_PREREQ(2.12)
+dnl For additional information, see
+dnl            https://invisible-island.net/autoconf/
+dnl            https://invisible-island.net/ncurses/ncurses-examples.html
+dnl ---------------------------------------------------------------------------
+AC_PREREQ(2.52.20170501)
 AC_INIT(ncurses.c)
 AC_INIT(ncurses.c)
+AC_CONFIG_HEADER(ncurses_cfg.h:ncurses_tst.hin)
+
+CF_INHERIT_SCRIPT(config.guess)
+CF_INHERIT_SCRIPT(config.sub)
+CF_CHECK_CACHE
+
+AC_ARG_PROGRAM
+
+CF_HELP_MESSAGE(General Options:)
 
 
-AC_PROG_CC
+AC_PROG_MAKE_SET
+CF_PROG_CC
+AC_C_INLINE
+AC_PROG_CPP
+AC_PROG_AWK
+CF_PROG_INSTALL
+CF_INSTALL_OPTS
+CF_PROG_LINT
+CF_MAKE_TAGS
 
 
-CC_G_OPT="-g"                          AC_SUBST(CC_G_OPT)
+CF_MATH_LIB(MATH_LIB,pow(sin(x),x))
+AC_SUBST(MATH_LIB)
+
+dnl Things that we don't need (or must override) if we're not building ncurses
+CF_TOP_BUILDDIR
+CC_G_OPT="-g"                                  AC_SUBST(CC_G_OPT)
 CC_SHARED_OPTS=unknown                 AC_SUBST(CC_SHARED_OPTS)
 CPPFLAGS="$CPPFLAGS"                   AC_SUBST(CPPFLAGS)
 CC_SHARED_OPTS=unknown                 AC_SUBST(CC_SHARED_OPTS)
 CPPFLAGS="$CPPFLAGS"                   AC_SUBST(CPPFLAGS)
+DFT_DEP_SUFFIX=""                              AC_SUBST(DFT_DEP_SUFFIX)
 DFT_OBJ_SUBDIR=`pwd|sed -e's:.*/::'`   AC_SUBST(DFT_OBJ_SUBDIR)
 DFT_UPR_MODEL="NORMAL"                 AC_SUBST(DFT_UPR_MODEL)
 DFT_OBJ_SUBDIR=`pwd|sed -e's:.*/::'`   AC_SUBST(DFT_OBJ_SUBDIR)
 DFT_UPR_MODEL="NORMAL"                 AC_SUBST(DFT_UPR_MODEL)
-EXTRA_LIBS=""                          AC_SUBST(EXTRA_LIBS)
-LIB_NAME=curses                                AC_SUBST(LIB_NAME)
-LINT=lint                              AC_SUBST(LINT)
-LINT_OPTS=""                           AC_SUBST(LINT_OPTS)
-TEST_ARGS=""                           AC_SUBST(TEST_ARGS)
-
-dnl SunOS 4.x
-AC_ARG_WITH(5lib,
-       [  --with-5lib             use SunOS sysv-libraries],
-       [LIBS="-L/usr/5lib $LIBS"
-        CPPFLAGS="$CPPFLAGS -I/usr/5include"])
-
-dnl Ncurses, installed in conventional location
-AC_ARG_WITH(ncurses,
-       [  --with-ncurses          use ncurses-libraries (installed)],
-       [AC_CHECK_LIB(gpm,Gpm_Open)
-        LIB_NAME=ncurses
-        for p in $HOME /usr/local /usr
-        do
-               if test -f $p/include/ncurses/curses.h
-               then
-                       CPPFLAGS="$CPPFLAGS -I$p/include/ncurses"
-                       test $p != /usr && LIBS="-L$p/lib $LIBS"
-                       break
-               elif test $p != /usr
-               then
-                       if test -f $p/include/curses.h
-                       then
-                               CPPFLAGS="$CPPFLAGS -I$p/include"
-                               LIBS="-L$p/lib $LIBS"
-                               break
-                       fi
-               fi
-        done
-       ],[test -d /usr/ccs/lib && LIBS="-L/usr/ccs/lib $LIBS"])
+LD="ld"                                                        AC_SUBST(LD)
+LDFLAGS_SHARED=""                              AC_SUBST(LDFLAGS_SHARED)
+LDFLAGS_STATIC=""                              AC_SUBST(LDFLAGS_STATIC)
+LD_MODEL=""                                            AC_SUBST(LD_MODEL)
+LD_SHARED_OPTS=""                              AC_SUBST(LD_SHARED_OPTS)
+LIBTOOL=""                                             AC_SUBST(LIBTOOL)
+LIBTOOL_OPTS=""                                        AC_SUBST(LIBTOOL_OPTS)
+LIB_CLEAN=""                                   AC_SUBST(LIB_CLEAN)
+LIB_COMPILE=""                                 AC_SUBST(LIB_COMPILE)
+LIB_LINK='${CC}'                               AC_SUBST(LIB_LINK)
+LINK_TESTS=""                                  AC_SUBST(LINK_TESTS)
+LOCAL_LDFLAGS=""                               AC_SUBST(LOCAL_LDFLAGS)
+PACKAGE="ncurses-examples"             AC_SUBST(PACKAGE)
+PTHREAD="-lm"                                  AC_SUBST(PTHREAD)
+TEST_ARGS=""                                   AC_SUBST(TEST_ARGS)
+TEST_DEPS=""                                   AC_SUBST(TEST_DEPS)
+TEST_LIBS=""                                   AC_SUBST(TEST_LIBS)
+TINFO_LDFLAGS=''                               AC_SUBST(TINFO_LDFLAGS)
+TINFO_LIBS='$(LIBS_CURSES)'            AC_SUBST(TINFO_LIBS)
+cf_cv_abi_version=""                   AC_SUBST(cf_cv_abi_version)
+cf_cv_rel_version=""                   AC_SUBST(cf_cv_rel_version)
+includesubdir=""                               AC_SUBST(includesubdir)
+
+cf_cv_screen=curses
+cf_cv_libtype=
+
+AC_EXEEXT
+AC_OBJEXT
+
+CF_GCC_ATTRIBUTES
+CF_ENABLE_STRING_HACKS
+CF_XOPEN_SOURCE(600)
+CF_SIG_ATOMIC_T
+
+# Work around breakage on OS X
+CF_SIGWINCH
+
+# Checks for CODESET support.
+AM_LANGINFO_CODESET
+
+dnl ---------------------------------------------------------------------------
+CF_PKG_CONFIG
+CF_DISABLE_ECHO
+
+dnl ---------------------------------------------------------------------------
+CF_HELP_MESSAGE(Curses Version-dependent Options:)
+CF_NCURSES_WRAP_PREFIX
+
+AC_MSG_CHECKING(if you want to check for wide-character functions)
+CF_ARG_DISABLE(widec,
+       [  --disable-widec         disable checks for wide-character functions],
+       cf_enable_widec=no,
+       cf_enable_widec=yes,
+       yes)
+AC_MSG_RESULT($cf_enable_widec)
+
+dnl ---------------------------------------------------------------------------
+CF_HELP_MESSAGE(Curses Version-dependent Options:)
+CF_WITH_NCURSES_ETC
+
+case $cf_cv_screen in
+(ncurses*)
+       cf_cv_libtype=`echo "$cf_cv_screen" | sed -e 's/^ncurses//'`
+       ;;
+esac
+
+CF_WITH_X11_RGB
 
 dnl If we've not specified a library, assume we're using sysvr4 libraries
 dnl installed conventionally (e.g., SunOS 5.x - solaris).
 
 dnl Autoconf builds up the $LIBS in reverse order
 
 
 dnl If we've not specified a library, assume we're using sysvr4 libraries
 dnl installed conventionally (e.g., SunOS 5.x - solaris).
 
 dnl Autoconf builds up the $LIBS in reverse order
 
-AC_CHECK_LIB($LIB_NAME,initscr)
-AC_CHECK_LIB(form,form_driver,,,-lcurses)
-AC_CHECK_LIB(menu,menu_driver,,,-lcurses)
-AC_CHECK_LIB(panel,new_panel,,,-lcurses)
+cf_curses_headers=
+
+case $cf_cv_screen in
+(pdcurses)
+       cf_default_panel=no
+       cf_default_form=no
+       cf_default_menu=no
+       cf_default_tinfo=no
+       ;;
+(xcurses|bsdcurses)
+       cf_default_panel=no
+       cf_default_form=no
+       cf_default_menu=no
+       cf_default_tinfo=yes
+       ;;
+(*)
+       cf_default_panel=yes
+       cf_default_form=yes
+       cf_default_menu=yes
+       cf_default_tinfo=yes
+       case $cf_cv_screen in
+       (ncurses*)
+               cf_curses_headers="nc_alloc.h nomacros.h term_entry.h"
+               ;;
+       esac
+       ;;
+esac
+
+AC_MSG_CHECKING(if you want to check for panel functions)
+CF_ARG_DISABLE(panel,
+       [  --disable-panel         disable checks for panel functions],
+       cf_enable_panel=no,
+       cf_enable_panel=$cf_default_panel,
+       yes)
+AC_MSG_RESULT($cf_enable_panel)
+if test $cf_enable_panel = yes
+then
+       CF_CHECK_CURSES_LIB(panel,$cf_cv_libtype,new_panel,0)
+       cf_curses_headers="$cf_curses_headers panel.h"
+fi
 
 
-AC_TYPE_SIGNAL
+AC_MSG_CHECKING(if you want to check for menu functions)
+CF_ARG_DISABLE(menu,
+       [  --disable-menu          disable checks for menu functions],
+       cf_enable_menu=no,
+       cf_enable_menu=$cf_default_menu,
+       yes)
+AC_MSG_RESULT($cf_enable_menu)
+if test $cf_enable_menu = yes
+then
+       case $cf_cv_screen in
+       (ncurses*)
+               ;;
+       (curses*)
+               CF_NETBSD_MENU_H
+               ;;
+       esac
+       CF_CHECK_CURSES_LIB(menu,$cf_cv_libtype,menu_driver,[0,0])
+       cf_curses_headers="$cf_curses_headers menu.h"
+fi
+
+AC_MSG_CHECKING(if you want to check for form functions)
+CF_ARG_DISABLE(form,
+       [  --disable-form          disable checks for form functions],
+       cf_enable_form=no,
+       cf_enable_form=$cf_default_form,
+       yes)
+AC_MSG_RESULT($cf_enable_form)
+if test $cf_enable_form = yes
+then
+       case $cf_cv_screen in
+       (ncurses*)
+               ;;
+       (curses*)
+               CF_NETBSD_FORM_H
+               ;;
+       esac
+       CF_CHECK_CURSES_LIB(form,$cf_cv_libtype,form_driver,[0,0])
+       cf_curses_headers="$cf_curses_headers form.h"
+fi
+
+# look for curses-related headers
+AC_CHECK_HEADERS( $cf_curses_headers )
 
 AC_STDC_HEADERS
 AC_HEADER_TIME
 AC_CHECK_HEADERS( \
 
 AC_STDC_HEADERS
 AC_HEADER_TIME
 AC_CHECK_HEADERS( \
-form.h \
 getopt.h \
 getopt.h \
-menu.h \
-nc_alloc.h \
-panel.h \
+locale.h \
+math.h \
+stdarg.h \
+stdint.h \
 sys/ioctl.h \
 sys/select.h \
 sys/time.h \
 sys/ioctl.h \
 sys/select.h \
 sys/time.h \
@@ -99,84 +245,280 @@ termios.h \
 unistd.h \
 )
 
 unistd.h \
 )
 
+CF_GETOPT_HEADER
+
 AC_CHECK_FUNCS( \
 AC_CHECK_FUNCS( \
+getopt \
 gettimeofday \
 gettimeofday \
+tsearch \
+)
+
+# use a compile-check to work with ncurses*-config and subdirectory includes
+AC_CACHE_CHECK(if we can use termcap.h,cf_cv_have_termcap_h,[
+       AC_TRY_COMPILE([
+#include <curses.h>
+#ifdef NCURSES_VERSION
+#undef NCURSES_VERSION
+#endif
+#include <termcap.h>
+#ifndef NCURSES_VERSION
+#error wrong header
+#endif
+],
+       [return 0;],
+       [cf_cv_have_termcap_h=yes],
+       [cf_cv_have_termcap_h=no])])
+if test "x$cf_cv_have_termcap_h" = xyes
+then
+       AC_DEFINE(HAVE_TERMCAP_H)
+else
+AC_CACHE_CHECK(if we can use ncurses/termcap.h,cf_cv_have_ncurses_termcap_h,[
+       AC_TRY_COMPILE([
+#include <ncurses/curses.h>
+#ifdef NCURSES_VERSION
+#undef NCURSES_VERSION
+#endif
+#include <ncurses/termcap.h>
+#ifndef NCURSES_VERSION
+#error wrong header
+#endif
+],
+       [return 0;],
+       [cf_cv_have_ncurses_termcap_h=yes],
+       [cf_cv_have_ncurses_termcap_h=no])])
+test "x$cf_cv_have_ncurses_termcap_h" = xyes && AC_DEFINE(HAVE_NCURSES_TERMCAP_H)
+fi
+
+if test "x$ac_cv_func_getopt" = xno; then
+       AC_MSG_ERROR(getopt is required for building programs)
+fi
+
+if test "$cf_enable_widec" = yes; then
+AC_CHECK_FUNCS( \
+mblen \
+mbrlen \
+mbrtowc \
+mbsrtowcs \
+mbstowcs \
+mbtowc \
+wcsrtombs \
+wcstombs \
+)
+fi
+
+CF_CURSES_FUNCS( \
+alloc_pair \
+assume_default_colors \
+chgat \
+color_content \
+color_set \
+copywin \
+delscreen \
+dupwin \
+filter \
+getbegx \
+getcurx \
+getmaxx \
+getnstr \
+getparx \
+getwin \
+halfdelay \
+init_extended_color \
+mvderwin \
+mvvline \
+mvwin \
+mvwvline \
 napms \
 napms \
+newpad \
+putwin \
+reset_color_pairs \
+resize_term \
 resizeterm \
 resizeterm \
-strdup \
+restartterm \
+ripoffline \
+scr_dump \
+setupterm \
+slk_color \
+slk_init \
+termattrs \
+tgetent \
+tigetnum \
+tigetstr \
+tputs_sp \
+typeahead \
+use_default_colors \
+use_env \
+use_extended_names \
+use_screen \
+use_window \
+vid_puts \
+vidputs \
 vsscanf \
 vsscanf \
+vw_printw \
+wchgat \
+winsdelln \
+winsstr \
+wresize \
+wsyncdown \
+_tracef \
 )
 
 )
 
-AC_CHECKING([for SCO by checking on /usr/bin/scosh])
-AC_PROGRAM_CHECK(COULD_BE_SCO, [scosh], maybe, maybenot)
-if test "$COULD_BE_SCO" = "maybe"
+CF_TPUTS_PROTO
+CF_NCURSES_EXT_FUNCS
+
+if test "$cf_enable_widec" = yes
 then
 then
-       AC_DEFINE(SYSTEM_LOOKS_LIKE_SCO)
+       # workaround for systems with ncurses before 20111029, due to change of
+       # feature test macro from _XPG5 to _XOPEN_SOURCE
+       if test -n "$cf_cv_ncurses_version" && test "x$cf_cv_ncurses_version" != xno
+       then
+               cf_define_xpg5=no
+               AC_MSG_CHECKING(if _XPG5 should be defined to enable wide-characters)
+
+               AC_TRY_COMPILE([
+#include <${cf_cv_ncurses_header:-curses.h}>],
+                       [int x = _XPG5],,
+                       [cf_save_cppflags="$CPPFLAGS"
+                        CPPFLAGS="$CPPFLAGS -D_XPG5"
+                        AC_TRY_COMPILE([
+#include <${cf_cv_ncurses_header:-curses.h}>],
+                               [int x = _XPG5],
+                               [cf_define_xpg5=yes])
+                        CPPFLAGS="$cf_save_cppflags"])
+               AC_MSG_RESULT($cf_define_xpg5)
+
+               if test "$cf_define_xpg5" = yes
+               then
+                       CPPFLAGS="$CPPFLAGS -D_XPG5"
+               fi
+       fi
+
+       AC_CACHE_CHECK(for wide-character functions,cf_cv_widechar_funcs,[
+       AC_TRY_LINK([
+#include <${cf_cv_ncurses_header:-curses.h}>],
+       [
+               static wchar_t src_wchar[2];
+               static cchar_t dst_cchar;
+               setcchar(&dst_cchar, src_wchar, A_NORMAL, 0, (void *) 0);
+               ],
+               [cf_cv_widechar_funcs=yes],
+               [cf_cv_widechar_funcs=no])
+       ])
+       if test "$cf_cv_widechar_funcs" != no ; then
+               AC_DEFINE(USE_WIDEC_SUPPORT,1,[Define to 1 to enable wide-character support in (n)curses])
+       else
+               AC_DEFINE(USE_WIDEC_SUPPORT,0)
+       fi
+else
+       AC_DEFINE(USE_WIDEC_SUPPORT,0)
 fi
 
 fi
 
-dnl Things that we don't need (or must override) if we're not building ncurses
-ECHO_LINK='@ echo linking $@ ... ;'
-AC_SUBST(ECHO_LINK)
-
-LD_MODEL=""
-AC_SUBST(LD_MODEL)
-
-LOCAL_LDFLAGS=""
-AC_SUBST(LOCAL_LDFLAGS)
-
-nc_cv_abi_version=""
-AC_SUBST(nc_cv_abi_version)
-
-TEST_DEPS=""
-AC_SUBST(TEST_DEPS)
-
-LIB_PREFIX="-l"
-AC_SUBST(LIB_PREFIX)
-
-DFT_DEP_SUFFIX=""
-AC_SUBST(DFT_DEP_SUFFIX)
-
-rm -f config_h.in
-echo '@DEFS@' >config_h.in
-
-changequote({,})dnl
-AC_OUTPUT(config_h Makefile,{
-
-### Special editing.  We generate ncurses_cfg.h directly to allow all filenames
-### to be MSDOS-compatible, as well as to make the list of definitions be
-### dynamically determined by the configuration script -- a consideration when
-### doing type-clean development testing.
-
-echo creating ncurses_cfg.h
-rm -f ncurses_cfg.h
-echo "/* generated by configure-script
- * On host: $SYS_NAME
- */
-#ifndef NC_CONFIG_H
-#define NC_CONFIG_H" >ncurses_cfg.h
-sed    -e '/^ -D/!d' \
-       -e 's/ -D/\
-#define /g' \
-       -e 's/\(#define [A-Za-z_][A-Za-z0-9_]*\)=/\1    /g' \
-       -e 's@\\@@g' \
-       config_h | sort >>ncurses_cfg.h
-echo "
-       /* The C compiler may not treat these properly, but C++ has to */
-#ifdef __cplusplus
-#undef const
-#undef inline
-#endif
+AC_CACHE_CHECK(if $cf_cv_screen library uses pthreads,cf_cv_use_pthreads,[
+AC_TRY_LINK([
+#include <${cf_cv_ncurses_header:-curses.h}>
+extern void _nc_init_pthreads(void);
+],
+[
+       initscr();
+       _nc_init_pthreads();
+       ],
+       [cf_cv_use_pthreads=yes],
+       [cf_cv_use_pthreads=no])
+])
+test $cf_cv_use_pthreads = yes && AC_DEFINE(USE_PTHREADS)
+
+CF_SYS_TIME_SELECT
+
+# 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>,[Define to actual header for openpty function])
+       AC_DEFINE(USE_XTERM_PTY,1,[Define to 1 if we should assume xterm pseudoterminal interface])
+       if test "x$cf_cv_lib_util" = xyes ; then
+               CF_ADD_LIB(util,TEST_LIBS)
+       fi
+fi
+
+CF_FUNC_CURSES_VERSION
+
+CF_CURSES_ACS_MAP
+if test "$cf_enable_widec" = yes; then
+       CF_CURSES_WACS_MAP
+       CF_CURSES_WACS_SYMBOLS
+fi
+
+CF_CURSES_CHECK_TYPE(attr_t,long)
+
+if test "$cf_enable_widec" = yes; then
+       CF_WCHAR_TYPE(mbstate_t, NCURSES_MBSTATE_T, NCURSES_OK_MBSTATE_T)
+       CF_WCHAR_TYPE(wchar_t,   NCURSES_WCHAR_T,   NCURSES_OK_WCHAR_T)
+       CF_WCHAR_TYPE(wint_t,    NCURSES_WINT_T,    NCURSES_OK_WINT_T)
+
+       if test "$NCURSES_OK_MBSTATE_T" = 0 ; then
+               CF_CURSES_CHECK_TYPE(mbstate_t,long)
+       fi
+
+       if test "$NCURSES_OK_WCHAR_T" = 0 ; then
+               CF_CURSES_CHECK_TYPE(wchar_t,long)
+       fi
+
+       if test "$NCURSES_OK_WINT_T" = 0 ; then
+               CF_CURSES_CHECK_TYPE(wint_t,long)
+       fi
+fi
 
 
-#endif /* NC_CONFIG_H */" >> ncurses_cfg.h
-echo removing config_h
-rm config_h
-},{
-### Special initialization commands, used to pass information from the
-### configuration-run into config.status
+CF_CURSES_CHECK_DATA(\
+curscr \
+ospeed \
+boolnames \
+boolfnames \
+ttytype)
 
 
-SYS_NAME="`(uname -a || hostname) 2>/dev/null | sed 1q`"
-if test -z "\$SYS_NAME"; then SYS_NAME=unknown;fi
-})
-changequote([,])dnl
+dnl ---------------------------------------------------------------------------
+CF_HELP_MESSAGE(Testing/development Options:)
+CF_ENABLE_WARNINGS(Wno-unknown-pragmas)
+CF_DISABLE_LEAKS
+CF_DISABLE_RPATH_HACK
 
 
-rm -f config_h.in
+TEST_ARGS="$LIBS"
+LIBS=
+
+dnl ---------------------------------------------------------------------------
+
+AC_OUTPUT(Makefile,[
+CF_PRG_RULES([$srcdir/mk-test.awk INSTALL=yes ECHO_LINK="$ECHO_LD"], .)
+       cat >>Makefile <<TEST_EOF
+
+# These rules are generated so we do not rely on suffix rules, which do not
+# work consistently for different make-programs (the '\$(MODEL)/' confuses
+# some, and the '\$x' confuses others).
+TEST_EOF
+
+LIST=`sed -e 's/[[     ]].*//' -e '/^[[#@]]/d' $srcdir/modules`
+for N in $LIST
+do
+       cat >>Makefile <<TEST_EOF
+
+\$(MODEL)/$N.o : \$(srcdir)/$N.c \\
+       \$(srcdir)/test.priv.h \\
+       ncurses_cfg.h
+       $SHOW_CC
+       $ECHO_CC\$(CC) -c \$(CFLAGS_DEFAULT) -DMODULE_NAME="$N" \$(srcdir)/$N.c
+TEST_EOF
+done
+
+if test -f ../config.guess && test -f ../config.sub
+then
+       cat >>Makefile <<TEST_EOF
+
+# if we used CF_INHERIT for getting these files, we can remove them
+distclean::
+       rm -f config.guess config.sub
+TEST_EOF
+fi
+],[
+AWK="$AWK"
+ECHO_CC="$ECHO_CC"
+ECHO_LD="$ECHO_LD"
+SHOW_CC="$SHOW_LD"
+],cat)