]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - test/configure.in
ncurses 6.2 - patch 20211009
[ncurses.git] / test / configure.in
index 77d5c155f73ab9b607ea6b56b9dd43344ca3f2a3..faa674d23fb69c005796da5c08afb3c35c5d120b 100644 (file)
@@ -1,5 +1,6 @@
 dnl***************************************************************************
 dnl***************************************************************************
-dnl Copyright (c) 1998-2016,2017 Free Software Foundation, Inc.              *
+dnl Copyright 2018-2020,2021 Thomas E. Dickey                                *
+dnl Copyright 1998-2017,2018 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,7 +29,7 @@ dnl***************************************************************************
 dnl
 dnl Author: Thomas E. Dickey 1996-on
 dnl
 dnl
 dnl Author: Thomas E. Dickey 1996-on
 dnl
-dnl $Id: configure.in,v 1.144 2017/11/25 21:24:23 tom Exp $
+dnl $Id: configure.in,v 1.163 2021/07/03 20:21:07 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)
@@ -37,10 +38,11 @@ dnl If you're configuring ncurses, you shouldn't need to use this script.
 dnl It's only for testing purposes.
 dnl
 dnl For additional information, see
 dnl It's only for testing purposes.
 dnl
 dnl For additional information, see
-dnl            http://invisible-island.net/autoconf/
-dnl            http://invisible-island.net/ncurses/ncurses-examples.html
+dnl            https://invisible-island.net/autoconf/
+dnl            https://invisible-island.net/autoconf/my-autoconf.html
+dnl            https://invisible-island.net/ncurses/ncurses-examples.html
 dnl ---------------------------------------------------------------------------
 dnl ---------------------------------------------------------------------------
-AC_PREREQ(2.52.20170501)
+AC_PREREQ(2.52.20210509)
 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)
 
@@ -50,13 +52,17 @@ CF_CHECK_CACHE
 
 AC_ARG_PROGRAM
 
 
 AC_ARG_PROGRAM
 
+CF_HELP_MESSAGE(General Options:)
+
 AC_PROG_MAKE_SET
 CF_PROG_CC
 AC_C_INLINE
 AC_PROG_CPP
 AC_PROG_AWK
 CF_PROG_INSTALL
 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_PROG_LINT
+CF_MAKE_PHONY
 CF_MAKE_TAGS
 
 CF_MATH_LIB(MATH_LIB,pow(sin(x),x))
 CF_MAKE_TAGS
 
 CF_MATH_LIB(MATH_LIB,pow(sin(x),x))
@@ -101,7 +107,7 @@ AC_OBJEXT
 
 CF_GCC_ATTRIBUTES
 CF_ENABLE_STRING_HACKS
 
 CF_GCC_ATTRIBUTES
 CF_ENABLE_STRING_HACKS
-CF_XOPEN_SOURCE
+CF_XOPEN_SOURCE(600)
 CF_SIG_ATOMIC_T
 
 # Work around breakage on OS X
 CF_SIG_ATOMIC_T
 
 # Work around breakage on OS X
@@ -111,7 +117,6 @@ CF_SIGWINCH
 AM_LANGINFO_CODESET
 
 dnl ---------------------------------------------------------------------------
 AM_LANGINFO_CODESET
 
 dnl ---------------------------------------------------------------------------
-CF_HELP_MESSAGE(General Options:)
 CF_PKG_CONFIG
 CF_DISABLE_ECHO
 
 CF_PKG_CONFIG
 CF_DISABLE_ECHO
 
@@ -172,6 +177,10 @@ case $cf_cv_screen in
        ;;
 esac
 
        ;;
 esac
 
+CF_WITH_LIB_BASENAME(FORM_NAME,form)
+CF_WITH_LIB_BASENAME(MENU_NAME,menu)
+CF_WITH_LIB_BASENAME(PANEL_NAME,panel)
+
 AC_MSG_CHECKING(if you want to check for panel functions)
 CF_ARG_DISABLE(panel,
        [  --disable-panel         disable checks for panel functions],
 AC_MSG_CHECKING(if you want to check for panel functions)
 CF_ARG_DISABLE(panel,
        [  --disable-panel         disable checks for panel functions],
@@ -181,7 +190,7 @@ CF_ARG_DISABLE(panel,
 AC_MSG_RESULT($cf_enable_panel)
 if test $cf_enable_panel = yes
 then
 AC_MSG_RESULT($cf_enable_panel)
 if test $cf_enable_panel = yes
 then
-       CF_CHECK_CURSES_LIB(panel,$cf_cv_libtype,new_panel)
+       CF_CHECK_CURSES_LIB($PANEL_NAME,$cf_cv_libtype,new_panel,0)
        cf_curses_headers="$cf_curses_headers panel.h"
 fi
 
        cf_curses_headers="$cf_curses_headers panel.h"
 fi
 
@@ -201,7 +210,7 @@ then
                CF_NETBSD_MENU_H
                ;;
        esac
                CF_NETBSD_MENU_H
                ;;
        esac
-       CF_CHECK_CURSES_LIB(menu,$cf_cv_libtype,menu_driver)
+       CF_CHECK_CURSES_LIB($MENU_NAME,$cf_cv_libtype,menu_driver,[0,0])
        cf_curses_headers="$cf_curses_headers menu.h"
 fi
 
        cf_curses_headers="$cf_curses_headers menu.h"
 fi
 
@@ -221,7 +230,7 @@ then
                CF_NETBSD_FORM_H
                ;;
        esac
                CF_NETBSD_FORM_H
                ;;
        esac
-       CF_CHECK_CURSES_LIB(form,$cf_cv_libtype,form_driver)
+       CF_CHECK_CURSES_LIB($FORM_NAME,$cf_cv_libtype,form_driver,[0,0])
        cf_curses_headers="$cf_curses_headers form.h"
 fi
 
        cf_curses_headers="$cf_curses_headers form.h"
 fi
 
@@ -248,10 +257,48 @@ CF_GETOPT_HEADER
 AC_CHECK_FUNCS( \
 getopt \
 gettimeofday \
 AC_CHECK_FUNCS( \
 getopt \
 gettimeofday \
-tdestroy \
+snprintf \
+strdup \
+strstr \
 tsearch \
 )
 
 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,1,[Define to 1 if we can use 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,1,[Define to 1 if we can use 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 "x$ac_cv_func_getopt" = xno; then
        AC_MSG_ERROR(getopt is required for building programs)
 fi
@@ -278,6 +325,8 @@ color_set \
 copywin \
 delscreen \
 dupwin \
 copywin \
 delscreen \
 dupwin \
+exit_curses \
+exit_terminfo \
 filter \
 getbegx \
 getcurx \
 filter \
 getbegx \
 getcurx \
@@ -294,6 +343,7 @@ mvwvline \
 napms \
 newpad \
 putwin \
 napms \
 newpad \
 putwin \
+reset_color_pairs \
 resize_term \
 resizeterm \
 restartterm \
 resize_term \
 resizeterm \
 restartterm \
@@ -303,6 +353,7 @@ setupterm \
 slk_color \
 slk_init \
 termattrs \
 slk_color \
 slk_init \
 termattrs \
+termname \
 tgetent \
 tigetnum \
 tigetstr \
 tgetent \
 tigetnum \
 tigetstr \
@@ -387,7 +438,7 @@ extern void _nc_init_pthreads(void);
        [cf_cv_use_pthreads=yes],
        [cf_cv_use_pthreads=no])
 ])
        [cf_cv_use_pthreads=yes],
        [cf_cv_use_pthreads=no])
 ])
-test $cf_cv_use_pthreads = yes && AC_DEFINE(USE_PTHREADS)
+test $cf_cv_use_pthreads = yes && AC_DEFINE(USE_PTHREADS,1,[Define to 1 if $cf_cv_screen library uses pthreads])
 
 CF_SYS_TIME_SELECT
 
 
 CF_SYS_TIME_SELECT
 
@@ -430,6 +481,7 @@ if test "$cf_enable_widec" = yes; then
 fi
 
 CF_CURSES_CHECK_DATA(\
 fi
 
 CF_CURSES_CHECK_DATA(\
+TABSIZE \
 curscr \
 ospeed \
 boolnames \
 curscr \
 ospeed \
 boolnames \
@@ -438,6 +490,7 @@ ttytype)
 
 dnl ---------------------------------------------------------------------------
 CF_HELP_MESSAGE(Testing/development Options:)
 
 dnl ---------------------------------------------------------------------------
 CF_HELP_MESSAGE(Testing/development Options:)
+CF_WITH_SCREEN_PDCURSES
 CF_ENABLE_WARNINGS(Wno-unknown-pragmas)
 CF_DISABLE_LEAKS
 CF_DISABLE_RPATH_HACK
 CF_ENABLE_WARNINGS(Wno-unknown-pragmas)
 CF_DISABLE_LEAKS
 CF_DISABLE_RPATH_HACK