X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=test%2Faclocal.m4;h=affadafcde276340bc490cffae07efbaf7bf8465;hp=3c1f4ccab115018471ac69b459fbce918ab2128a;hb=31dcb6fc49a6814a67cdc21db26390752e743d7f;hpb=3ef920d65fb2d4046096131d868ae8d4bba79d46 diff --git a/test/aclocal.m4 b/test/aclocal.m4 index 3c1f4cca..affadafc 100644 --- a/test/aclocal.m4 +++ b/test/aclocal.m4 @@ -27,7 +27,7 @@ dnl sale, use or other dealings in this Software without prior written * dnl authorization. * dnl*************************************************************************** dnl -dnl $Id: aclocal.m4,v 1.178 2020/03/08 14:13:15 tom Exp $ +dnl $Id: aclocal.m4,v 1.187 2020/11/26 22:37:55 tom Exp $ dnl dnl Author: Thomas E. Dickey dnl @@ -43,7 +43,7 @@ dnl https://invisible-island.net/autoconf/my-autoconf.html dnl dnl --------------------------------------------------------------------------- dnl --------------------------------------------------------------------------- -dnl AM_LANGINFO_CODESET version: 4 updated: 2015/04/18 08:56:57 +dnl AM_LANGINFO_CODESET version: 5 updated: 2020/03/10 18:53:47 dnl ------------------- dnl Inserted as requested by gettext 0.10.40 dnl File from /usr/share/aclocal @@ -56,7 +56,7 @@ AC_DEFUN([AM_LANGINFO_CODESET], [ AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset, [AC_TRY_LINK([#include ], - [char* cs = nl_langinfo(CODESET);], + [char* cs = nl_langinfo(CODESET); (void)cs], am_cv_langinfo_codeset=yes, am_cv_langinfo_codeset=no) ]) @@ -92,10 +92,11 @@ define([CF_ACVERSION_COMPARE], [ifelse([$8], , ,[$8])], [ifelse([$9], , ,[$9])])])dnl dnl --------------------------------------------------------------------------- -dnl CF_ADD_CFLAGS version: 13 updated: 2017/02/25 18:57:40 +dnl CF_ADD_CFLAGS version: 14 updated: 2020/04/04 16:16:13 dnl ------------- dnl Copy non-preprocessor flags to $CFLAGS, preprocessor flags to $CPPFLAGS -dnl The second parameter if given makes this macro verbose. +dnl $1 = flags to add +dnl $2 = if given makes this macro verbose. dnl dnl Put any preprocessor definitions that use quoted strings in $EXTRA_CPPFLAGS, dnl to simplify use of $CPPFLAGS in compiler checks, etc., that are easily @@ -567,7 +568,7 @@ if test "$cf_have_curses_lib" = no; then fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_CLANG_COMPILER version: 2 updated: 2013/11/19 19:23:35 +dnl CF_CLANG_COMPILER version: 6 updated: 2020/11/26 17:37:55 dnl ----------------- dnl Check if the given compiler is really clang. clang's C driver defines dnl __GNUC__ (fooling the configure script into setting $GCC to yes) but does @@ -586,21 +587,56 @@ ifelse([$2],,CLANG_COMPILER,[$2])=no if test "$ifelse([$1],,[$1],GCC)" = yes ; then AC_MSG_CHECKING(if this is really Clang ifelse([$1],GXX,C++,C) compiler) cf_save_CFLAGS="$ifelse([$3],,CFLAGS,[$3])" - ifelse([$3],,CFLAGS,[$3])="$ifelse([$3],,CFLAGS,[$3]) -Qunused-arguments" AC_TRY_COMPILE([],[ #ifdef __clang__ #else make an error #endif ],[ifelse([$2],,CLANG_COMPILER,[$2])=yes -cf_save_CFLAGS="$cf_save_CFLAGS -Qunused-arguments" ],[]) ifelse([$3],,CFLAGS,[$3])="$cf_save_CFLAGS" AC_MSG_RESULT($ifelse([$2],,CLANG_COMPILER,[$2])) fi + +CLANG_VERSION=none + +if test "x$ifelse([$2],,CLANG_COMPILER,[$2])" = "xyes" ; then + case "$CC" in + (c[[1-9]][[0-9]]|*/c[[1-9]][[0-9]]) + AC_MSG_WARN(replacing broken compiler alias $CC) + CFLAGS="$CFLAGS -std=`echo "$CC" | sed -e 's%.*/%%'`" + CC=clang + ;; + esac + + AC_MSG_CHECKING(version of $CC) + CLANG_VERSION="`$CC --version 2>/dev/null | sed -e '2,$d' -e 's/^.*(CLANG[[^)]]*) //' -e 's/^.*(Debian[[^)]]*) //' -e 's/^[[^0-9.]]*//' -e 's/[[^0-9.]].*//'`" + test -z "$CLANG_VERSION" && CLANG_VERSION=unknown + AC_MSG_RESULT($CLANG_VERSION) + + for cf_clang_opt in \ + -Qunused-arguments \ + -Wno-error=implicit-function-declaration + do + AC_MSG_CHECKING(if option $cf_clang_opt works) + cf_save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $cf_clang_opt" + AC_TRY_LINK([ + #include ],[ + printf("hello!\n");],[ + cf_clang_optok=yes],[ + cf_clang_optok=no]) + AC_MSG_RESULT($cf_clang_optok) + CFLAGS="$cf_save_CFLAGS" + if test $cf_clang_optok = yes; then + CF_VERBOSE(adding option $cf_clang_opt) + CF_APPEND_TEXT(CFLAGS,$cf_clang_opt) + fi + done +fi ]) dnl --------------------------------------------------------------------------- -dnl CF_CONST_X_STRING version: 3 updated: 2020/01/11 18:39:22 +dnl CF_CONST_X_STRING version: 4 updated: 2020/03/10 18:53:47 dnl ----------------- dnl The X11R4-X11R6 Xt specification uses an ambiguous String type for most dnl character-strings. @@ -630,7 +666,7 @@ AC_TRY_COMPILE( #include #include ], -[String foo = malloc(1)],[ +[String foo = malloc(1); (void)foo],[ AC_CACHE_CHECK(for X11/Xt const-feature,cf_cv_const_x_string,[ AC_TRY_COMPILE( @@ -1000,7 +1036,7 @@ fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_CURSES_TERM_H version: 11 updated: 2015/04/15 19:08:48 +dnl CF_CURSES_TERM_H version: 12 updated: 2020/03/19 20:23:48 dnl ---------------- dnl SVr4 curses should have term.h as well (where it puts the definitions of dnl the low-level interface). This may not be true in old/broken implementations, @@ -1029,7 +1065,7 @@ do AC_TRY_COMPILE([ #include <${cf_cv_ncurses_header:-curses.h}> #include <${cf_header}>], - [WINDOW *x], + [WINDOW *x; (void)x], [cf_cv_term_header=$cf_header break], [cf_cv_term_header=no]) @@ -1048,7 +1084,7 @@ case $cf_cv_term_header in #else make an error #endif], - [WINDOW *x], + [WINDOW *x; (void)x], [cf_cv_term_header=$cf_header break], [cf_cv_term_header=no]) @@ -1070,7 +1106,7 @@ case $cf_cv_term_header in esac ])dnl dnl --------------------------------------------------------------------------- -dnl CF_CURSES_UNCTRL_H version: 4 updated: 2015/04/15 19:08:48 +dnl CF_CURSES_UNCTRL_H version: 5 updated: 2020/03/19 20:23:48 dnl ------------------ dnl Any X/Open curses implementation must have unctrl.h, but ncurses packages dnl may put it in a subdirectory (along with ncurses' other headers, of @@ -1099,7 +1135,7 @@ do AC_TRY_COMPILE([ #include <${cf_cv_ncurses_header:-curses.h}> #include <${cf_header}>], - [WINDOW *x], + [WINDOW *x; (void)x], [cf_cv_unctrl_header=$cf_header break], [cf_cv_unctrl_header=no]) @@ -1125,7 +1161,7 @@ case $cf_cv_unctrl_header in esac ])dnl dnl --------------------------------------------------------------------------- -dnl CF_CURSES_WACS_MAP version: 6 updated: 2012/10/06 08:57:51 +dnl CF_CURSES_WACS_MAP version: 7 updated: 2020/03/19 20:23:48 dnl ------------------ dnl Check for likely values of wacs_map[]. AC_DEFUN([CF_CURSES_WACS_MAP], @@ -1139,7 +1175,7 @@ AC_CACHE_CHECK(for wide alternate character set array, cf_cv_curses_wacs_map,[ #define _XOPEN_SOURCE_EXTENDED #endif #include <${cf_cv_ncurses_header:-curses.h}>], - [void *foo = &($name['k'])], + [void *foo = &($name['k']); (void)foo], [cf_cv_curses_wacs_map=$name break]) done]) @@ -1147,7 +1183,7 @@ AC_CACHE_CHECK(for wide alternate character set array, cf_cv_curses_wacs_map,[ test "$cf_cv_curses_wacs_map" != unknown && AC_DEFINE_UNQUOTED(CURSES_WACS_ARRAY,$cf_cv_curses_wacs_map,[Define to name of (n)curses wide-character array]) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_CURSES_WACS_SYMBOLS version: 2 updated: 2012/10/06 08:57:51 +dnl CF_CURSES_WACS_SYMBOLS version: 3 updated: 2020/03/19 20:23:48 dnl ---------------------- dnl Do a check to see if the WACS_xxx constants are defined compatibly with dnl X/Open Curses. In particular, NetBSD's implementation of the WACS_xxx @@ -1166,7 +1202,7 @@ then #endif #include <${cf_cv_ncurses_header:-curses.h}>], [cchar_t *foo = WACS_PLUS; - $cf_cv_curses_wacs_map['k'] = *WACS_PLUS], + $cf_cv_curses_wacs_map['k'] = *WACS_PLUS; (void)foo], [cf_cv_curses_wacs_symbols=yes]) else AC_TRY_LINK([ @@ -1174,7 +1210,7 @@ else #define _XOPEN_SOURCE_EXTENDED #endif #include <${cf_cv_ncurses_header:-curses.h}>], - [cchar_t *foo = WACS_PLUS], + [cchar_t *foo = WACS_PLUS; (void)foo], [cf_cv_curses_wacs_symbols=yes]) fi ]) @@ -1306,12 +1342,21 @@ if test "x$with_string_hacks" = "xyes"; then fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_ENABLE_WARNINGS version: 5 updated: 2017/09/29 20:01:16 +dnl CF_ENABLE_WARNINGS version: 7 updated: 2020/08/29 09:05:21 dnl ------------------ dnl Configure-option to enable gcc warnings +dnl +dnl $1 = extra options to add, if supported +dnl $2 = option for checking attributes. By default, this is done when +dnl warnings are enabled. For other values: +dnl yes: always do this, e.g., to use in generated library-headers +dnl no: never do this AC_DEFUN([CF_ENABLE_WARNINGS],[ if ( test "$GCC" = yes || test "$GXX" = yes ) then +CF_FIX_WARNINGS(CFLAGS) +CF_FIX_WARNINGS(CPPFLAGS) +CF_FIX_WARNINGS(LDFLAGS) AC_MSG_CHECKING(if you want to turn on gcc warnings) CF_ARG_ENABLE(warnings, [ --enable-warnings test: turn on gcc compiler warnings], @@ -1320,9 +1365,10 @@ CF_ARG_ENABLE(warnings, AC_MSG_RESULT($with_warnings) if test "$with_warnings" = "yes" then - CF_GCC_ATTRIBUTES + ifelse($2,,[CF_GCC_ATTRIBUTES]) CF_GCC_WARNINGS($1) fi +ifelse($2,yes,[CF_GCC_ATTRIBUTES]) fi ])dnl dnl --------------------------------------------------------------------------- @@ -1507,6 +1553,40 @@ ifelse([$5],,AC_MSG_WARN(Cannot find $3 library),[$5]) fi ])dnl dnl --------------------------------------------------------------------------- +dnl CF_FIX_WARNINGS version: 2 updated: 2020/08/28 15:08:28 +dnl --------------- +dnl Warning flags do not belong in CFLAGS, CPPFLAGS, etc. Any of gcc's +dnl "-Werror" flags can interfere with configure-checks. Those go into +dnl EXTRA_CFLAGS. +dnl +dnl $1 = variable name to repair +define([CF_FIX_WARNINGS],[ +if ( test "$GCC" = yes || test "$GXX" = yes ) +then + case [$]$1 in + (*-Werror=*) + CF_VERBOSE(repairing $1: [$]$1) + cf_temp_flags= + for cf_temp_scan in [$]$1 + do + case "x$cf_temp_scan" in + (x-Werror=*) + CF_APPEND_TEXT(EXTRA_CFLAGS,"$cf_temp_scan") + ;; + (*) + CF_APPEND_TEXT(cf_temp_flags,"$cf_temp_scan") + ;; + esac + done + $1="$cf_temp_flags" + CF_VERBOSE(... fixed [$]$1) + CF_VERBOSE(... extra $EXTRA_CFLAGS) + ;; + esac +fi +AC_SUBST(EXTRA_CFLAGS) +])dnl +dnl --------------------------------------------------------------------------- dnl CF_FUNC_CURSES_VERSION version: 7 updated: 2017/05/10 18:31:29 dnl ---------------------- dnl Solaris has a data item 'curses_version', which confuses AC_CHECK_FUNCS. @@ -1557,14 +1637,14 @@ AC_CACHE_CHECK(for openpty header,cf_cv_func_openpty,[ ]) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_GCC_ATTRIBUTES version: 17 updated: 2015/04/12 15:39:00 +dnl CF_GCC_ATTRIBUTES version: 19 updated: 2020/08/29 09:05:21 dnl ----------------- dnl Test for availability of useful gcc __attribute__ directives to quiet dnl compiler warnings. Though useful, not all are supported -- and contrary dnl to documentation, unrecognized directives cause older compilers to barf. AC_DEFUN([CF_GCC_ATTRIBUTES], [ -if test "$GCC" = yes +if ( test "$GCC" = yes || test "$GXX" = yes ) then cat > conftest.i < conftest.$ac_ext < #include -],[int x = SIGWINCH], +],[int x = SIGWINCH; (void)x], [cf_cv_define_sigwinch=yes], [AC_TRY_COMPILE([ #undef _XOPEN_SOURCE @@ -3349,7 +3428,7 @@ AC_CACHE_CHECK(if SIGWINCH is defined,cf_cv_define_sigwinch,[ #undef _POSIX_C_SOURCE #include #include -],[int x = SIGWINCH], +],[int x = SIGWINCH; (void)x], [cf_cv_define_sigwinch=maybe], [cf_cv_define_sigwinch=no]) ]) @@ -3371,7 +3450,7 @@ do #if SIGWINCH != $cf_sigwinch make an error #endif -int x = SIGWINCH], +int x = SIGWINCH; (void)x], [cf_cv_fixup_sigwinch=$cf_sigwinch break]) @@ -3385,7 +3464,7 @@ done fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_SIG_ATOMIC_T version: 4 updated: 2020/01/18 12:30:44 +dnl CF_SIG_ATOMIC_T version: 5 updated: 2020/03/10 18:53:47 dnl --------------- dnl signal handler, but there are some gcc dependencies in that recommendation. dnl Try anyway. @@ -3407,6 +3486,7 @@ extern $cf_type x; $cf_type x; static void handler(int sig) { + (void)sig; x = 5; }], [signal(SIGINT, handler); @@ -3467,7 +3547,7 @@ AC_MSG_RESULT($cf_cv_sys_time_select) test "$cf_cv_sys_time_select" = yes && AC_DEFINE(HAVE_SYS_TIME_SELECT,1,[Define to 1 if we can include with ]) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_TERM_HEADER version: 4 updated: 2015/04/15 19:08:48 +dnl CF_TERM_HEADER version: 5 updated: 2020/03/19 20:23:48 dnl -------------- dnl Look for term.h, which is part of X/Open curses. It defines the interface dnl to terminfo database. Usually it is in the same include-path as curses.h, @@ -3488,7 +3568,7 @@ do AC_TRY_COMPILE([#include #include <${cf_cv_ncurses_header:-curses.h}> #include <$cf_test> -],[int x = auto_left_margin],[ +],[int x = auto_left_margin; (void)x],[ cf_cv_term_header="$cf_test"],[ cf_cv_term_header=unknown ]) @@ -3886,6 +3966,23 @@ esac CF_NCURSES_PTHREADS($cf_cv_screen) +])dnl +dnl --------------------------------------------------------------------------- +dnl CF_WITH_SCREEN_PDCURSES version: 1 updated: 2020/08/28 16:56:27 +dnl ----------------------- +dnl Call this macro before CF_ENABLE_WARNINGS for configure scripts which use +dnl the "--with-screen=pdcurses" selection. Doing that allows the configure +dnl script to search for the X11/Xt header files to declare (or not) the +dnl symbol needed to enable "const" in those header files. If that configure +dnl option is not used, then those checks are unnecessary. +AC_DEFUN([CF_WITH_SCREEN_PDCURSES],[ +AC_PROVIDE([AC_PATH_XTRA]) +AC_PROVIDE([AC_PATH_X]) +if test -n "$with_screen" && test "x$with_screen" = "xpdcurses" +then + AC_PATH_X + AC_PATH_XTRA +fi ])dnl dnl --------------------------------------------------------------------------- dnl CF_WITH_VALGRIND version: 1 updated: 2006/12/14 18:00:21 @@ -3982,7 +4079,7 @@ fi AC_SUBST(no_x11_rgb) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_XOPEN_CURSES version: 14 updated: 2018/06/20 20:23:13 +dnl CF_XOPEN_CURSES version: 15 updated: 2020/03/19 20:23:48 dnl --------------- dnl Test if we should define X/Open source for curses, needed on Digital Unix dnl 4.x, to see the extended functions, but breaks on IRIX 6.x. @@ -4008,7 +4105,14 @@ AC_TRY_LINK([ #endif long x = winnstr(stdscr, "", 0); int x1, y1; - getbegyx(stdscr, y1, x1)], +#ifdef NCURSES_VERSION + (void)check2; +#endif + getbegyx(stdscr, y1, x1); + (void)x; + (void)y1; + (void)x1; + ], [cf_cv_need_xopen_extension=none], [ for cf_try_xopen_extension in _XOPEN_SOURCE_EXTENDED NCURSES_WIDECHAR @@ -4023,7 +4127,14 @@ AC_TRY_LINK([ #endif long x = winnstr(stdscr, "", 0); int x1, y1; - getbegyx(stdscr, y1, x1)], + getbegyx(stdscr, y1, x1); +#ifdef NCURSES_VERSION + (void)check2; +#endif + (void)x; + (void)y1; + (void)x1; + ], [cf_cv_need_xopen_extension=$cf_try_xopen_extension; break]) done ]) @@ -4168,7 +4279,7 @@ fi fi # cf_cv_posix_visible ]) dnl --------------------------------------------------------------------------- -dnl CF_X_ATHENA version: 23 updated: 2015/04/12 15:39:00 +dnl CF_X_ATHENA version: 24 updated: 2020/03/10 18:53:47 dnl ----------- dnl Check for Xaw (Athena) libraries dnl @@ -4244,7 +4355,8 @@ AC_CACHE_CHECK(for usable $cf_x_athena/Xmu package,cf_cv_xaw_compat,[ AC_TRY_LINK([ #include ],[ -int check = XmuCompareISOLatin1("big", "small") +int check = XmuCompareISOLatin1("big", "small"); +(void)check; ],[cf_cv_xaw_compat=yes],[cf_cv_xaw_compat=no])]) if test "$cf_cv_xaw_compat" = no @@ -4396,7 +4508,7 @@ CF_TRY_PKG_CONFIG(Xext,,[ [CF_ADD_LIB(Xext)])]) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_X_TOOLKIT version: 24 updated: 2019/03/23 19:54:44 +dnl CF_X_TOOLKIT version: 25 updated: 2020/03/10 17:26:15 dnl ------------ dnl Check for X Toolkit libraries AC_DEFUN([CF_X_TOOLKIT], @@ -4416,6 +4528,8 @@ then CF_TRY_PKG_CONFIG(ice,,[AC_MSG_WARN(unable to find ICE library)]) CF_TRY_PKG_CONFIG(sm,,[AC_MSG_WARN(unable to find SM library)]) CF_TRY_PKG_CONFIG(xt,,[AC_MSG_WARN(unable to find Xt library)]) +else + LIBS="$X_PRE_LIBS $LIBS $X_EXTRA_LIBS" fi cf_have_X_LIBS=no @@ -4448,7 +4562,7 @@ AC_TRY_LINK([ AC_CACHE_CHECK(for usable X Toolkit package,cf_cv_xt_ice_compat,[ AC_TRY_LINK([ #include -],[int num = IceConnectionNumber(0) +],[int num = IceConnectionNumber(0); (void) num ],[cf_cv_xt_ice_compat=yes],[cf_cv_xt_ice_compat=no])]) if test "$cf_cv_xt_ice_compat" = no @@ -4478,15 +4592,13 @@ AC_TRY_LINK([ AC_CHECK_FUNC(XOpenDisplay,,[ AC_CHECK_LIB(X11,XOpenDisplay, - [CF_ADD_LIB(X11)],, - [$X_PRE_LIBS $LIBS $X_EXTRA_LIBS])]) + [CF_ADD_LIB(X11)])]) AC_CHECK_FUNC(XtAppInitialize,,[ AC_CHECK_LIB(Xt, XtAppInitialize, [AC_DEFINE(HAVE_LIBXT,1,[Define to 1 if we can compile with the Xt library]) cf_have_X_LIBS=Xt - LIBS="-lXt $X_PRE_LIBS $LIBS $X_EXTRA_LIBS"],, - [$X_PRE_LIBS $LIBS $X_EXTRA_LIBS])]) + LIBS="-lXt $LIBS"])]) ]) if test $cf_have_X_LIBS = no ; then