X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=aclocal.m4;h=46a9f1f7f4cf1a359d6e0840b29bd6cb8bb940a5;hp=e2ce26332bf6dcb7fafd32e889726806cde13f2d;hb=f44733b760290aa8f51c6c9e1e463254833bffcd;hpb=0ff9bcb7f97617085a8b8cba4a7ee374bb969cc9 diff --git a/aclocal.m4 b/aclocal.m4 index e2ce2633..46a9f1f7 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1,5 +1,6 @@ dnl*************************************************************************** -dnl Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. * +dnl Copyright 2018-2019,2020 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 * @@ -28,18 +29,20 @@ dnl*************************************************************************** dnl dnl Author: Thomas E. Dickey 1995-on dnl -dnl $Id: aclocal.m4,v 1.889 2019/12/31 13:58:42 tom Exp $ +dnl $Id: aclocal.m4,v 1.904 2020/03/20 00:46:13 tom Exp $ dnl Macros used in NCURSES auto-configuration script. dnl dnl These macros are maintained separately from NCURSES. The copyright on dnl this file applies to the aggregation of macros and does not affect use of dnl these macros in other applications. dnl -dnl See https://invisible-island.net/autoconf/ for additional information. +dnl See these pages for additional information: +dnl https://invisible-island.net/autoconf/ +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 @@ -52,7 +55,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) ]) @@ -954,7 +957,7 @@ fi CF_CHECK_EXTERN_DATA($1,ifelse([$2],,int,[$2])) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_CHECK_ERRNO version: 12 updated: 2015/04/18 08:56:57 +dnl CF_CHECK_ERRNO version: 13 updated: 2020/03/10 18:53:47 dnl -------------- dnl Check for data that is usually declared in or , e.g., dnl the 'errno' variable. Define a DECL_xxx symbol if we must declare it @@ -972,7 +975,7 @@ AC_CACHE_CHECK(if external $1 is declared, cf_cv_dcl_$1,[ #include #include #include ], - ifelse([$2],,int,[$2]) x = (ifelse([$2],,int,[$2])) $1, + ifelse([$2],,int,[$2]) x = (ifelse([$2],,int,[$2])) $1; (void)x, [cf_cv_dcl_$1=yes], [cf_cv_dcl_$1=no]) ]) @@ -1424,7 +1427,7 @@ cf_save_CFLAGS="$cf_save_CFLAGS -Qunused-arguments" fi ]) dnl --------------------------------------------------------------------------- -dnl CF_CONST_X_STRING version: 1 updated: 2019/04/08 17:50:29 +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. @@ -1445,12 +1448,16 @@ dnl when compiling the library and compiling using the library, to tell the dnl compiler that String is const. AC_DEFUN([CF_CONST_X_STRING], [ +AC_REQUIRE([AC_PATH_XTRA]) + +CF_SAVE_XTRA_FLAGS([CF_CONST_X_STRING]) + 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( @@ -1466,6 +1473,8 @@ 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 (no) CF_APPEND_TEXT(CPPFLAGS,-DXTSTRINGDEFINES) @@ -1810,6 +1819,28 @@ if test "$cf_disable_rpath_hack" = no ; then fi ]) dnl --------------------------------------------------------------------------- +dnl CF_ENABLE_BROKEN_LINKER version: 1 updated: 2020/02/08 15:59:30 +dnl ----------------------- +dnl Some linkers cannot reference a data-only object. Cygwin used to be one. +dnl This usually follows CF_LINK_DATAONLY, but is not required in case we need +dnl an unconditional feature. +AC_DEFUN([CF_ENABLE_BROKEN_LINKER],[ + +AC_MSG_CHECKING(if you want broken-linker support code) +AC_ARG_ENABLE(broken_linker, + [ --enable-broken_linker compile with broken-linker support code], + [with_broken_linker=$enableval], + [with_broken_linker=no]) +AC_MSG_RESULT($with_broken_linker) + +: ${BROKEN_LINKER:=0} +if test "x$with_broken_linker" = xyes ; then + AC_DEFINE(BROKEN_LINKER,1,[Define to 1 to work around linkers which cannot link data-only modules]) + BROKEN_LINKER=1 +fi +AC_SUBST(BROKEN_LINKER) +])dnl +dnl --------------------------------------------------------------------------- dnl CF_ENABLE_PC_FILES version: 13 updated: 2015/11/01 05:27:39 dnl ------------------ dnl This is the "--enable-pc-files" option, which is available if there is a @@ -2445,7 +2476,7 @@ esac ])dnl dnl --------------------------------------------------------------------------- -dnl CF_GCC_ATTRIBUTES version: 17 updated: 2015/04/12 15:39:00 +dnl CF_GCC_ATTRIBUTES version: 18 updated: 2020/03/10 18:53:47 dnl ----------------- dnl Test for availability of useful gcc __attribute__ directives to quiet dnl compiler warnings. Though useful, not all are supported -- and contrary @@ -2489,7 +2520,7 @@ cat > conftest.$ac_ext <],[ char *p = compile("", "", "", 0); int x = step("", ""); + (void)p; + (void)x; ],[ cf_cv_regex_hdrs=$cf_regex_hdr break @@ -6295,9 +6349,11 @@ case $cf_regex_func in do AC_TRY_LINK([#include #include <$cf_regex_hdr>],[ - regex_t *p; + regex_t *p = 0; int x = regcomp(p, "", 0); int y = regexec(p, "", 0, 0, 0); + (void)x; + (void)y; regfree(p); ],[ cf_cv_regex_hdrs=$cf_regex_hdr @@ -6347,6 +6403,17 @@ define([CF_REMOVE_LIB], $1=`echo "$2" | sed -e 's/-l$3[[ ]]//g' -e 's/-l$3[$]//'` ])dnl dnl --------------------------------------------------------------------------- +dnl CF_RESTORE_XTRA_FLAGS version: 1 updated: 2020/01/11 16:47:45 +dnl --------------------- +dnl Restore flags saved in CF_SAVE_XTRA_FLAGS +dnl $1 = name of current macro +define([CF_RESTORE_XTRA_FLAGS], +[ +LIBS="$cf_save_LIBS_$1" +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 ------------- AC_DEFUN([CF_RPATH_HACK], @@ -6464,7 +6531,32 @@ CF_VERBOSE(...checked $1 [$]$1) AC_SUBST(EXTRA_LDFLAGS) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_SHARED_OPTS version: 93 updated: 2018/08/18 16:36:35 +dnl CF_SAVE_XTRA_FLAGS version: 1 updated: 2020/01/11 16:46:44 +dnl ------------------ +dnl Use this macro to save CFLAGS/CPPFLAGS/LIBS before checks against X headers +dnl and libraries which do not update those variables. +dnl +dnl $1 = name of current macro +define([CF_SAVE_XTRA_FLAGS], +[ +cf_save_LIBS_$1="$LIBS" +cf_save_CFLAGS_$1="$CFLAGS" +cf_save_CPPFLAGS_$1="$CPPFLAGS" +LIBS="$LIBS ${X_PRE_LIBS} ${X_LIBS} ${X_EXTRA_LIBS}" +for cf_X_CFLAGS in $X_CFLAGS +do + case "x$cf_X_CFLAGS" in + x-[[IUD]]*) + CPPFLAGS="$CPPFLAGS $cf_X_CFLAGS" + ;; + *) + CFLAGS="$CFLAGS $cf_X_CFLAGS" + ;; + esac +done +])dnl +dnl --------------------------------------------------------------------------- +dnl CF_SHARED_OPTS version: 94 updated: 2020/02/29 16:09:19 dnl -------------- dnl -------------- dnl Attempt to determine the appropriate CC/LD options for creating a shared @@ -6690,6 +6782,37 @@ CF_EOF CF_SHARED_SONAME MK_SHARED_LIB='${CC} ${LDFLAGS} ${CFLAGS} -shared -Wl,-soname,'$cf_cv_shared_soname',-stats,-lc -o $[@]' ;; + (mingw*msvc*) + cf_cv_shlib_version=mingw + cf_cv_shlib_version_infix=mingw + shlibdir=$bindir + MAKE_DLLS= + if test "$DFT_LWR_MODEL" = "shared" ; then + LOCAL_LDFLAGS="-link -dll" + LOCAL_LDFLAGS2="$LOCAL_LDFLAGS" + EXTRA_LDFLAGS="-link -dll $EXTRA_LDFLAGS" + fi + CC_SHARED_OPTS= + MK_SHARED_LIB=$SHELL' '$rel_builddir'/mk_shared_lib.sh $@ ${LD} ${CFLAGS}' + RM_SHARED_OPTS="$RM_SHARED_OPTS $rel_builddir/mk_shared_lib.sh *.dll.a" + cat >mk_shared_lib.sh <<-CF_EOF + #!$SHELL + SHARED_LIB=\$1 + IMPORT_LIB=\`echo "\$1" | sed -e 's/[0-9]*\.dll$\.dll.a/'\` + shift + my_ld=\$1 + shift + cat <<-EOF + Linking shared library + ** SHARED LIB \$SHARED_LIB + ** IMPORT_LIB \$IMPORT_LIB +EOF + args=\$(echo \$* | sed -E "s#-l(\w*)#lib\1.a#g" | sed -E "s#-L(\w*)#-LIBPATH:\1#g") + exec \$my_ld -DLL -IMPLIB:"\${IMPORT_LIB}" -OUT:"\${SHARED_LIB}" ${LDFLAGS} \$args + mv "\${IMPORT_LIB}" "\${IMPORT_LIB}" +CF_EOF + chmod +x mk_shared_lib.sh + ;; (mingw*) cf_cv_shlib_version=mingw cf_cv_shlib_version_infix=mingw @@ -6925,7 +7048,7 @@ define([CF_SHARED_SONAME], fi ]) dnl --------------------------------------------------------------------------- -dnl CF_SIGWINCH version: 2 updated: 2019/03/23 19:54:44 +dnl CF_SIGWINCH version: 3 updated: 2020/03/10 18:53:47 dnl ----------- dnl Use this macro after CF_XOPEN_SOURCE, but do not require it (not all dnl programs need this test). @@ -6940,7 +7063,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 @@ -6948,7 +7071,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]) ]) @@ -6970,7 +7093,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]) @@ -6984,9 +7107,9 @@ done fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_SIG_ATOMIC_T version: 3 updated: 2012/10/04 20:12:20 +dnl CF_SIG_ATOMIC_T version: 5 updated: 2020/03/10 18:53:47 dnl --------------- -dnl signal handler, but there are some gcc depedencies in that recommendation. +dnl signal handler, but there are some gcc dependencies in that recommendation. dnl Try anyway. AC_DEFUN([CF_SIG_ATOMIC_T], [ @@ -7006,6 +7129,7 @@ extern $cf_type x; $cf_type x; static void handler(int sig) { + (void)sig; x = 5; }], [signal(SIGINT, handler); @@ -7019,7 +7143,7 @@ AC_MSG_RESULT($cf_cv_sig_atomic_t) test "$cf_cv_sig_atomic_t" != no && AC_DEFINE_UNQUOTED(SIG_ATOMIC_T, $cf_cv_sig_atomic_t,[Define to signal global datatype]) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_SIZECHANGE version: 14 updated: 2018/06/20 20:23:13 +dnl CF_SIZECHANGE version: 16 updated: 2020/03/19 20:46:13 dnl ------------- dnl Check for definitions & structures needed for window size-changing dnl @@ -7062,13 +7186,17 @@ do ],[ #ifdef TIOCGSIZE struct ttysize win; /* SunOS 3.0... */ - int y = win.ts_lines; - int x = win.ts_cols; + int y = win.ts_lines = 2; + int x = win.ts_cols = 1; + (void)y; + (void)x; #else #ifdef TIOCGWINSZ struct winsize win; /* everything else */ - int y = win.ws_row; - int x = win.ws_col; + int y = win.ws_row = 2; + int x = win.ws_col = 1; + (void)y; + (void)x; #else no TIOCGSIZE or TIOCGWINSZ #endif /* TIOCGWINSZ */ @@ -7095,7 +7223,7 @@ if test "$cf_cv_sizechange" != no ; then fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_SRC_MODULES version: 31 updated: 2019/09/21 18:08:42 +dnl CF_SRC_MODULES version: 32 updated: 2020/03/07 20:05:14 dnl -------------- dnl For each parameter, test if the source-directory exists, and if it contains dnl a 'modules' file. If so, add to the list $cf_cv_src_modules which we'll @@ -7149,14 +7277,15 @@ do CF_UPPER(cf_have_include,$cf_dir) AC_DEFINE_UNQUOTED(HAVE_${cf_have_include}_H) AC_DEFINE_UNQUOTED(HAVE_LIB${cf_have_include}) - TEST_DEPS="${LIB_DIR}/${LIB_PREFIX}${cf_dir}${DFT_DEP_SUFFIX} $TEST_DEPS" - TEST_DEP2="${LIB_2ND}/${LIB_PREFIX}${cf_dir}${DFT_DEP_SUFFIX} $TEST_DEP2" + CF_MAP_LIB_BASENAME(TEST_ROOT,$cf_dir) + TEST_DEPS="${LIB_DIR}/${LIB_PREFIX}${TEST_ROOT}${DFT_DEP_SUFFIX} $TEST_DEPS" + TEST_DEP2="${LIB_2ND}/${LIB_PREFIX}${TEST_ROOT}${DFT_DEP_SUFFIX} $TEST_DEP2" if test "$DFT_LWR_MODEL" = "libtool"; then TEST_ARGS="${TEST_DEPS}" TEST_ARG2="${TEST_DEP2}" else - TEST_ARGS="-l${cf_dir}${USE_ARG_SUFFIX} $TEST_ARGS" - TEST_ARG2="-l${cf_dir}${USE_ARG_SUFFIX} $TEST_ARG2" + TEST_ARGS="-l${TEST_ROOT}${USE_ARG_SUFFIX} $TEST_ARGS" + TEST_ARG2="-l${TEST_ROOT}${USE_ARG_SUFFIX} $TEST_ARG2" fi PC_MODULES_TO_MAKE="${PC_MODULES_TO_MAKE} ${cf_dir}${USE_ARG_SUFFIX}" fi @@ -7306,7 +7435,7 @@ AC_MSG_RESULT($sigact_bad) fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_STRUCT_TERMIOS version: 9 updated: 2018/06/08 21:57:23 +dnl CF_STRUCT_TERMIOS version: 11 updated: 2020/03/19 20:46:13 dnl ----------------- dnl Some machines require _POSIX_SOURCE to completely define struct termios. AC_DEFUN([CF_STRUCT_TERMIOS],[ @@ -7329,12 +7458,12 @@ if test "$ac_cv_header_termios_h" = yes ; then if test "$termios_bad" = maybe ; then AC_MSG_CHECKING(whether termios.h needs _POSIX_SOURCE) AC_TRY_COMPILE([#include ], - [struct termios foo; int x = foo.c_iflag], + [struct termios foo; int x = foo.c_iflag = 1; (void)x], termios_bad=no, [ AC_TRY_COMPILE([ #define _POSIX_SOURCE #include ], - [struct termios foo; int x = foo.c_iflag], + [struct termios foo; int x = foo.c_iflag = 2; (void)x], termios_bad=unknown, termios_bad=yes AC_DEFINE(_POSIX_SOURCE,1,[Define to 1 if we must define _POSIX_SOURCE])) ]) @@ -8274,6 +8403,35 @@ esac AC_SUBST(LIBTOOL_OPTS) ])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_LIB_PREFIX version: 1 updated: 2012/01/21 19:28:10 dnl ------------------ dnl Allow the library-prefix to be overridden. OS/2 EMX originally had no @@ -8399,7 +8557,7 @@ AC_ARG_WITH($2-path, ]) ]) dnl --------------------------------------------------------------------------- -dnl CF_WITH_PCRE2 version: 2 updated: 2018/07/14 16:47:56 +dnl CF_WITH_PCRE2 version: 3 updated: 2020/02/29 16:09:19 dnl ------------- dnl Add PCRE2 (Perl-compatible regular expressions v2) to the build if it is dnl available and the user requests it. Assume the application will otherwise @@ -8437,7 +8595,7 @@ if test "x$with_pcre2" != xno ; then esac # either way, check for the library header files - AC_CHECK_HEADERS(pcre2-posix.h pcreposix.h) + AC_CHECK_HEADERS(pcre2posix.h pcreposix.h) fi ])dnl dnl ---------------------------------------------------------------------------