]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - test/configure.in
ncurses 6.0 - patch 20170729
[ncurses.git] / test / configure.in
index 5c1c0541ce7e3494ee3d4b91bed5a04fe2c4e9d0..4a1cb6017eb7570f5d3a705b2a71f710734515bd 100644 (file)
@@ -1,5 +1,5 @@
 dnl***************************************************************************
 dnl***************************************************************************
-dnl Copyright (c) 1998-2010,2011 Free Software Foundation, Inc.              *
+dnl Copyright (c) 1998-2016,2017 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            *
@@ -26,9 +26,9 @@ dnl sale, use or other dealings in this Software without prior written       *
 dnl authorization.                                                           *
 dnl***************************************************************************
 dnl
 dnl authorization.                                                           *
 dnl***************************************************************************
 dnl
-dnl Author: Thomas E. Dickey 1996, etc.
+dnl Author: Thomas E. Dickey 1996-on
 dnl
 dnl
-dnl $Id: configure.in,v 1.97 2011/04/23 22:10:32 tom Exp $
+dnl $Id: configure.in,v 1.132 2017/06/24 14:10:13 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)
@@ -36,9 +36,11 @@ 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 See http://invisible-island.net/autoconf/ for additional information.
+dnl For additional information, see
+dnl            http://invisible-island.net/autoconf/
+dnl            http://invisible-island.net/ncurses/ncurses-examples.html
 dnl ---------------------------------------------------------------------------
 dnl ---------------------------------------------------------------------------
-AC_PREREQ(2.13.20020210)
+AC_PREREQ(2.52.20170501)
 AC_INIT(ncurses.c)
 AC_CONFIG_HEADER(ncurses_cfg.h:ncurses_tst.hin)
 
 AC_INIT(ncurses.c)
 AC_CONFIG_HEADER(ncurses_cfg.h:ncurses_tst.hin)
 
@@ -49,17 +51,18 @@ CF_CHECK_CACHE
 AC_ARG_PROGRAM
 
 AC_PROG_MAKE_SET
 AC_ARG_PROGRAM
 
 AC_PROG_MAKE_SET
-AC_PROG_CC
+CF_PROG_CC
 AC_PROG_CPP
 AC_PROG_AWK
 CF_PROG_INSTALL
 CF_PROG_LINT
 CF_MAKE_TAGS
 
 AC_PROG_CPP
 AC_PROG_AWK
 CF_PROG_INSTALL
 CF_PROG_LINT
 CF_MAKE_TAGS
 
-CF_MATH_LIB(MATH_LIB,sin(x))
+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
 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_G_OPT="-g"                                  AC_SUBST(CC_G_OPT)
 CC_SHARED_OPTS=unknown                 AC_SUBST(CC_SHARED_OPTS)
 CPPFLAGS="$CPPFLAGS"                   AC_SUBST(CPPFLAGS)
@@ -72,18 +75,22 @@ LDFLAGS_STATIC=""                           AC_SUBST(LDFLAGS_STATIC)
 LD_MODEL=""                                            AC_SUBST(LD_MODEL)
 LD_SHARED_OPTS=""                              AC_SUBST(LD_SHARED_OPTS)
 LIBTOOL=""                                             AC_SUBST(LIBTOOL)
 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)
 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)
 PTHREAD="-lm"                                  AC_SUBST(PTHREAD)
 TEST_ARGS=""                                   AC_SUBST(TEST_ARGS)
 TEST_DEPS=""                                   AC_SUBST(TEST_DEPS)
 TEST_LIBS=""                                   AC_SUBST(TEST_LIBS)
-TINFO_ARGS='$(LIBS_CURSES)'            AC_SUBST(TINFO_ARGS)
+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)
 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=
 
 cf_cv_screen=curses
 cf_cv_libtype=
@@ -91,71 +98,46 @@ cf_cv_libtype=
 AC_EXEEXT
 AC_OBJEXT
 
 AC_EXEEXT
 AC_OBJEXT
 
-CF_ANSI_CC_REQD
 CF_GCC_ATTRIBUTES
 CF_GCC_ATTRIBUTES
+CF_ENABLE_STRING_HACKS
 CF_XOPEN_SOURCE
 CF_XOPEN_SOURCE
-AC_C_CONST
 CF_SIG_ATOMIC_T
 
 CF_SIG_ATOMIC_T
 
-CF_DISABLE_ECHO
-CF_ENABLE_WARNINGS
+# Work around breakage on OS X
+CF_SIGWINCH
 
 
-CF_DISABLE_LEAKS
+# Checks for CODESET support.
+AM_LANGINFO_CODESET
 
 dnl ---------------------------------------------------------------------------
 
 dnl ---------------------------------------------------------------------------
+CF_HELP_MESSAGE(General Options:)
+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,
 AC_MSG_CHECKING(if you want to check for wide-character functions)
 CF_ARG_DISABLE(widec,
-       [--disable-widec           disable checks for wide-character functions],
+       [  --disable-widec         disable checks for wide-character functions],
        cf_enable_widec=no,
        cf_enable_widec=yes,
        yes)
 AC_MSG_RESULT($cf_enable_widec)
 
        cf_enable_widec=no,
        cf_enable_widec=yes,
        yes)
 AC_MSG_RESULT($cf_enable_widec)
 
-CF_WITH_CURSES_DIR
-
 dnl ---------------------------------------------------------------------------
 dnl ---------------------------------------------------------------------------
-dnl NcursesW, installed in conventional location
-AC_MSG_CHECKING(for specified curses library type)
-AC_ARG_WITH(ncursesw,
-       [  --with-ncursesw         use wide ncurses-libraries (installed)],
-       [cf_cv_screen=ncursesw],[
-
-dnl Ncurses, installed in conventional location
-AC_ARG_WITH(ncurses,
-       [  --with-ncurses          use ncurses-libraries (installed)],
-       [cf_cv_screen=ncurses],[
-
-AC_ARG_WITH(pdcurses,
-       [  --with-pdcurses         compile/link with pdcurses X11 library],
-       [cf_cv_screen=pdcurses],[
-
-AC_ARG_WITH(curses-colr,
-       [  --with-curses-colr      compile/link with HPUX 10.x color-curses],
-       [cf_cv_screen=curses_colr],[
-
-AC_ARG_WITH(curses-5lib,
-       [  --with-curses-5lib      compile/link with SunOS 5lib curses],
-       [cf_cv_screen=curses_5lib])])])])])
-
-AC_MSG_RESULT($cf_cv_screen)
+CF_HELP_MESSAGE(Curses Version-dependent Options:)
+CF_WITH_NCURSES_ETC
 
 case $cf_cv_screen in
 
 case $cf_cv_screen in
-curses|curses_*)
-       CF_CURSES_CONFIG
+(ncurses*)
+       cf_cv_libtype=`echo "$cf_cv_screen" | sed -e 's/^ncurses//'`
+       ;;
+(curses|curses_*)
        CF_NETBSD_FORM_H
        CF_NETBSD_MENU_H
        ;;
        CF_NETBSD_FORM_H
        CF_NETBSD_MENU_H
        ;;
-ncurses)
-       CF_NCURSES_CONFIG
-       ;;
-ncursesw)
-       cf_cv_libtype=w
-       CF_UTF8_LIB
-       CF_NCURSES_CONFIG(ncursesw)
-       ;;
-pdcurses) #(vi
-       CF_PDCURSES_X11
-       ;;
 esac
 
 dnl If we've not specified a library, assume we're using sysvr4 libraries
 esac
 
 dnl If we've not specified a library, assume we're using sysvr4 libraries
@@ -163,14 +145,14 @@ dnl installed conventionally (e.g., SunOS 5.x - solaris).
 
 dnl Autoconf builds up the $LIBS in reverse order
 
 
 dnl Autoconf builds up the $LIBS in reverse order
 
-case $cf_cv_screen in #(vi
-pdcurses) #(vi
+case $cf_cv_screen in
+(pdcurses)
        ;;
        ;;
-*)
+(*)
        # look for curses-related libraries
        # look for curses-related libraries
-       AC_CHECK_LIB(panel$cf_cv_libtype,new_panel)
-       AC_CHECK_LIB(menu$cf_cv_libtype,menu_driver)
-       AC_CHECK_LIB(form$cf_cv_libtype,form_driver)
+       CF_CHECK_CURSES_LIB(panel,$cf_cv_libtype,new_panel)
+       CF_CHECK_CURSES_LIB(menu,$cf_cv_libtype,menu_driver)
+       CF_CHECK_CURSES_LIB(form,$cf_cv_libtype,form_driver)
 
        # look for curses-related headers
        AC_CHECK_HEADERS( \
 
        # look for curses-related headers
        AC_CHECK_HEADERS( \
@@ -184,8 +166,6 @@ pdcurses) #(vi
        ;;
 esac
 
        ;;
 esac
 
-AC_TYPE_SIGNAL
-
 AC_STDC_HEADERS
 AC_HEADER_TIME
 AC_CHECK_HEADERS( \
 AC_STDC_HEADERS
 AC_HEADER_TIME
 AC_CHECK_HEADERS( \
@@ -203,10 +183,14 @@ unistd.h \
 CF_GETOPT_HEADER
 
 AC_CHECK_FUNCS( \
 CF_GETOPT_HEADER
 
 AC_CHECK_FUNCS( \
+getopt \
 gettimeofday \
 gettimeofday \
-strdup \
 )
 
 )
 
+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 \
 if test "$cf_enable_widec" = yes; then
 AC_CHECK_FUNCS( \
 mblen \
@@ -221,6 +205,7 @@ wcstombs \
 fi
 
 CF_CURSES_FUNCS( \
 fi
 
 CF_CURSES_FUNCS( \
+alloc_pair \
 assume_default_colors \
 chgat \
 color_set \
 assume_default_colors \
 chgat \
 color_set \
@@ -231,12 +216,14 @@ getmaxx \
 getnstr \
 getparx \
 getwin \
 getnstr \
 getparx \
 getwin \
+init_extended_color \
 mvvline \
 mvwvline \
 napms \
 putwin \
 resize_term \
 resizeterm \
 mvvline \
 mvwvline \
 napms \
 putwin \
 resize_term \
 resizeterm \
+restartterm \
 ripoffline \
 scr_dump \
 setupterm \
 ripoffline \
 scr_dump \
 setupterm \
@@ -246,16 +233,22 @@ termattrs \
 tgetent \
 tigetnum \
 tigetstr \
 tgetent \
 tigetnum \
 tigetstr \
+tputs_sp \
 typeahead \
 use_default_colors \
 typeahead \
 use_default_colors \
+use_env \
+use_extended_names \
 use_screen \
 use_window \
 use_screen \
 use_window \
+vid_puts \
+vidputs \
 vsscanf \
 vw_printw \
 wchgat \
 winsstr \
 wresize \
 wsyncdown \
 vsscanf \
 vw_printw \
 wchgat \
 winsstr \
 wresize \
 wsyncdown \
+_tracef \
 )
 
 CF_TPUTS_PROTO
 )
 
 CF_TPUTS_PROTO
@@ -263,6 +256,31 @@ CF_NCURSES_EXT_FUNCS
 
 if test "$cf_enable_widec" = yes
 then
 
 if test "$cf_enable_widec" = yes
 then
+       # 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}>],
        AC_CACHE_CHECK(for wide-character functions,cf_cv_widechar_funcs,[
        AC_TRY_LINK([
 #include <${cf_cv_ncurses_header:-curses.h}>],
@@ -275,7 +293,7 @@ then
                [cf_cv_widechar_funcs=no])
        ])
        if test "$cf_cv_widechar_funcs" != no ; then
                [cf_cv_widechar_funcs=no])
        ])
        if test "$cf_cv_widechar_funcs" != no ; then
-               AC_DEFINE(USE_WIDEC_SUPPORT,1)
+               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
@@ -283,10 +301,35 @@ else
        AC_DEFINE(USE_WIDEC_SUPPORT,0)
 fi
 
        AC_DEFINE(USE_WIDEC_SUPPORT,0)
 fi
 
+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
 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_FUNC_CURSES_VERSION
-CF_CURSES_ACS_MAP
 
 
+CF_CURSES_ACS_MAP
 if test "$cf_enable_widec" = yes; then
        CF_CURSES_WACS_MAP
        CF_CURSES_WACS_SYMBOLS
 if test "$cf_enable_widec" = yes; then
        CF_CURSES_WACS_MAP
        CF_CURSES_WACS_SYMBOLS
@@ -312,8 +355,16 @@ if test "$cf_enable_widec" = yes; then
        fi
 fi
 
        fi
 fi
 
+CF_CURSES_CHECK_DATA(ospeed)
 CF_CURSES_CHECK_DATA(boolnames)
 CF_CURSES_CHECK_DATA(boolfnames)
 CF_CURSES_CHECK_DATA(boolnames)
 CF_CURSES_CHECK_DATA(boolfnames)
+CF_CURSES_CHECK_DATA(ttytype)
+
+dnl ---------------------------------------------------------------------------
+CF_HELP_MESSAGE(Testing/development Options:)
+CF_ENABLE_WARNINGS
+CF_DISABLE_LEAKS
+CF_DISABLE_RPATH_HACK
 
 TEST_ARGS="$LIBS"
 LIBS=
 
 TEST_ARGS="$LIBS"
 LIBS=
@@ -337,7 +388,8 @@ do
 \$(MODEL)/$N.o : \$(srcdir)/$N.c \\
        \$(srcdir)/test.priv.h \\
        ncurses_cfg.h
 \$(MODEL)/$N.o : \$(srcdir)/$N.c \\
        \$(srcdir)/test.priv.h \\
        ncurses_cfg.h
-       @echo compiling $N; \$(CC) -c \$(CFLAGS_DEFAULT) \$(srcdir)/$N.c
+       $SHOW_CC
+       $ECHO_CC\$(CC) -c \$(CFLAGS_DEFAULT) \$(srcdir)/$N.c
 TEST_EOF
 done
 
 TEST_EOF
 done
 
@@ -352,5 +404,7 @@ TEST_EOF
 fi
 ],[
 AWK="$AWK"
 fi
 ],[
 AWK="$AWK"
+ECHO_CC="$ECHO_CC"
 ECHO_LD="$ECHO_LD"
 ECHO_LD="$ECHO_LD"
+SHOW_CC="$SHOW_LD"
 ],cat)
 ],cat)