X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=test%2Faclocal.m4;h=eef6e1905e8fcca562bd09629795ee26b9f981d9;hp=423744872bee9f61f41390aa5340c2380c2034df;hb=d30f99439fcc8d4bb4c38e5c4afb4f6555fc6ad4;hpb=c55d387cebf1cee4757ca2c2ef4fbeae59ee4175 diff --git a/test/aclocal.m4 b/test/aclocal.m4 index 42374487..eef6e190 100644 --- a/test/aclocal.m4 +++ b/test/aclocal.m4 @@ -1,5 +1,6 @@ dnl*************************************************************************** -dnl Copyright (c) 2003-2019,2020 Free Software Foundation, Inc. * +dnl Copyright 2018-2020,2021 Thomas E. Dickey * +dnl Copyright 2003-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 * @@ -26,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.172 2020/01/18 17:30:44 tom Exp $ +dnl $Id: aclocal.m4,v 1.193 2021/04/03 20:48:45 tom Exp $ dnl dnl Author: Thomas E. Dickey dnl @@ -42,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: 6 updated: 2021/01/01 16:53:59 dnl ------------------- dnl Inserted as requested by gettext 0.10.40 dnl File from /usr/share/aclocal @@ -55,11 +56,11 @@ 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) ]) - if test $am_cv_langinfo_codeset = yes; then + if test "$am_cv_langinfo_codeset" = yes; then AC_DEFINE(HAVE_LANGINFO_CODESET, 1, [Define if you have and nl_langinfo(CODESET).]) fi @@ -91,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: 15 updated: 2020/12/31 10:54:15 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 @@ -108,19 +110,19 @@ cf_new_extra_cppflags= for cf_add_cflags in $1 do -case $cf_fix_cppflags in +case "$cf_fix_cppflags" in (no) - case $cf_add_cflags in + case "$cf_add_cflags" in (-undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) - case $cf_add_cflags in + case "$cf_add_cflags" in (-D*) - cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[[^=]]*='\''\"[[^"]]*//'` + cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^-D[[^=]]*='\''\"[[^"]]*//'` test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ && test -z "${cf_tst_cflags}" \ && cf_fix_cppflags=yes - if test $cf_fix_cppflags = yes ; then + if test "$cf_fix_cppflags" = yes ; then CF_APPEND_TEXT(cf_new_extra_cppflags,$cf_add_cflags) continue elif test "${cf_tst_cflags}" = "\"'" ; then @@ -133,7 +135,7 @@ case $cf_fix_cppflags in (*$cf_add_cflags) ;; (*) - case $cf_add_cflags in + case "$cf_add_cflags" in (-D*) cf_tst_cppflags=`echo "x$cf_add_cflags" | sed -e 's/^...//' -e 's/=.*//'` CF_REMOVE_DEFINE(CPPFLAGS,$CPPFLAGS,$cf_tst_cppflags) @@ -151,7 +153,7 @@ case $cf_fix_cppflags in (yes) CF_APPEND_TEXT(cf_new_extra_cppflags,$cf_add_cflags) - cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[[^"]]*"'\''//'` + cf_tst_cflags=`echo "${cf_add_cflags}" |sed -e 's/^[[^"]]*"'\''//'` test "x${cf_add_cflags}" != "x${cf_tst_cflags}" \ && test -z "${cf_tst_cflags}" \ @@ -179,7 +181,7 @@ AC_SUBST(EXTRA_CPPFLAGS) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_ADD_INCDIR version: 15 updated: 2018/06/20 20:23:13 +dnl CF_ADD_INCDIR version: 16 updated: 2020/12/31 20:19:42 dnl ------------- dnl Add an include-directory to $CPPFLAGS. Don't add /usr/include, since it's dnl redundant. We don't normally need to add -I/usr/local/include for gcc, @@ -191,9 +193,9 @@ AC_DEFUN([CF_ADD_INCDIR], if test -n "$1" ; then for cf_add_incdir in $1 do - while test $cf_add_incdir != /usr/include + while test "$cf_add_incdir" != /usr/include do - if test -d $cf_add_incdir + if test -d "$cf_add_incdir" then cf_have_incdir=no if test -n "$CFLAGS$CPPFLAGS" ; then @@ -224,7 +226,7 @@ if test -n "$1" ; then CF_VERBOSE(adding $cf_add_incdir to include-path) ifelse([$2],,CPPFLAGS,[$2])="$ifelse([$2],,CPPFLAGS,[$2]) -I$cf_add_incdir" - cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'` + cf_top_incdir=`echo "$cf_add_incdir" | sed -e 's%/include/.*$%/include%'` test "$cf_top_incdir" = "$cf_add_incdir" && break cf_add_incdir="$cf_top_incdir" else @@ -246,7 +248,7 @@ dnl $1 = library to add, without the "-l" dnl $2 = variable to update (default $LIBS) AC_DEFUN([CF_ADD_LIB],[CF_ADD_LIBS(-l$1,ifelse($2,,LIBS,[$2]))])dnl dnl --------------------------------------------------------------------------- -dnl CF_ADD_LIBDIR version: 10 updated: 2015/04/18 08:56:57 +dnl CF_ADD_LIBDIR version: 11 updated: 2020/12/31 20:19:42 dnl ------------- dnl Adds to the library-path dnl @@ -260,9 +262,9 @@ AC_DEFUN([CF_ADD_LIBDIR], if test -n "$1" ; then for cf_add_libdir in $1 do - if test $cf_add_libdir = /usr/lib ; then + if test "$cf_add_libdir" = /usr/lib ; then : - elif test -d $cf_add_libdir + elif test -d "$cf_add_libdir" then cf_have_libdir=no if test -n "$LDFLAGS$LIBS" ; then @@ -321,7 +323,7 @@ LIBS=`echo "$LIBS" | sed -e "s/[[ ]][[ ]]*/ /g" -e "s%$1 %$1 $2 %" -e 's% % % CF_VERBOSE(...after $LIBS) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_ADD_SUBDIR_PATH version: 4 updated: 2013/10/08 17:47:05 +dnl CF_ADD_SUBDIR_PATH version: 5 updated: 2020/12/31 20:19:42 dnl ------------------ dnl Append to a search-list for a nonstandard header/lib-file dnl $1 = the variable to return as result @@ -333,13 +335,13 @@ AC_DEFUN([CF_ADD_SUBDIR_PATH], [ test "x$4" != "x$5" && \ test -d "$4" && \ -ifelse([$5],NONE,,[(test -z "$5" || test x$5 = xNONE || test "x$4" != "x$5") &&]) { +ifelse([$5],NONE,,[{ test -z "$5" || test "x$5" = xNONE || test "x$4" != "x$5"; } &&]) { test -n "$verbose" && echo " ... testing for $3-directories under $4" - test -d $4/$3 && $1="[$]$1 $4/$3" - test -d $4/$3/$2 && $1="[$]$1 $4/$3/$2" - test -d $4/$3/$2/$3 && $1="[$]$1 $4/$3/$2/$3" - test -d $4/$2/$3 && $1="[$]$1 $4/$2/$3" - test -d $4/$2/$3/$2 && $1="[$]$1 $4/$2/$3/$2" + test -d "$4/$3" && $1="[$]$1 $4/$3" + test -d "$4/$3/$2" && $1="[$]$1 $4/$3/$2" + test -d "$4/$3/$2/$3" && $1="[$]$1 $4/$3/$2/$3" + test -d "$4/$2/$3" && $1="[$]$1 $4/$2/$3" + test -d "$4/$2/$3/$2" && $1="[$]$1 $4/$2/$3/$2" } ])dnl dnl --------------------------------------------------------------------------- @@ -388,7 +390,46 @@ ifelse([$3],,[ :]dnl ])dnl ])])dnl dnl --------------------------------------------------------------------------- -dnl CF_CC_ENV_FLAGS version: 9 updated: 2018/07/29 18:03:26 +dnl CF_C11_NORETURN version: 3 updated: 2021/03/28 11:36:23 +dnl --------------- +AC_DEFUN([CF_C11_NORETURN], +[ +AC_MSG_CHECKING(if you want to use C11 _Noreturn feature) +CF_ARG_ENABLE(stdnoreturn, + [ --enable-stdnoreturn enable C11 _Noreturn feature for diagnostics], + [enable_stdnoreturn=yes], + [enable_stdnoreturn=no]) +AC_MSG_RESULT($enable_stdnoreturn) + +if test $enable_stdnoreturn = yes; then +AC_CACHE_CHECK([for C11 _Noreturn feature], cf_cv_c11_noreturn, + [AC_TRY_COMPILE([ +#include +#include +#include +static _Noreturn void giveup(void) { exit(0); } + ], + [if (feof(stdin)) giveup()], + cf_cv_c11_noreturn=yes, + cf_cv_c11_noreturn=no) + ]) +else + cf_cv_c11_noreturn=no, +fi + +if test "$cf_cv_c11_noreturn" = yes; then + AC_DEFINE(HAVE_STDNORETURN_H, 1,[Define if header is available and working]) + AC_DEFINE_UNQUOTED(STDC_NORETURN,_Noreturn,[Define if C11 _Noreturn keyword is supported]) + HAVE_STDNORETURN_H=1 +else + HAVE_STDNORETURN_H=0 +fi + +AC_SUBST(HAVE_STDNORETURN_H) +AC_SUBST(STDC_NORETURN) +])dnl +dnl --------------------------------------------------------------------------- +dnl CF_CC_ENV_FLAGS version: 10 updated: 2020/12/31 18:40:20 dnl --------------- dnl Check for user's environment-breakage by stuffing CFLAGS/CPPFLAGS content dnl into CC. This will not help with broken scripts that wrap the compiler @@ -403,7 +444,7 @@ dnl outweighs that limitation. AC_DEFUN([CF_CC_ENV_FLAGS], [ # This should have been defined by AC_PROG_CC -: ${CC:=cc} +: "${CC:=cc}" AC_MSG_CHECKING(\$CFLAGS variable) case "x$CFLAGS" in @@ -452,7 +493,7 @@ case "$CC" in esac ])dnl dnl --------------------------------------------------------------------------- -dnl CF_CHECK_CACHE version: 12 updated: 2012/10/02 20:55:03 +dnl CF_CHECK_CACHE version: 13 updated: 2020/12/31 10:54:15 dnl -------------- dnl Check if we're accidentally using a cache from a different machine. dnl Derive the system name, as a check for reusing the autoconf cache. @@ -466,7 +507,7 @@ dnl Note: we would use $ac_config_sub, but that is one of the places where dnl autoconf 2.5x broke compatibility with autoconf 2.13 AC_DEFUN([CF_CHECK_CACHE], [ -if test -f $srcdir/config.guess || test -f $ac_aux_dir/config.guess ; then +if test -f "$srcdir/config.guess" || test -f "$ac_aux_dir/config.guess" ; then ifelse([$1],,[AC_CANONICAL_HOST],[$1]) system_name="$host_os" else @@ -487,7 +528,7 @@ if test ".$system_name" != ".$cf_cv_system_name" ; then fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_CHECK_CFLAGS version: 3 updated: 2014/07/22 05:32:57 +dnl CF_CHECK_CFLAGS version: 4 updated: 2021/01/02 19:22:58 dnl --------------- dnl Conditionally add to $CFLAGS and $CPPFLAGS values which are derived from dnl a build-configuration such as imake. These have the pitfall that they @@ -505,11 +546,11 @@ AC_TRY_LINK([#include ],[printf("Hello world");],, if test "x$cf_check_cppflags" != "x$CPPFLAGS" ; then CF_VERBOSE(but keeping change to \$CPPFLAGS) fi - CFLAGS="$cf_check_flags"]) + CFLAGS="$cf_check_cflags"]) fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_CHECK_CURSES_LIB version: 2 updated: 2018/01/03 04:47:33 +dnl CF_CHECK_CURSES_LIB version: 3 updated: 2021/01/04 19:45:09 dnl ------------------- dnl $1 = nominal library name, used also for header lookup dnl $2 = suffix to append to library name @@ -526,7 +567,7 @@ if test "x${NCURSES_CONFIG_PKG}" = xnone; then : elif test "x${PKG_CONFIG:=none}" != xnone; then AC_MSG_CHECKING(pkg-config for $1$2) - if "$PKG_CONFIG" --exists $1$2 ; then + if "$PKG_CONFIG" --exists "$1$2" ; then AC_MSG_RESULT(yes) AC_MSG_CHECKING(if the $1$2 package files work) @@ -534,8 +575,8 @@ elif test "x${PKG_CONFIG:=none}" != xnone; then cf_save_CPPFLAGS="$CPPFLAGS" cf_save_LIBS="$LIBS" - CF_ADD_CFLAGS(`$PKG_CONFIG --cflags $1$2`) - CF_ADD_LIBS(`$PKG_CONFIG --libs $1$2`) + CF_ADD_CFLAGS(`$PKG_CONFIG --cflags "$1$2"`) + CF_ADD_LIBS(`$PKG_CONFIG --libs "$1$2"`) AC_TRY_LINK([#include <$1.h>], [(void) $3 ( ]ifelse([$4],,,[[$4]])[ );], @@ -566,7 +607,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: 8 updated: 2021/01/01 13:31:04 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 @@ -585,21 +626,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: 6 updated: 2021/01/01 13:31:04 dnl ----------------- dnl The X11R4-X11R6 Xt specification uses an ambiguous String type for most dnl character-strings. @@ -611,7 +687,7 @@ dnl did not take into account the use of const for telling the compiler that dnl string literals would be in readonly memory. dnl dnl As a workaround, one could (starting with X11R5) define XTSTRINGDEFINES, to -dnl let the compiler decide how to represent Xt's strings which were #define'd. +dnl let the compiler decide how to represent Xt's strings which were #define'd. dnl That does not solve the problem of using the block of Xt's strings which dnl are compiled into the library (and is less efficient than one might want). dnl @@ -629,7 +705,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( @@ -647,7 +723,7 @@ AC_CACHE_CHECK(for X11/Xt const-feature,cf_cv_const_x_string,[ CF_RESTORE_XTRA_FLAGS([CF_CONST_X_STRING]) -case $cf_cv_const_x_string in +case "$cf_cv_const_x_string" in (no) CF_APPEND_TEXT(CPPFLAGS,-DXTSTRINGDEFINES) ;; @@ -659,7 +735,7 @@ esac ]) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_CURSES_ACS_MAP version: 7 updated: 2012/10/06 16:39:58 +dnl CF_CURSES_ACS_MAP version: 8 updated: 2021/01/04 19:45:09 dnl ----------------- dnl Check for likely values of acs_map[]: AC_DEFUN([CF_CURSES_ACS_MAP], @@ -672,7 +748,7 @@ do AC_TRY_LINK([ #include <${cf_cv_ncurses_header:-curses.h}> ],[ -$name['k'] = ACS_PLUS +${name}['k'] = ACS_PLUS ],[cf_cv_curses_acs_map=$name; break]) done ]) @@ -680,7 +756,7 @@ done test "$cf_cv_curses_acs_map" != unknown && AC_DEFINE_UNQUOTED(CURSES_ACS_ARRAY,$cf_cv_curses_acs_map,[Define as needed to override ncurses prefix _nc_]) ]) dnl --------------------------------------------------------------------------- -dnl CF_CURSES_CHECK_DATA version: 7 updated: 2018/01/03 04:47:33 +dnl CF_CURSES_CHECK_DATA version: 10 updated: 2021/01/04 19:45:09 dnl -------------------- dnl Check if curses.h defines the given data/variable. dnl Use this after CF_NCURSES_CONFIG or CF_CURSES_CONFIG. @@ -693,13 +769,13 @@ for cf_data in $1 do AC_MSG_CHECKING(for data $cf_data declaration in ${cf_cv_ncurses_header:-curses.h}) -AC_TRY_COMPILE(CF__CURSES_HEAD,[ -void *foo = &($cf_data) -],[cf_result=yes +AC_TRY_COMPILE(CF__CURSES_HEAD, +CF__CURSES_DATA(foo,$cf_data) +,[cf_result=yes ],[cf_result=no]) AC_MSG_RESULT($cf_result) -if test $cf_result = yes ; then +if test "$cf_result" = yes ; then CF_UPPER(cf_result,have_curses_data_$cf_data) AC_DEFINE_UNQUOTED($cf_result) ifelse($2,,,[$2]) @@ -711,8 +787,7 @@ else extern char $cf_data; int main(void) { - void *foo = &($cf_data); - fprintf(stderr, "testing linkage of $cf_data:%p\n", (void *)foo); + ]CF__CURSES_DATA(foo,$cf_data)[ ${cf_cv_main_return:-return}(foo == 0); }],[cf_result=yes ],[cf_result=no],[ @@ -720,14 +795,13 @@ int main(void) AC_TRY_LINK(CF__CURSES_HEAD [extern char $cf_data;],[ do { - void *foo = &($cf_data); - fprintf(stderr, "testing linkage of $cf_data:%p\n", (void *)foo); + ]CF__CURSES_DATA(foo,$cf_data)[ ${cf_cv_main_return:-return}(foo == 0); } while (0) ],[cf_result=yes],[cf_result=no]) ]) AC_MSG_RESULT($cf_result) - if test $cf_result = yes ; then + if test "$cf_result" = yes ; then CF_UPPER(cf_result,decl_curses_data_$cf_data) AC_DEFINE_UNQUOTED($cf_result) # do not exit loop here, since we prefer system's declarations @@ -736,7 +810,7 @@ fi done ])dnl dnl --------------------------------------------------------------------------- -dnl CF_CURSES_CHECK_TYPE version: 4 updated: 2012/10/06 16:39:58 +dnl CF_CURSES_CHECK_TYPE version: 5 updated: 2021/01/04 19:45:09 dnl -------------------- dnl Check if curses.h defines the given type AC_DEFUN([CF_CURSES_CHECK_TYPE], @@ -750,7 +824,7 @@ AC_TRY_COMPILE([ $1 foo ],cf_result=yes,cf_result=no) AC_MSG_RESULT($cf_result) -if test $cf_result = yes ; then +if test "$cf_result" = yes ; then CF_UPPER(cf_result,have_type_$1) AC_DEFINE_UNQUOTED($cf_result,1,[Define to 1 if we have type $1]) else @@ -770,14 +844,14 @@ CF_NCURSES_VERSION CF_CURSES_LIBS ])dnl dnl --------------------------------------------------------------------------- -dnl CF_CURSES_CPPFLAGS version: 13 updated: 2018/06/20 20:23:13 +dnl CF_CURSES_CPPFLAGS version: 14 updated: 2021/01/02 09:31:20 dnl ------------------ dnl Look for the curses headers. AC_DEFUN([CF_CURSES_CPPFLAGS],[ AC_CACHE_CHECK(for extra include directories,cf_cv_curses_incdir,[ cf_cv_curses_incdir=no -case $host_os in +case "$host_os" in (hpux10.*) if test "x$cf_cv_screen" = "xcurses_colr" then @@ -804,7 +878,7 @@ CF_CURSES_HEADER CF_TERM_HEADER ])dnl dnl --------------------------------------------------------------------------- -dnl CF_CURSES_FUNCS version: 19 updated: 2018/01/03 04:47:33 +dnl CF_CURSES_FUNCS version: 20 updated: 2020/12/31 20:19:42 dnl --------------- dnl Curses-functions are a little complicated, since a lot of them are macros. AC_DEFUN([CF_CURSES_FUNCS], @@ -825,7 +899,7 @@ do [ #ifndef ${cf_func} long foo = (long)(&${cf_func}); -fprintf(stderr, "testing linkage of $cf_func:%p\n", (void *)foo); +fprintf(stderr, "testing linkage of $cf_func:%p\\n", (void *)foo); if (foo + 1234L > 5678L) ${cf_cv_main_return:-return}(foo != 0); #endif @@ -833,12 +907,12 @@ if (foo + 1234L > 5678L) [cf_result=yes], [cf_result=no]) fi - eval 'cf_cv_func_'$cf_func'=$cf_result' + eval 'cf_cv_func_'$cf_func'="$cf_result"' ]) # use the computed/retrieved cache-value: eval 'cf_result=$cf_cv_func_'$cf_func AC_MSG_RESULT($cf_result) - if test $cf_result != no; then + if test "$cf_result" != no; then AC_DEFINE_UNQUOTED(HAVE_${cf_tr_func}) fi done @@ -871,7 +945,7 @@ fi AC_CHECK_HEADERS($cf_cv_ncurses_header) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_CURSES_LIBS version: 42 updated: 2018/06/20 20:23:13 +dnl CF_CURSES_LIBS version: 44 updated: 2021/01/02 09:31:20 dnl -------------- dnl Look for the curses libraries. Older curses implementations may require dnl termcap/termlib to be linked as well. Call CF_CURSES_CPPFLAGS first. @@ -886,7 +960,7 @@ AC_TRY_LINK([#include <${cf_cv_ncurses_header:-curses.h}>], AC_MSG_RESULT($cf_result) if test "$cf_result" = no ; then -case $host_os in +case "$host_os" in (freebsd*) AC_CHECK_LIB(mytinfo,tgoto,[CF_ADD_LIBS(-lmytinfo)]) ;; @@ -954,7 +1028,7 @@ if test ".$ac_cv_func_initscr" != .yes ; then for cf_term_lib in $cf_check_list otermcap termcap tinfo termlib unknown do AC_CHECK_LIB($cf_term_lib,tgoto,[ - : ${cf_nculib_root:=$cf_term_lib} + : "${cf_nculib_root:=$cf_term_lib}" break ]) done @@ -975,7 +1049,7 @@ if test ".$ac_cv_func_initscr" != .yes ; then [cf_result=yes], [cf_result=no]) AC_MSG_RESULT($cf_result) - test $cf_result = yes && break + test "$cf_result" = yes && break elif test "$cf_curs_lib" = "$cf_term_lib" ; then cf_result=no elif test "$cf_term_lib" != predefined ; then @@ -991,17 +1065,17 @@ if test ".$ac_cv_func_initscr" != .yes ; then [cf_result=error]) ]) AC_MSG_RESULT($cf_result) - test $cf_result != error && break + test "$cf_result" != error && break fi done fi - test $cf_curs_lib = unknown && AC_MSG_ERROR(no curses library found) + test "$cf_curs_lib" = unknown && AC_MSG_ERROR(no curses library found) fi fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_CURSES_TERM_H version: 11 updated: 2015/04/15 19:08:48 +dnl CF_CURSES_TERM_H version: 15 updated: 2021/01/02 09:31:20 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, @@ -1018,9 +1092,9 @@ AC_CACHE_CHECK(for term.h, cf_cv_term_header,[ cf_header_list="term.h ncurses/term.h ncursesw/term.h" -case ${cf_cv_ncurses_header:-curses.h} in +case "${cf_cv_ncurses_header:-curses.h}" in (*/*) - cf_header_item=`echo ${cf_cv_ncurses_header:-curses.h} | sed -e 's%\..*%%' -e 's%/.*%/%'`term.h + cf_header_item=`echo "${cf_cv_ncurses_header:-curses.h}" | sed -e 's%\..*%%' -e 's%/.*%/%'`term.h cf_header_list="$cf_header_item $cf_header_list" ;; esac @@ -1030,13 +1104,13 @@ 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]) done -case $cf_cv_term_header in +case "$cf_cv_term_header" in (no) # If curses is ncurses, some packagers still mess it up by trying to make # us use GNU termcap. This handles the most common case. @@ -1049,7 +1123,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]) @@ -1058,7 +1132,7 @@ make an error esac ]) -case $cf_cv_term_header in +case "$cf_cv_term_header" in (term.h) AC_DEFINE(HAVE_TERM_H,1,[Define to 1 if we have term.h]) ;; @@ -1071,7 +1145,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: 8 updated: 2021/01/02 09:31:20 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 @@ -1088,9 +1162,9 @@ AC_CACHE_CHECK(for unctrl.h, cf_cv_unctrl_header,[ cf_header_list="unctrl.h ncurses/unctrl.h ncursesw/unctrl.h" -case ${cf_cv_ncurses_header:-curses.h} in +case "${cf_cv_ncurses_header:-curses.h}" in (*/*) - cf_header_item=`echo ${cf_cv_ncurses_header:-curses.h} | sed -e 's%\..*%%' -e 's%/.*%/%'`unctrl.h + cf_header_item=`echo "${cf_cv_ncurses_header:-curses.h}" | sed -e 's%\..*%%' -e 's%/.*%/%'`unctrl.h cf_header_list="$cf_header_item $cf_header_list" ;; esac @@ -1100,20 +1174,20 @@ 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]) done ]) -case $cf_cv_unctrl_header in +case "$cf_cv_unctrl_header" in (no) AC_MSG_WARN(unctrl.h header not found) ;; esac -case $cf_cv_unctrl_header in +case "$cf_cv_unctrl_header" in (unctrl.h) AC_DEFINE(HAVE_UNCTRL_H,1,[Define to 1 if we have unctrl.h]) ;; @@ -1126,7 +1200,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: 8 updated: 2021/01/04 19:45:09 dnl ------------------ dnl Check for likely values of wacs_map[]. AC_DEFUN([CF_CURSES_WACS_MAP], @@ -1140,7 +1214,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]) @@ -1148,7 +1222,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: 4 updated: 2021/01/04 19:45:09 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 @@ -1167,7 +1241,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([ @@ -1175,7 +1249,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 ]) @@ -1183,10 +1257,10 @@ fi test "$cf_cv_curses_wacs_symbols" != no && AC_DEFINE(CURSES_WACS_SYMBOLS,1,[Define to 1 if (n)curses supports wide-character WACS_ symbols]) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_DIRNAME version: 4 updated: 2002/12/21 19:25:52 +dnl CF_DIRNAME version: 5 updated: 2020/12/31 20:19:42 dnl ---------- dnl "dirname" is not portable, so we fake it with a shell script. -AC_DEFUN([CF_DIRNAME],[$1=`echo $2 | sed -e 's%/[[^/]]*$%%'`])dnl +AC_DEFUN([CF_DIRNAME],[$1=`echo "$2" | sed -e 's%/[[^/]]*$%%'`])dnl dnl --------------------------------------------------------------------------- dnl CF_DISABLE_ECHO version: 13 updated: 2015/04/18 08:56:57 dnl --------------- @@ -1225,7 +1299,7 @@ AC_SUBST(SHOW_CC) AC_SUBST(ECHO_CC) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_DISABLE_LEAKS version: 7 updated: 2012/10/02 20:55:03 +dnl CF_DISABLE_LEAKS version: 9 updated: 2021/04/03 16:41:50 dnl ---------------- dnl Combine no-leak checks with the libraries or tools that are used for the dnl checks. @@ -1238,17 +1312,19 @@ AC_REQUIRE([CF_WITH_VALGRIND]) AC_MSG_CHECKING(if you want to perform memory-leak testing) AC_ARG_ENABLE(leaks, [ --disable-leaks test: free permanent memory, analyze leaks], - [if test "x$enableval" = xno; then with_no_leaks=yes; else with_no_leaks=no; fi], - : ${with_no_leaks:=no}) + [enable_leaks=$enableval], + [enable_leaks=yes]) +dnl with_no_leaks is more readable... +if test "x$enable_leaks" = xno; then with_no_leaks=yes; else with_no_leaks=no; fi AC_MSG_RESULT($with_no_leaks) -if test "$with_no_leaks" = yes ; then +if test "$enable_leaks" = no ; then AC_DEFINE(NO_LEAKS,1,[Define to 1 if you want to perform memory-leak testing.]) AC_DEFINE(YY_NO_LEAKS,1,[Define to 1 if you want to perform memory-leak testing.]) fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_DISABLE_RPATH_HACK version: 2 updated: 2011/02/13 13:31:33 +dnl CF_DISABLE_RPATH_HACK version: 3 updated: 2021/01/05 20:14:44 dnl --------------------- dnl The rpath-hack makes it simpler to build programs, particularly with the dnl *BSD ports which may have essential libraries in unusual places. But it @@ -1259,15 +1335,18 @@ AC_DEFUN([CF_DISABLE_RPATH_HACK], AC_MSG_CHECKING(if rpath-hack should be disabled) CF_ARG_DISABLE(rpath-hack, [ --disable-rpath-hack don't add rpath options for additional libraries], - [cf_disable_rpath_hack=yes], - [cf_disable_rpath_hack=no]) + [enable_rpath_hack=no], + [enable_rpath_hack=yes]) +dnl TODO - drop cf_disable_rpath_hack +if test "x$enable_rpath_hack" = xno; then cf_disable_rpath_hack=yes; else cf_disable_rpath_hack=no; fi AC_MSG_RESULT($cf_disable_rpath_hack) -if test "$cf_disable_rpath_hack" = no ; then + +if test "$enable_rpath_hack" = yes ; then CF_RPATH_HACK fi ]) dnl --------------------------------------------------------------------------- -dnl CF_ENABLE_STRING_HACKS version: 5 updated: 2016/10/08 17:34:11 +dnl CF_ENABLE_STRING_HACKS version: 6 updated: 2021/01/05 19:23:48 dnl ---------------------- dnl On a few platforms, the compiler and/or loader nags with untruthful dnl comments stating that "most" uses of strcat/strcpy/sprintf are incorrect, @@ -1287,11 +1366,11 @@ AC_DEFUN([CF_ENABLE_STRING_HACKS], AC_MSG_CHECKING(if you want to work around bogus compiler/loader warnings) AC_ARG_ENABLE(string-hacks, [ --enable-string-hacks work around bogus compiler/loader warnings], - [with_string_hacks=$enableval], - [with_string_hacks=no]) -AC_MSG_RESULT($with_string_hacks) + [enable_string_hacks=$enableval], + [enable_string_hacks=no]) +AC_MSG_RESULT($enable_string_hacks) -if test "x$with_string_hacks" = "xyes"; then +if test "x$enable_string_hacks" = "xyes"; then AC_DEFINE(USE_STRING_HACKS,1,[Define to 1 to work around bogus compiler/loader warnings]) AC_MSG_WARN(enabling string-hacks to work around bogus compiler/loader warnings) AC_CHECK_FUNC(strlcat,[ @@ -1307,27 +1386,37 @@ 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: 9 updated: 2021/01/05 19:40:50 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 ) +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], - [with_warnings=yes], - [with_warnings=no]) -AC_MSG_RESULT($with_warnings) -if test "$with_warnings" = "yes" + [enable_warnings=yes], + [enable_warnings=no]) +AC_MSG_RESULT($enable_warnings) +if test "$enable_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 --------------------------------------------------------------------------- -dnl CF_FIND_LIBRARY version: 9 updated: 2008/03/23 14:48:54 +dnl CF_FIND_LIBRARY version: 11 updated: 2021/01/02 09:31:20 dnl --------------- dnl Look for a non-standard library, given parameters for AC_TRY_LINK. We dnl prefer a standard location, and use -L options only if we do not find the @@ -1343,16 +1432,16 @@ dnl Sets the variable "$cf_libdir" as a side-effect, so we can see if we had dnl to use a -L option. AC_DEFUN([CF_FIND_LIBRARY], [ - eval 'cf_cv_have_lib_'$1'=no' + eval 'cf_cv_have_lib_'"$1"'=no' cf_libdir="" AC_CHECK_FUNC($5, - eval 'cf_cv_have_lib_'$1'=yes',[ + eval 'cf_cv_have_lib_'"$1"'=yes',[ cf_save_LIBS="$LIBS" AC_MSG_CHECKING(for $5 in -l$1) LIBS="-l$1 $LIBS" AC_TRY_LINK([$3],[$4], [AC_MSG_RESULT(yes) - eval 'cf_cv_have_lib_'$1'=yes' + eval 'cf_cv_have_lib_'"$1"'=yes' ], [AC_MSG_RESULT(no) CF_LIBRARY_PATH(cf_search,$2) @@ -1362,22 +1451,22 @@ AC_DEFUN([CF_FIND_LIBRARY], LIBS="-L$cf_libdir -l$1 $cf_save_LIBS" AC_TRY_LINK([$3],[$4], [AC_MSG_RESULT(yes) - eval 'cf_cv_have_lib_'$1'=yes' + eval 'cf_cv_have_lib_'"$1"'=yes' break], [AC_MSG_RESULT(no) LIBS="$cf_save_LIBS"]) done ]) ]) -eval 'cf_found_library=[$]cf_cv_have_lib_'$1 +eval 'cf_found_library="[$]cf_cv_have_lib_'"$1"\" ifelse($6,,[ -if test $cf_found_library = no ; then +if test "$cf_found_library" = no ; then AC_MSG_ERROR(Cannot link $1 library) fi ]) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_FIND_LINKAGE version: 21 updated: 2018/06/20 20:23:13 +dnl CF_FIND_LINKAGE version: 22 updated: 2020/12/31 20:19:42 dnl --------------- dnl Find a library (specifically the linkage used in the code fragment), dnl searching for it if it is not already in the library path. @@ -1434,7 +1523,7 @@ AC_TRY_LINK([$1],[$2],[ CF_HEADER_PATH(cf_search,ifelse([$6],,[$3],[$6])) for cf_cv_header_path_$3 in $cf_search do - if test -d $cf_cv_header_path_$3 ; then + if test -d "$cf_cv_header_path_$3" ; then CF_VERBOSE(... testing $cf_cv_header_path_$3) CPPFLAGS="$cf_save_CPPFLAGS" CF_APPEND_TEXT(CPPFLAGS,-I$cf_cv_header_path_$3) @@ -1469,7 +1558,7 @@ AC_TRY_LINK([$1],[$2],[ CF_LIBRARY_PATH(cf_search,$3) for cf_cv_library_path_$3 in $cf_search do - if test -d $cf_cv_library_path_$3 ; then + if test -d "$cf_cv_library_path_$3" ; then CF_VERBOSE(... testing $cf_cv_library_path_$3) CPPFLAGS="$cf_test_CPPFLAGS" LIBS="-l$3 $7 $cf_save_LIBS" @@ -1508,7 +1597,41 @@ ifelse([$5],,AC_MSG_WARN(Cannot find $3 library),[$5]) fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_FUNC_CURSES_VERSION version: 7 updated: 2017/05/10 18:31:29 +dnl CF_FIX_WARNINGS version: 3 updated: 2020/12/31 18:40:20 +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: 8 updated: 2021/01/02 09:31:20 dnl ---------------------- dnl Solaris has a data item 'curses_version', which confuses AC_CHECK_FUNCS. dnl It's a character string "SVR4", not documented. @@ -1520,7 +1643,7 @@ AC_TRY_RUN([ int main(void) { char temp[1024]; - sprintf(temp, "%s\n", curses_version()); + sprintf(temp, "%s\\n", curses_version()); ${cf_cv_main_return:-return}(0); }] ,[cf_cv_func_curses_version=yes] @@ -1530,7 +1653,7 @@ rm -f core]) test "$cf_cv_func_curses_version" = yes && AC_DEFINE(HAVE_CURSES_VERSION,1,[Define to 1 if we have curses_version function]) ]) dnl --------------------------------------------------------------------------- -dnl CF_FUNC_OPENPTY version: 5 updated: 2015/09/12 14:46:50 +dnl CF_FUNC_OPENPTY version: 6 updated: 2021/01/01 13:31:04 dnl --------------- dnl Check for openpty() function, along with header. It may need the dnl "util" library as well. @@ -1539,7 +1662,7 @@ AC_DEFUN([CF_FUNC_OPENPTY], AC_CHECK_LIB(util,openpty,cf_cv_lib_util=yes,cf_cv_lib_util=no) AC_CACHE_CHECK(for openpty header,cf_cv_func_openpty,[ cf_save_LIBS="$LIBS" - test $cf_cv_lib_util = yes && { CF_ADD_LIB(util) } + test "$cf_cv_lib_util" = yes && { CF_ADD_LIB(util) } for cf_header in pty.h libutil.h util.h do AC_TRY_LINK([ @@ -1558,14 +1681,16 @@ 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: 24 updated: 2021/03/20 12:00:25 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 +[AC_REQUIRE([AC_PROG_FGREP])dnl +AC_REQUIRE([CF_C11_NORETURN])dnl + +if test "$GCC" = yes || test "$GXX" = yes then cat > conftest.i < conftest.$ac_ext < "conftest.$ac_ext" < conftest.$ac_ext <&AC_FD_CC - case $cf_attribute in + case "$cf_attribute" in (printf) cf_printf_attribute=yes cat >conftest.h <>confdefs.h - case $cf_attribute in + case "$cf_attribute" in (noreturn) AC_DEFINE_UNQUOTED(GCC_NORETURN,$cf_directive,[Define to noreturn-attribute for gcc]) ;; @@ -1662,9 +1787,9 @@ EOF fi done else - fgrep define conftest.i >>confdefs.h + ${FGREP-fgrep} define conftest.i >>confdefs.h fi -rm -rf conftest* +rm -rf ./conftest* fi ])dnl dnl --------------------------------------------------------------------------- @@ -1685,7 +1810,7 @@ CF_INTEL_COMPILER(GCC,INTEL_COMPILER,CFLAGS) CF_CLANG_COMPILER(GCC,CLANG_COMPILER,CFLAGS) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_GCC_WARNINGS version: 37 updated: 2020/01/05 20:04:12 +dnl CF_GCC_WARNINGS version: 41 updated: 2021/01/01 16:53:59 dnl --------------- dnl Check if the compiler supports useful warning options. There's a few that dnl we don't use, simply because they're too noisy: @@ -1709,7 +1834,7 @@ AC_DEFUN([CF_GCC_WARNINGS], [ AC_REQUIRE([CF_GCC_VERSION]) if test "x$have_x" = xyes; then CF_CONST_X_STRING fi -cat > conftest.$ac_ext < "conftest.$ac_ext" <conftest.in mkdir conftest.out sleep 3 @@ -2067,11 +2191,11 @@ AC_CACHE_CHECK(if install accepts -p option, cf_cv_install_p,[ else cf_cv_install_p=no fi - rm -rf conftest* + rm -rf ./conftest* ]) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_INSTALL_OPT_S version: 2 updated: 2018/08/18 12:19:21 +dnl CF_INSTALL_OPT_S version: 3 updated: 2021/01/05 19:23:48 dnl ---------------- dnl By default, we should strip executables which are installed, but leave the dnl ability to suppress that for unit-testing. @@ -2080,11 +2204,11 @@ AC_DEFUN([CF_INSTALL_OPT_S], AC_MSG_CHECKING(if you want to install stripped executables) CF_ARG_DISABLE(stripping, [ --disable-stripping do not strip (debug info) installed executables], - [with_stripping=no], - [with_stripping=yes]) -AC_MSG_RESULT($with_stripping) + [enable_stripping=no], + [enable_stripping=yes]) +AC_MSG_RESULT($enable_stripping) -if test "$with_stripping" = yes +if test "$enable_stripping" = yes then INSTALL_OPT_S="-s" else @@ -2093,7 +2217,7 @@ fi AC_SUBST(INSTALL_OPT_S) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_INTEL_COMPILER version: 7 updated: 2015/04/12 15:39:00 +dnl CF_INTEL_COMPILER version: 8 updated: 2021/01/01 16:53:59 dnl ----------------- dnl Check if the given compiler is really the Intel compiler for Linux. It dnl tries to imitate gcc, but does not return an error when it finds a mismatch @@ -2111,7 +2235,7 @@ AC_REQUIRE([AC_CANONICAL_HOST]) ifelse([$2],,INTEL_COMPILER,[$2])=no if test "$ifelse([$1],,[$1],GCC)" = yes ; then - case $host_os in + case "$host_os" in (linux*|gnu*) AC_MSG_CHECKING(if this is really Intel ifelse([$1],GXX,C++,C) compiler) cf_save_CFLAGS="$ifelse([$3],,CFLAGS,[$3])" @@ -2131,7 +2255,7 @@ cf_save_CFLAGS="$cf_save_CFLAGS -we147" fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_LD_RPATH_OPT version: 8 updated: 2018/08/18 16:36:35 +dnl CF_LD_RPATH_OPT version: 9 updated: 2021/01/01 13:31:04 dnl --------------- dnl For the given system and compiler, find the compiler flags to pass to the dnl loader to use the "rpath" feature. @@ -2143,7 +2267,7 @@ LD_RPATH_OPT= if test "x$cf_cv_enable_rpath" != xno then AC_MSG_CHECKING(for an rpath option) - case $cf_cv_system_name in + case "$cf_cv_system_name" in (irix*) if test "$GCC" = yes; then LD_RPATH_OPT="-Wl,-rpath," @@ -2188,7 +2312,7 @@ then fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_LIBRARY_PATH version: 10 updated: 2015/04/15 19:08:48 +dnl CF_LIBRARY_PATH version: 11 updated: 2021/01/01 13:31:04 dnl --------------- dnl Construct a search-list of directories for a nonstandard library-file dnl @@ -2202,7 +2326,7 @@ cf_library_path_list="" if test -n "${LDFLAGS}${LIBS}" ; then for cf_library_path in $LDFLAGS $LIBS do - case $cf_library_path in + case "$cf_library_path" in (-L*) cf_library_path=`echo ".$cf_library_path" |sed -e 's/^...//' -e 's,/lib$,,'` CF_ADD_SUBDIR_PATH($1,$2,lib,$cf_library_path,NONE) @@ -2254,7 +2378,7 @@ AC_SUBST(MAKE_UPPER_TAGS) AC_SUBST(MAKE_LOWER_TAGS) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_MATH_LIB version: 9 updated: 2017/01/21 11:06:25 +dnl CF_MATH_LIB version: 10 updated: 2020/12/31 18:40:20 dnl ----------- dnl Checks for libraries. At least one UNIX system, Apple Macintosh dnl Rhapsody 5.5, does not have -lm. We cannot use the simpler @@ -2268,7 +2392,7 @@ AC_CACHE_CHECK(if -lm needed for math functions, #include #include ], - [double x = rand(); printf("result = %g\n", ]ifelse([$2],,sin(x),$2)[)], + [double x = rand(); printf("result = %g\\n", ]ifelse([$2],,sin(x),$2)[)], [cf_cv_need_libm=no], [cf_cv_need_libm=yes])]) if test "$cf_cv_need_libm" = yes @@ -2279,7 +2403,7 @@ ifelse($1,,[ fi ]) dnl --------------------------------------------------------------------------- -dnl CF_MIXEDCASE_FILENAMES version: 7 updated: 2015/04/12 15:39:00 +dnl CF_MIXEDCASE_FILENAMES version: 9 updated: 2021/01/01 16:53:59 dnl ---------------------- dnl Check if the file-system supports mixed-case filenames. If we're able to dnl create a lowercase name and see it as uppercase, it doesn't support that. @@ -2287,8 +2411,8 @@ AC_DEFUN([CF_MIXEDCASE_FILENAMES], [ AC_CACHE_CHECK(if filesystem supports mixed-case filenames,cf_cv_mixedcase,[ if test "$cross_compiling" = yes ; then - case $target_alias in - (*-os2-emx*|*-msdosdjgpp*|*-cygwin*|*-msys*|*-mingw*|*-uwin*) + case "$target_alias" in + (*-os2-emx*|*-msdosdjgpp*|*-cygwin*|*-msys*|*-mingw*|*-uwin*|darwin*) cf_cv_mixedcase=no ;; (*) @@ -2317,7 +2441,7 @@ AC_DEFUN([CF_MSG_LOG],[ echo "${as_me:-configure}:__oline__: testing $* ..." 1>&AC_FD_CC ])dnl dnl --------------------------------------------------------------------------- -dnl CF_NCURSES_CC_CHECK version: 4 updated: 2007/07/29 10:39:05 +dnl CF_NCURSES_CC_CHECK version: 5 updated: 2020/12/31 20:19:42 dnl ------------------- dnl Check if we can compile with ncurses' header file dnl $1 is the cache variable to set @@ -2337,10 +2461,10 @@ AC_DEFUN([CF_NCURSES_CC_CHECK],[ make an error #endif ])[ -printf("%s\n", NCURSES_VERSION); +printf("%s\\n", NCURSES_VERSION); #else #ifdef __NCURSES_H -printf("old\n"); +printf("old\\n"); #else make an error #endif @@ -2350,7 +2474,7 @@ printf("old\n"); ,[$1=no]) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_NCURSES_CONFIG version: 21 updated: 2018/06/20 20:23:13 +dnl CF_NCURSES_CONFIG version: 26 updated: 2021/01/03 08:05:37 dnl ----------------- dnl Tie together the configure-script macros for ncurses, preferring these in dnl order: @@ -2372,14 +2496,50 @@ if test "x${PKG_CONFIG:=none}" != xnone; then AC_MSG_CHECKING(if the $cf_ncuconfig_root package files work) cf_have_ncuconfig=unknown + cf_save_CFLAGS="$CFLAGS" cf_save_CPPFLAGS="$CPPFLAGS" cf_save_LIBS="$LIBS" - CF_ADD_CFLAGS(`$PKG_CONFIG --cflags $cf_ncuconfig_root`) - CF_ADD_LIBS(`$PKG_CONFIG --libs $cf_ncuconfig_root`) + cf_pkg_cflags="`$PKG_CONFIG --cflags $cf_ncuconfig_root`" + cf_pkg_libs="`$PKG_CONFIG --libs $cf_ncuconfig_root`" + + # while -W for passing linker flags is prevalent, it is not "standard". + # At least one wrapper for c89/c99 (in Apple's xcode) has its own + # incompatible _and_ non-standard -W option which gives an error. Work + # around that pitfall. + case "x${CC}@@${cf_pkg_libs}@${cf_pkg_cflags}" in + (x*c[[89]]9@@*-W*) + CF_ADD_CFLAGS($cf_pkg_cflags) + CF_ADD_LIBS($cf_pkg_libs) + + AC_TRY_LINK([#include <${cf_cv_ncurses_header:-curses.h}>], + [initscr(); mousemask(0,0); tigetstr((char *)0);], + [AC_TRY_RUN([#include <${cf_cv_ncurses_header:-curses.h}> + int main(void) + { char *xx = curses_version(); return (xx == 0); }], + [cf_test_ncuconfig=yes], + [cf_test_ncuconfig=no], + [cf_test_ncuconfig=maybe])], + [cf_test_ncuconfig=no]) + + CFLAGS="$cf_save_CFLAGS" + CPPFLAGS="$cf_save_CPPFLAGS" + LIBS="$cf_save_LIBS" + + if test "x$cf_test_ncuconfig" != xyes; then + cf_temp=`echo "x$cf_pkg_cflags" | sed -e s/^x// -e 's/-W[[^ ]]*//g'` + cf_pkg_cflags="$cf_temp" + cf_temp=`echo "x$cf_pkg_libs" | sed -e s/^x// -e 's/-W[[^ ]]*//g'` + cf_pkg_libs="$cf_temp" + fi + ;; + esac + + CF_ADD_CFLAGS($cf_pkg_cflags) + CF_ADD_LIBS($cf_pkg_libs) AC_TRY_LINK([#include <${cf_cv_ncurses_header:-curses.h}>], - [initscr(); mousemask(0,0); tgoto((char *)0, 0, 0);], + [initscr(); mousemask(0,0); tigetstr((char *)0);], [AC_TRY_RUN([#include <${cf_cv_ncurses_header:-curses.h}> int main(void) { char *xx = curses_version(); return (xx == 0); }], @@ -2431,7 +2591,7 @@ if test "x$cf_have_ncuconfig" = "xno"; then AC_DEFINE_UNQUOTED($cf_nculib_ROOT) dnl like CF_NCURSES_VERSION - cf_cv_ncurses_version=`$NCURSES_CONFIG --version` + cf_cv_ncurses_version="`$NCURSES_CONFIG --version`" else @@ -2444,7 +2604,7 @@ else fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_NCURSES_CPPFLAGS version: 21 updated: 2012/10/06 08:57:51 +dnl CF_NCURSES_CPPFLAGS version: 22 updated: 2021/01/02 09:31:20 dnl ------------------- dnl Look for the SVr4 curses clone 'ncurses' in the standard places, adjusting dnl the CPPFLAGS variable so we can include its header. @@ -2478,7 +2638,7 @@ test "$cf_cv_curses_dir" != "no" && { \ AC_CACHE_CHECK(for $cf_ncuhdr_root header in include-path, cf_cv_ncurses_h,[ cf_header_list="$cf_ncuhdr_root/curses.h $cf_ncuhdr_root/ncurses.h" - ( test "$cf_ncuhdr_root" = ncurses || test "$cf_ncuhdr_root" = ncursesw ) && cf_header_list="$cf_header_list curses.h ncurses.h" + { test "$cf_ncuhdr_root" = ncurses || test "$cf_ncuhdr_root" = ncursesw; } && cf_header_list="$cf_header_list curses.h ncurses.h" for cf_header in $cf_header_list do CF_NCURSES_CC_CHECK(cf_cv_ncurses_h,$cf_header,$1) @@ -2530,7 +2690,7 @@ AC_TRY_LINK([ test "$cf_cv_ncurses_ext_funcs" = yes && AC_DEFINE(NCURSES_EXT_FUNCS,1,[Define to 1 if we have ncurses extensions]) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_NCURSES_HEADER version: 4 updated: 2015/04/15 19:08:48 +dnl CF_NCURSES_HEADER version: 7 updated: 2021/01/04 19:33:05 dnl ----------------- dnl Find a "curses" header file, e.g,. "curses.h", or one of the more common dnl variations of ncurses' installs. @@ -2545,7 +2705,7 @@ else AC_CACHE_CHECK(for $cf_ncuhdr_root include-path, cf_cv_ncurses_h2,[ test -n "$verbose" && echo CF_HEADER_PATH(cf_search,$cf_ncuhdr_root) - test -n "$verbose" && echo search path $cf_search + test -n "$verbose" && echo "search path $cf_search" cf_save2_CPPFLAGS="$CPPFLAGS" for cf_incdir in $cf_search do @@ -2557,7 +2717,7 @@ AC_CACHE_CHECK(for $cf_ncuhdr_root include-path, cf_cv_ncurses_h2,[ CF_NCURSES_CC_CHECK(cf_cv_ncurses_h2,$cf_header,$1) if test "$cf_cv_ncurses_h2" != no ; then cf_cv_ncurses_h2=$cf_incdir/$cf_header - test -n "$verbose" && echo $ac_n " ... found $ac_c" 1>&AC_FD_MSG + test -n "$verbose" && echo $ECHO_N " ... found $ECHO_C" 1>&AC_FD_MSG break fi test -n "$verbose" && echo " ... tested $cf_incdir/$cf_header" 1>&AC_FD_MSG @@ -2569,9 +2729,9 @@ AC_CACHE_CHECK(for $cf_ncuhdr_root include-path, cf_cv_ncurses_h2,[ ]) CF_DIRNAME(cf_1st_incdir,$cf_cv_ncurses_h2) - cf_cv_ncurses_header=`basename $cf_cv_ncurses_h2` - if test `basename $cf_1st_incdir` = $cf_ncuhdr_root ; then - cf_cv_ncurses_header=$cf_ncuhdr_root/$cf_cv_ncurses_header + cf_cv_ncurses_header="`basename "$cf_cv_ncurses_h2"`" + if test "`basename "$cf_1st_incdir"`" = "$cf_ncuhdr_root" ; then + cf_cv_ncurses_header="$cf_ncuhdr_root/$cf_cv_ncurses_header" fi CF_ADD_INCDIR($cf_1st_incdir) @@ -2579,13 +2739,13 @@ fi # Set definitions to allow ifdef'ing for ncurses.h -case $cf_cv_ncurses_header in +case "$cf_cv_ncurses_header" in (*ncurses.h) AC_DEFINE(HAVE_NCURSES_H,1,[Define to 1 if we have ncurses.h]) ;; esac -case $cf_cv_ncurses_header in +case "$cf_cv_ncurses_header" in (ncurses/curses.h|ncurses/ncurses.h) AC_DEFINE(HAVE_NCURSES_NCURSES_H,1,[Define to 1 if we have ncurses/ncurses.h]) ;; @@ -2596,7 +2756,7 @@ esac ])dnl dnl --------------------------------------------------------------------------- -dnl CF_NCURSES_LIBS version: 17 updated: 2015/04/15 19:08:48 +dnl CF_NCURSES_LIBS version: 20 updated: 2021/01/03 08:05:37 dnl --------------- dnl Look for the ncurses library. This is a little complicated on Linux, dnl because it may be linked with the gpm (general purpose mouse) library. @@ -2622,7 +2782,7 @@ AC_CHECK_LIB(gpm,Gpm_Open, [LIBS="$cf_ncurses_SAVE"], [cf_ncurses_LIBS="-lgpm"])]) -case $host_os in +case "$host_os" in (freebsd*) # This is only necessary if you are linking against an obsolete # version of ncurses (but it should do no harm, since it's static). @@ -2634,7 +2794,7 @@ esac CF_ADD_LIBS($cf_ncurses_LIBS) -if ( test -n "$cf_cv_curses_dir" && test "$cf_cv_curses_dir" != "no" ) +if test -n "$cf_cv_curses_dir" && test "$cf_cv_curses_dir" != "no" then CF_ADD_LIBS(-l$cf_nculib_root) else @@ -2648,13 +2808,13 @@ if test -n "$cf_ncurses_LIBS" ; then AC_MSG_CHECKING(if we can link $cf_nculib_root without $cf_ncurses_LIBS) cf_ncurses_SAVE="$LIBS" for p in $cf_ncurses_LIBS ; do - q=`echo $LIBS | sed -e "s%$p %%" -e "s%$p$%%"` + q=`echo "$LIBS" | sed -e "s%$p %%" -e "s%$p$%%"` if test "$q" != "$LIBS" ; then LIBS="$q" fi done AC_TRY_LINK([#include <${cf_cv_ncurses_header:-curses.h}>], - [initscr(); mousemask(0,0); tgoto((char *)0, 0, 0);], + [initscr(); mousemask(0,0); tigetstr((char *)0);], [AC_MSG_RESULT(yes)], [AC_MSG_RESULT(no) LIBS="$cf_ncurses_SAVE"]) @@ -2679,7 +2839,7 @@ then fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_NCURSES_VERSION version: 15 updated: 2017/05/09 19:26:10 +dnl CF_NCURSES_VERSION version: 16 updated: 2020/12/31 20:19:42 dnl ------------------ dnl Check for the version of ncurses, to aid in reporting bugs, etc. dnl Call CF_CURSES_CPPFLAGS first, or CF_NCURSES_CPPFLAGS. We don't use @@ -2690,7 +2850,7 @@ AC_REQUIRE([CF_CURSES_CPPFLAGS])dnl AC_CACHE_CHECK(for ncurses version, cf_cv_ncurses_version,[ cf_cv_ncurses_version=no cf_tempfile=out$$ - rm -f $cf_tempfile + rm -f "$cf_tempfile" AC_TRY_RUN([ #include <${cf_cv_ncurses_header:-curses.h}> #include @@ -2699,13 +2859,13 @@ int main(void) FILE *fp = fopen("$cf_tempfile", "w"); #ifdef NCURSES_VERSION # ifdef NCURSES_VERSION_PATCH - fprintf(fp, "%s.%d\n", NCURSES_VERSION, NCURSES_VERSION_PATCH); + fprintf(fp, "%s.%d\\n", NCURSES_VERSION, NCURSES_VERSION_PATCH); # else - fprintf(fp, "%s\n", NCURSES_VERSION); + fprintf(fp, "%s\\n", NCURSES_VERSION); # endif #else # ifdef __NCURSES_H - fprintf(fp, "old\n"); + fprintf(fp, "old\\n"); # else make an error # endif @@ -2716,7 +2876,7 @@ int main(void) # This will not work if the preprocessor splits the line after the # Autoconf token. The 'unproto' program does that. - cat > conftest.$ac_ext < "conftest.$ac_ext" < #undef Autoconf #ifdef NCURSES_VERSION @@ -2731,12 +2891,12 @@ EOF cf_try="$ac_cpp conftest.$ac_ext 2>&AC_FD_CC | grep '^Autoconf ' >conftest.out" AC_TRY_EVAL(cf_try) if test -f conftest.out ; then - cf_out=`cat conftest.out | sed -e 's%^Autoconf %%' -e 's%^[[^"]]*"%%' -e 's%".*%%'` + cf_out=`sed -e 's%^Autoconf %%' -e 's%^[[^"]]*"%%' -e 's%".*%%' conftest.out` test -n "$cf_out" && cf_cv_ncurses_version="$cf_out" rm -f conftest.out fi ]) - rm -f $cf_tempfile + rm -f "$cf_tempfile" ]) test "$cf_cv_ncurses_version" = no || AC_DEFINE(NCURSES,1,[Define to 1 if we are using ncurses headers/libraries]) ])dnl @@ -2796,7 +2956,7 @@ AC_TRY_COMPILE([ test "$cf_cv_netbsd_menu_h" = yes && AC_DEFINE(HAVE_NETBSD_MENU_H,1,[Define to 1 if we appear to be using NetBSD menu.h]) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_NO_LEAKS_OPTION version: 6 updated: 2015/04/12 15:39:00 +dnl CF_NO_LEAKS_OPTION version: 8 updated: 2021/01/05 20:05:09 dnl ------------------ dnl see CF_WITH_NO_LEAKS AC_DEFUN([CF_NO_LEAKS_OPTION],[ @@ -2806,13 +2966,13 @@ AC_ARG_WITH($1, [AC_DEFINE_UNQUOTED($3,1,"Define to 1 if you want to use $1 for testing.")ifelse([$4],,[ $4 ]) - : ${with_cflags:=-g} - : ${with_no_leaks:=yes} + : "${with_cflags:=-g}" + : "${enable_leaks:=no}" with_$1=yes], [with_$1=]) AC_MSG_RESULT(${with_$1:-no}) -case .$with_cflags in +case ".$with_cflags" in (.*-g*) case .$CFLAGS in (.*-g*) @@ -2825,7 +2985,7 @@ case .$with_cflags in esac ])dnl dnl --------------------------------------------------------------------------- -dnl CF_PATH_SYNTAX version: 16 updated: 2015/04/18 08:56:57 +dnl CF_PATH_SYNTAX version: 18 updated: 2020/12/31 18:40:20 dnl -------------- dnl Check the argument to see that it looks like a pathname. Rewrite it if it dnl begins with one of the prefix/exec_prefix variables, and then again if the @@ -2845,16 +3005,16 @@ case ".[$]$1" in ;; (.[[a-zA-Z]]:[[\\/]]*) # OS/2 EMX ;; -(.\[$]{*prefix}*|.\[$]{*dir}*) +(.\[$]\{*prefix\}*|.\[$]\{*dir\}*) eval $1="[$]$1" case ".[$]$1" in (.NONE/*) - $1=`echo [$]$1 | sed -e s%NONE%$cf_path_syntax%` + $1=`echo "[$]$1" | sed -e s%NONE%$cf_path_syntax%` ;; esac ;; (.no|.NONE/*) - $1=`echo [$]$1 | sed -e s%NONE%$cf_path_syntax%` + $1=`echo "[$]$1" | sed -e s%NONE%$cf_path_syntax%` ;; (*) ifelse([$2],,[AC_MSG_ERROR([expected a pathname, not \"[$]$1\"])],$2) @@ -2862,7 +3022,7 @@ case ".[$]$1" in esac ])dnl dnl --------------------------------------------------------------------------- -dnl CF_PDCURSES_X11 version: 14 updated: 2018/06/20 20:23:13 +dnl CF_PDCURSES_X11 version: 15 updated: 2021/01/02 09:31:20 dnl --------------- dnl Configure for PDCurses' X11 library AC_DEFUN([CF_PDCURSES_X11],[ @@ -2898,7 +3058,7 @@ char *XCursesProgramName = "test"; fi -if test $cf_cv_lib_XCurses = yes ; then +if test "$cf_cv_lib_XCurses" = yes ; then AC_DEFINE(UNIX,1,[Define to 1 if using PDCurses on Unix]) AC_DEFINE(XCURSES,1,[Define to 1 if using PDCurses on Unix]) AC_CHECK_HEADER(xcurses.h, AC_DEFINE(HAVE_XCURSES,1,[Define to 1 if using PDCurses on Unix])) @@ -2907,7 +3067,7 @@ else fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_PKG_CONFIG version: 10 updated: 2015/04/26 18:06:58 +dnl CF_PKG_CONFIG version: 11 updated: 2021/01/01 13:31:04 dnl ------------- dnl Check for the package-config program, unless disabled by command-line. AC_DEFUN([CF_PKG_CONFIG], @@ -2919,7 +3079,7 @@ AC_ARG_WITH(pkg-config, [cf_pkg_config=yes]) AC_MSG_RESULT($cf_pkg_config) -case $cf_pkg_config in +case "$cf_pkg_config" in (no) PKG_CONFIG=none ;; @@ -3049,7 +3209,7 @@ AC_TRY_COMPILE([#include ],[ ]) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_PRG_RULES version: 1 updated: 2006/06/03 11:45:08 +dnl CF_PRG_RULES version: 2 updated: 2021/01/01 13:31:04 dnl ------------ dnl Append definitions and rules for the given programs to the subdirectory dnl Makefiles, and the recursion rule for the top-level Makefile. @@ -3064,10 +3224,10 @@ AC_DEFUN([CF_PRG_RULES], [ for cf_dir in $2 do - if test ! -d $srcdir/$cf_dir; then + if test ! -d "$srcdir/$cf_dir" ; then continue - elif test -f $srcdir/$cf_dir/programs; then - $AWK -f $1 $srcdir/$cf_dir/programs >>$cf_dir/Makefile + elif test -f "$srcdir/$cf_dir/programs" ; then + $AWK -f $1 "$srcdir/$cf_dir/programs" >>$cf_dir/Makefile fi done @@ -3090,7 +3250,7 @@ CF_ACVERSION_CHECK(2.52, CF_CC_ENV_FLAGS ])dnl dnl --------------------------------------------------------------------------- -dnl CF_PROG_INSTALL version: 7 updated: 2015/04/18 08:56:57 +dnl CF_PROG_INSTALL version: 10 updated: 2021/01/04 19:33:05 dnl --------------- dnl Force $INSTALL to be an absolute-path. Otherwise, edit_man.sh and the dnl misc/tabset install won't work properly. Usually this happens only when @@ -3103,7 +3263,7 @@ case $INSTALL in (*) CF_DIRNAME(cf_dir,$INSTALL) test -z "$cf_dir" && cf_dir=. - INSTALL=`cd $cf_dir && pwd`/`echo $INSTALL | sed -e 's%^.*/%%'` + INSTALL="`cd \"$cf_dir\" && pwd`"/"`echo "$INSTALL" | sed -e 's%^.*/%%'`" ;; esac ])dnl @@ -3149,11 +3309,12 @@ CFLAGS="$cf_save_CFLAGS_$1" CPPFLAGS="$cf_save_CPPFLAGS_$1" ])dnl dnl --------------------------------------------------------------------------- -dnl CF_RPATH_HACK version: 11 updated: 2013/09/01 13:02:00 +dnl CF_RPATH_HACK version: 13 updated: 2021/01/03 18:30:50 dnl ------------- AC_DEFUN([CF_RPATH_HACK], -[ -AC_REQUIRE([CF_LD_RPATH_OPT]) +[AC_REQUIRE([AC_PROG_FGREP])dnl +AC_REQUIRE([CF_LD_RPATH_OPT])dnl + AC_MSG_CHECKING(for updated LDFLAGS) if test -n "$LD_RPATH_OPT" ; then AC_MSG_RESULT(maybe) @@ -3166,8 +3327,8 @@ if test -n "$LD_RPATH_OPT" ; then AC_TRY_LINK([#include ], [printf("Hello");], - [cf_rpath_oops=`$cf_ldd_prog conftest$ac_exeext | fgrep ' not found' | sed -e 's% =>.*$%%' |sort | uniq` - cf_rpath_list=`$cf_ldd_prog conftest$ac_exeext | fgrep / | sed -e 's%^.*[[ ]]/%/%' -e 's%/[[^/]][[^/]]*$%%' |sort | uniq`]) + [cf_rpath_oops=`"$cf_ldd_prog" "conftest$ac_exeext" | ${FGREP-fgrep} ' not found' | sed -e 's% =>.*$%%' |sort | uniq` + cf_rpath_list=`"$cf_ldd_prog" "conftest$ac_exeext" | ${FGREP-fgrep} / | sed -e 's%^.*[[ ]]/%/%' -e 's%/[[^/]][[^/]]*$%%' |sort | uniq`]) # If we passed the link-test, but get a "not found" on a given library, # this could be due to inept reconfiguration of gcc to make it only @@ -3183,7 +3344,7 @@ AC_TRY_LINK([#include ], /usr/pkg \ /opt/sfw do - if test -f $cf_rpath_dir/lib/$cf_rpath_src + if test -f "$cf_rpath_dir/lib/$cf_rpath_src" then CF_VERBOSE(...adding -L$cf_rpath_dir/lib to LDFLAGS for $cf_rpath_src) LDFLAGS="$LDFLAGS -L$cf_rpath_dir/lib" @@ -3206,7 +3367,7 @@ fi AC_SUBST(EXTRA_LDFLAGS) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_RPATH_HACK_2 version: 7 updated: 2015/04/12 15:39:00 +dnl CF_RPATH_HACK_2 version: 8 updated: 2021/01/01 13:31:04 dnl --------------- dnl Do one set of substitutions for CF_RPATH_HACK, adding an rpath option to dnl EXTRA_LDFLAGS for each -L option found. @@ -3222,7 +3383,7 @@ CF_VERBOSE(...checking $1 [$]$1) cf_rpath_dst= for cf_rpath_src in [$]$1 do - case $cf_rpath_src in + case "$cf_rpath_src" in (-L*) # check if this refers to a directory which we will ignore @@ -3291,7 +3452,7 @@ do done ])dnl dnl --------------------------------------------------------------------------- -dnl CF_SIGWINCH version: 2 updated: 2019/03/23 19:54:44 +dnl CF_SIGWINCH version: 6 updated: 2021/01/01 13:31:04 dnl ----------- dnl Use this macro after CF_XOPEN_SOURCE, but do not require it (not all dnl programs need this test). @@ -3306,7 +3467,7 @@ AC_CACHE_CHECK(if SIGWINCH is defined,cf_cv_define_sigwinch,[ AC_TRY_COMPILE([ #include #include -],[int x = SIGWINCH], +],[int x = SIGWINCH; (void)x], [cf_cv_define_sigwinch=yes], [AC_TRY_COMPILE([ #undef _XOPEN_SOURCE @@ -3314,7 +3475,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]) ]) @@ -3324,7 +3485,7 @@ if test "$cf_cv_define_sigwinch" = maybe ; then AC_CACHE_CHECK(for actual SIGWINCH definition,cf_cv_fixup_sigwinch,[ cf_cv_fixup_sigwinch=unknown cf_sigwinch=32 -while test $cf_sigwinch != 1 +while test "$cf_sigwinch" != 1 do AC_TRY_COMPILE([ #undef _XOPEN_SOURCE @@ -3336,11 +3497,11 @@ do #if SIGWINCH != $cf_sigwinch make an error #endif -int x = SIGWINCH], +int x = SIGWINCH; (void)x], [cf_cv_fixup_sigwinch=$cf_sigwinch break]) -cf_sigwinch=`expr $cf_sigwinch - 1` +cf_sigwinch="`expr "$cf_sigwinch" - 1`" done ]) @@ -3350,7 +3511,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. @@ -3372,6 +3533,7 @@ extern $cf_type x; $cf_type x; static void handler(int sig) { + (void)sig; x = 5; }], [signal(SIGINT, handler); @@ -3432,14 +3594,14 @@ 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: 6 updated: 2021/01/02 09:31:20 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, dnl but some packagers change this, breaking various applications. AC_DEFUN([CF_TERM_HEADER],[ AC_CACHE_CHECK(for terminfo header, cf_cv_term_header,[ -case ${cf_cv_ncurses_header} in +case "${cf_cv_ncurses_header}" in (*/ncurses.h|*/ncursesw.h) cf_term_header=`echo "$cf_cv_ncurses_header" | sed -e 's%ncurses[[^.]]*\.h$%term.h%'` ;; @@ -3453,7 +3615,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 ]) @@ -3463,13 +3625,13 @@ done # Set definitions to allow ifdef'ing to accommodate subdirectories -case $cf_cv_term_header in +case "$cf_cv_term_header" in (*term.h) AC_DEFINE(HAVE_TERM_H,1,[Define to 1 if we have term.h]) ;; esac -case $cf_cv_term_header in +case "$cf_cv_term_header" in (ncurses/term.h) AC_DEFINE(HAVE_NCURSES_TERM_H,1,[Define to 1 if we have ncurses/term.h]) ;; @@ -3488,21 +3650,21 @@ top_builddir=ifelse($1,,`pwd`,$1) AC_SUBST(top_builddir) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_TPUTS_PROTO version: 3 updated: 2015/04/17 21:26:14 +dnl CF_TPUTS_PROTO version: 4 updated: 2021/01/04 19:45:09 dnl -------------- dnl Check for type of function-pointer passed to tputs. Some old dnl implementations used functions that had different prototypes, making it dnl hard to compile portable programs using tputs. AC_DEFUN([CF_TPUTS_PROTO],[ CF_CURSES_FUNCS(tputs) -if test x$cf_cv_func_tputs = xyes +if test "x$cf_cv_func_tputs" = xyes then cf_done=no for cf_arg in int char do for cf_ret in int void do - if test $cf_ret = void + if test "$cf_ret" = void then cf_return="/* nothing */" else @@ -3527,7 +3689,7 @@ EOF break ]) done - test $cf_done = yes && break + test "$cf_done" = yes && break done fi ])dnl @@ -3548,21 +3710,21 @@ AC_DEFUN([CF_TRIM_X_LIBS],[ done ]) dnl --------------------------------------------------------------------------- -dnl CF_TRY_PKG_CONFIG version: 5 updated: 2013/07/06 21:27:06 +dnl CF_TRY_PKG_CONFIG version: 6 updated: 2020/12/31 10:54:15 dnl ----------------- dnl This is a simple wrapper to use for pkg-config, for libraries which may be dnl available in that form. dnl -dnl $1 = package name +dnl $1 = package name, which may be a shell variable dnl $2 = extra logic to use, if any, after updating CFLAGS and LIBS dnl $3 = logic to use if pkg-config does not have the package AC_DEFUN([CF_TRY_PKG_CONFIG],[ AC_REQUIRE([CF_PKG_CONFIG]) -if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists $1; then +if test "$PKG_CONFIG" != none && "$PKG_CONFIG" --exists "$1"; then CF_VERBOSE(found package $1) - cf_pkgconfig_incs="`$PKG_CONFIG --cflags $1 2>/dev/null`" - cf_pkgconfig_libs="`$PKG_CONFIG --libs $1 2>/dev/null`" + cf_pkgconfig_incs="`$PKG_CONFIG --cflags "$1" 2>/dev/null`" + cf_pkgconfig_libs="`$PKG_CONFIG --libs "$1" 2>/dev/null`" CF_VERBOSE(package $1 CFLAGS: $cf_pkgconfig_incs) CF_VERBOSE(package $1 LIBS: $cf_pkgconfig_libs) CF_ADD_CFLAGS($cf_pkgconfig_incs) @@ -3707,7 +3869,7 @@ fi ]) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_WITH_CURSES_DIR version: 3 updated: 2010/11/20 17:02:38 +dnl CF_WITH_CURSES_DIR version: 4 updated: 2021/01/02 19:22:58 dnl ------------------ dnl Wrapper for AC_ARG_WITH to specify directory under which to look for curses dnl libraries. @@ -3720,7 +3882,7 @@ AC_ARG_WITH(curses-dir, [cf_cv_curses_dir=no]) AC_MSG_RESULT($cf_cv_curses_dir) -if ( test -n "$cf_cv_curses_dir" && test "$cf_cv_curses_dir" != "no" ) +if test -n "$cf_cv_curses_dir" && test "$cf_cv_curses_dir" != "no" then CF_PATH_SYNTAX(withval) if test -d "$cf_cv_curses_dir" @@ -3761,6 +3923,35 @@ if test "$with_dmalloc" = yes ; then fi ])dnl dnl --------------------------------------------------------------------------- +dnl CF_WITH_LIB_BASENAME version: 1 updated: 2020/03/07 20:05:14 +dnl -------------------- +dnl Allow for overriding the basename of a library, i.e., the part to which +dnl prefixes/suffixes are attached. +dnl +dnl $1 = variable to set +dnl $2 = option name +dnl $3 = default basename for library, if omitted use $2 +AC_DEFUN([CF_WITH_LIB_BASENAME], +[ +AC_MSG_CHECKING(for desired basename for $2 library) +AC_ARG_WITH($2-libname, + [ --with-$2-libname=XXX override ifelse($3,,$2,$3) basename of library], + [with_lib_basename=$withval], + [with_lib_basename=ifelse($3,,$2,$3)]) +$1="$with_lib_basename" + +case "x[$]$1" in +(x|xno|xnone|xyes) + $1=ifelse($3,,$2,$3) + ;; +(*) + ;; +esac + +AC_MSG_RESULT([$]$1) +AC_SUBST($1) +])dnl +dnl --------------------------------------------------------------------------- dnl CF_WITH_NCURSES_ETC version: 5 updated: 2016/02/20 19:23:20 dnl ------------------- dnl Use this macro for programs which use any variant of "curses", e.g., @@ -3822,6 +4013,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 @@ -3918,7 +4126,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: 16 updated: 2021/01/02 09:31:20 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. @@ -3944,7 +4152,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 @@ -3959,13 +4174,20 @@ 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 ]) ]) -case $cf_cv_need_xopen_extension in +case "$cf_cv_need_xopen_extension" in (*_*) CF_APPEND_TEXT(CPPFLAGS,-D$cf_cv_need_xopen_extension) ;; @@ -3973,7 +4195,7 @@ esac ])dnl dnl --------------------------------------------------------------------------- -dnl CF_XOPEN_SOURCE version: 55 updated: 2018/12/31 20:46:17 +dnl CF_XOPEN_SOURCE version: 57 updated: 2021/01/01 16:53:59 dnl --------------- dnl Try to get _XOPEN_SOURCE defined properly that we can use POSIX functions, dnl or adapt to the vendor's definitions to get equivalent functionality, @@ -3992,7 +4214,7 @@ cf_XOPEN_SOURCE=ifelse([$1],,500,[$1]) cf_POSIX_C_SOURCE=ifelse([$2],,199506L,[$2]) cf_xopen_source= -case $host_os in +case "$host_os" in (aix[[4-7]]*) cf_xopen_source="-D_ALL_SOURCE" ;; @@ -4085,7 +4307,7 @@ make an error [cf_XOPEN_SOURCE_set=yes], [cf_XOPEN_SOURCE_set=no]) AC_MSG_RESULT($cf_XOPEN_SOURCE_set) - if test $cf_XOPEN_SOURCE_set = yes + if test "$cf_XOPEN_SOURCE_set" = yes then AC_TRY_COMPILE([#include ],[ #if (_XOPEN_SOURCE - 0) < $cf_XOPEN_SOURCE @@ -4093,7 +4315,7 @@ make an error #endif], [cf_XOPEN_SOURCE_set_ok=yes], [cf_XOPEN_SOURCE_set_ok=no]) - if test $cf_XOPEN_SOURCE_set_ok = no + if test "$cf_XOPEN_SOURCE_set_ok" = no then AC_MSG_WARN(_XOPEN_SOURCE is lower than requested) fi @@ -4104,7 +4326,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 @@ -4180,7 +4402,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 @@ -4216,7 +4439,7 @@ if test -z "$cf_x_athena_lib" ; then fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_X_ATHENA_CPPFLAGS version: 8 updated: 2020/01/16 05:21:56 +dnl CF_X_ATHENA_CPPFLAGS version: 9 updated: 2020/12/31 10:54:15 dnl -------------------- dnl Normally invoked by CF_X_ATHENA, with $1 set to the appropriate flavor of dnl the Athena widgets, e.g., Xaw, Xaw3d, neXtaw. @@ -4235,7 +4458,7 @@ do if test -z "$cf_x_athena_inc" ; then CF_SAVE_XTRA_FLAGS([CF_X_ATHENA_CPPFLAGS]) cf_test=X11/$cf_x_athena_root/SimpleMenu.h - if test $cf_path != default ; then + if test "$cf_path" != default ; then CF_APPEND_TEXT(CPPFLAGS,-I$cf_path/include) AC_MSG_CHECKING(for $cf_test in $cf_path) else @@ -4250,7 +4473,7 @@ do CF_RESTORE_XTRA_FLAGS([CF_X_ATHENA_CPPFLAGS]) if test "$cf_result" = yes ; then test "$cf_path" = default && cf_x_athena_inc=default - test "$cf_path" != default && cf_x_athena_inc=$cf_path/include + test "$cf_path" != default && cf_x_athena_inc="$cf_path/include" break fi fi @@ -4332,7 +4555,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: 26 updated: 2021/01/02 09:31:20 dnl ------------ dnl Check for X Toolkit libraries AC_DEFUN([CF_X_TOOLKIT], @@ -4352,6 +4575,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 @@ -4384,7 +4609,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 @@ -4414,18 +4639,16 @@ 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 +if test "$cf_have_X_LIBS" = no ; then AC_MSG_WARN( [Unable to successfully link X Toolkit library (-lXt) with test program. You will have to check and add the proper libraries by hand @@ -4433,6 +4656,24 @@ to makefile.]) fi ])dnl dnl --------------------------------------------------------------------------- +dnl CF__CURSES_DATA version: 3 updated: 2021/01/04 19:45:09 +dnl --------------- +dnl Attempt to make a copy of a curses data item. This is needed in the +dnl check-data configure tests when using ncurses, because the symbol may be +dnl actually a function return-value. That could happen if the linker is +dnl broken (does not resolve data-only references), or if ncurses is configured +dnl to support re-entrant code. +dnl $1 = target +dnl $2 = source +define([CF__CURSES_DATA],[ +#if defined($2) && ((defined(NCURSES_WRAPPED_VAR) && (NCURSES_VERSION_PATCH < 20200208)) || defined(NCURSES_BROKEN_LINKER) || defined(NCURSES_REENTRANT)) + const void *$1 = (const void *)($2); +#else + const void *$1 = &($2); +#endif + fprintf(stderr, "testing linkage of $2:%p\\n", (const void *)$1); +])dnl +dnl --------------------------------------------------------------------------- dnl CF__CURSES_HEAD version: 2 updated: 2010/10/23 15:54:49 dnl --------------- dnl Define a reusable chunk which includes and when they