X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=aclocal.m4;h=1d8668553cbc7cdf2d6c76c7a829977b43ea8b68;hp=6913e9d2c650738f0a56ca4d4cbf22bf3ffc2346;hb=2ba352d86b57bddd1dd2a6e20892f380c34180b7;hpb=3ab4db240283db0682a66a8587f2174508348bc6 diff --git a/aclocal.m4 b/aclocal.m4 index 6913e9d2..1d866855 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.880 2019/09/07 23:00:39 tom Exp $ +dnl $Id: aclocal.m4,v 1.931 2020/09/12 22:30:53 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) ]) @@ -155,10 +158,11 @@ AC_DEFUN([CF_ADD_ADAFLAGS],[ AC_SUBST(ADAFLAGS) ])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 @@ -241,6 +245,23 @@ fi AC_SUBST(EXTRA_CPPFLAGS) +])dnl +dnl --------------------------------------------------------------------------- +dnl CF_ADD_CXXFLAGS version: 1 updated: 2020/04/04 16:16:13 +dnl --------------- +dnl Copy non-preprocessor flags to $CXXFLAGS, preprocessor flags to $CPPFLAGS +dnl The second parameter 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 +dnl confused by the quotes (which require backslashes to keep them usable). +AC_DEFUN([CF_ADD_CXXFLAGS], +[ +cf_save_CXXFLAGS="$CFLAGS" +CFLAGS="$CXXFLAGS" +CF_ADD_CFLAGS($1 ifelse($2,,,[,$2])) +CXXFLAGS="$CFLAGS" +CFLAGS="$cf_save_CXXFLAGS" ])dnl dnl --------------------------------------------------------------------------- dnl CF_ADD_INCDIR version: 15 updated: 2018/06/20 20:23:13 @@ -346,7 +367,7 @@ if test -n "$1" ; then fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_ADD_LIBS version: 2 updated: 2014/07/13 14:33:27 +dnl CF_ADD_LIBS version: 3 updated: 2019/11/02 16:47:33 dnl ----------- dnl Add one or more libraries, used to enforce consistency. Libraries are dnl prepended to an existing list, since their dependencies are assumed to @@ -355,19 +376,19 @@ dnl dnl $1 = libraries to add, with the "-l", etc. dnl $2 = variable to update (default $LIBS) AC_DEFUN([CF_ADD_LIBS],[ -cf_add_libs="$1" -# Filter out duplicates - this happens with badly-designed ".pc" files... -for cf_add_1lib in [$]ifelse($2,,LIBS,[$2]) -do - for cf_add_2lib in $cf_add_libs - do - if test "x$cf_add_1lib" = "x$cf_add_2lib" - then +cf_add_libs="[$]ifelse($2,,LIBS,[$2])" +# reverse order +cf_add_0lib= +for cf_add_1lib in $1; do cf_add_0lib="$cf_add_1lib $cf_add_0lib"; done +# filter duplicates +for cf_add_1lib in $cf_add_0lib; do + for cf_add_2lib in $cf_add_libs; do + if test "x$cf_add_1lib" = "x$cf_add_2lib"; then cf_add_1lib= break fi done - test -n "$cf_add_1lib" && cf_add_libs="$cf_add_libs $cf_add_1lib" + test -n "$cf_add_1lib" && cf_add_libs="$cf_add_1lib $cf_add_libs" done ifelse($2,,LIBS,[$2])="$cf_add_libs" ])dnl @@ -439,7 +460,7 @@ ifelse([$3],,[ :]dnl ])dnl ])])dnl dnl --------------------------------------------------------------------------- -dnl CF_AR_FLAGS version: 6 updated: 2015/10/10 15:25:05 +dnl CF_AR_FLAGS version: 7 updated: 2020/04/04 11:37:29 dnl ----------- dnl Check for suitable "ar" (archiver) options for updating an archive. dnl @@ -450,39 +471,55 @@ AC_DEFUN([CF_AR_FLAGS],[ AC_REQUIRE([CF_PROG_AR]) AC_CACHE_CHECK(for options to update archives, cf_cv_ar_flags,[ - cf_cv_ar_flags=unknown - for cf_ar_flags in -curvU -curv curv -crv crv -cqv cqv -rv rv - do + case $cf_cv_system_name in + (*-msvc*) + cf_cv_ar_flags='' + cat >mk_static_lib.sh <<-EOF + #!$SHELL + MSVC_BIN="[$]AR" + out="\[$]1" + shift + exec \[$]MSVC_BIN -out:"\[$]out" \[$]@ + EOF + chmod +x mk_static_lib.sh + AR=`pwd`/mk_static_lib.sh + ;; + (*) + cf_cv_ar_flags=unknown + for cf_ar_flags in -curvU -curv curv -crv crv -cqv cqv -rv rv + do - # check if $ARFLAGS already contains this choice - if test "x$ARFLAGS" != "x" ; then - cf_check_ar_flags=`echo "x$ARFLAGS" | sed -e "s/$cf_ar_flags\$//" -e "s/$cf_ar_flags / /"` - if test "x$ARFLAGS" != "$cf_check_ar_flags" ; then - cf_cv_ar_flags= - break + # check if $ARFLAGS already contains this choice + if test "x$ARFLAGS" != "x" ; then + cf_check_ar_flags=`echo "x$ARFLAGS" | sed -e "s/$cf_ar_flags\$//" -e "s/$cf_ar_flags / /"` + if test "x$ARFLAGS" != "$cf_check_ar_flags" ; then + cf_cv_ar_flags= + break + fi fi - fi - rm -f conftest.$ac_cv_objext - rm -f conftest.a + rm -f conftest.$ac_cv_objext + rm -f conftest.a - cat >conftest.$ac_ext <conftest.$ac_ext <&AC_FD_CC - $AR $ARFLAGS $cf_ar_flags conftest.a conftest.$ac_cv_objext 2>&AC_FD_CC 1>/dev/null - if test -f conftest.a ; then - cf_cv_ar_flags=$cf_ar_flags + if AC_TRY_EVAL(ac_compile) ; then + echo "$AR $ARFLAGS $cf_ar_flags conftest.a conftest.$ac_cv_objext" >&AC_FD_CC + $AR $ARFLAGS $cf_ar_flags conftest.a conftest.$ac_cv_objext 2>&AC_FD_CC 1>/dev/null + if test -f conftest.a ; then + cf_cv_ar_flags=$cf_ar_flags + break + fi + else + CF_VERBOSE(cannot compile test-program) break fi - else - CF_VERBOSE(cannot compile test-program) - break - fi - done - rm -f conftest.a conftest.$ac_ext conftest.$ac_cv_objext + done + rm -f conftest.a conftest.$ac_ext conftest.$ac_cv_objext + ;; + esac ]) if test -n "$ARFLAGS" ; then @@ -954,7 +991,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 +1009,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]) ]) @@ -1009,6 +1046,28 @@ if test "$cf_cv_have_$1" = yes ; then AC_DEFINE_UNQUOTED($cf_result) fi +])dnl +dnl --------------------------------------------------------------------------- +dnl CF_CHECK_FVISIBILITY version: 2 updated: 2020/04/04 16:16:13 +dnl -------------------- +dnl Check whether the compiler understands -fvisibility=hidden +dnl +dnl $1 = compiler +dnl $2 = compiler-flags variable name +dnl $3 = cache variable to set +AC_DEFUN([CF_CHECK_FVISIBILITY],[ +AC_CACHE_CHECK(if $1 -fvisibility=hidden option works,$3,[ + cf_save_cflags="[$]$2" + $2="[$]$2 -fvisibility=hidden" + AC_TRY_LINK([ +__attribute__ ((visibility("default"))) int somefunc() {return 42;} + ],[ + if (somefunc()) return 1; +], + [$3=yes], + [$3=no]) + $2=$cf_save_cflags +]) ])dnl dnl --------------------------------------------------------------------------- dnl CF_CHECK_GETENV version: 1 updated: 2019/06/23 15:28:15 @@ -1137,6 +1196,22 @@ then fi ])dnl dnl --------------------------------------------------------------------------- +dnl CF_CHECK_GNAT_VERSION version: 3 updated: 2020/05/23 19:39:36 +dnl --------------------- +AC_DEFUN([CF_CHECK_GNAT_VERSION], +[ +AC_REQUIRE([CF_GNAT_VERSION]) +case $cf_cv_gnat_version in +(3.1[[1-9]]*|3.[[2-9]]*|[[4-9]].*|[[1-9]][[0-9]].[[0-9]]*|20[[0-9]][[0-9]]) + cf_cv_prog_gnat_correct=yes + ;; +(*) + AC_MSG_WARN(Unsupported GNAT version $cf_cv_gnat_version. We require 3.11 or better. Disabling Ada95 binding.) + cf_cv_prog_gnat_correct=no + ;; +esac +]) +dnl --------------------------------------------------------------------------- dnl CF_CHECK_GPM_WGETCH version: 3 updated: 2017/01/21 11:06:25 dnl ------------------- dnl Check if GPM is already linked with curses. If so - and if the linkage @@ -1375,7 +1450,7 @@ main(void) ]) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_CLANG_COMPILER version: 2 updated: 2013/11/19 19:23:35 +dnl CF_CLANG_COMPILER version: 3 updated: 2020/08/28 04:10:22 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 @@ -1406,9 +1481,13 @@ cf_save_CFLAGS="$cf_save_CFLAGS -Qunused-arguments" ifelse([$3],,CFLAGS,[$3])="$cf_save_CFLAGS" AC_MSG_RESULT($ifelse([$2],,CLANG_COMPILER,[$2])) fi + +if test "x$CLANG_COMPILER" = "xyes" ; then + CF_APPEND_TEXT(CFLAGS,-Wno-error=implicit-function-declaration) +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. @@ -1429,12 +1508,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( @@ -1450,6 +1533,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) @@ -1794,6 +1879,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 @@ -1886,6 +1993,36 @@ if test "x$with_string_hacks" = "xyes"; then fi ])dnl dnl --------------------------------------------------------------------------- +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], + [with_warnings=yes], + [with_warnings=no]) +AC_MSG_RESULT($with_warnings) +if test "$with_warnings" = "yes" +then + ifelse($2,,[CF_GCC_ATTRIBUTES]) + CF_GCC_WARNINGS($1) +fi +ifelse($2,yes,[CF_GCC_ATTRIBUTES]) +fi +])dnl +dnl --------------------------------------------------------------------------- dnl CF_ERRNO version: 5 updated: 1997/11/30 12:44:39 dnl -------- dnl Check if 'errno' is declared in @@ -2114,7 +2251,41 @@ AC_DEFUN([CF_FIXUP_ADAFLAGS],[ AC_MSG_RESULT($ADAFLAGS) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_FOPEN_BIN_R version: 1 updated: 2019/03/30 17:52:21 +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_FOPEN_BIN_R version: 2 updated: 2019/12/31 08:53:54 dnl -------------- dnl Check if fopen works when the "b" (binary) flag is added to the mode dnl parameter. POSIX ignores the "b", which c89 specified. Some very old @@ -2154,7 +2325,7 @@ int main(void) { [cf_cv_fopen_bin_r=no], [cf_cv_fopen_bin_r=unknown]) ]) -test "x$cf_cv_fopen_bin_r" != xno && AC_DEFINE(USE_FOPEN_BIN_R) +test "x$cf_cv_fopen_bin_r" != xno && AC_DEFINE(USE_FOPEN_BIN_R,1,[Define to 1 if fopen accepts explicit binary mode]) ])dnl dnl --------------------------------------------------------------------------- dnl CF_FORGET_TOOL version: 1 updated: 2013/04/06 18:03:09 @@ -2429,14 +2600,14 @@ esac ])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 <&1 | \ +AC_CACHE_CHECK(for ifelse($2,,gnat,$2) version, cf_cv_gnat_version,[ +cf_cv_gnat_version=`ifelse($2,,${cf_ada_make:-gnatmake},$2) --version 2>&1 | \ grep '[[0-9]].[[0-9]][[0-9]]*' |\ sed -e '2,$d' -e 's/[[^0-9 \.]]//g' -e 's/^[[ ]]*//' -e 's/ .*//'` -AC_MSG_RESULT($cf_gnat_version) - -case $cf_gnat_version in -(3.1[[1-9]]*|3.[[2-9]]*|[[4-9]].*|20[[0-9]][[0-9]]) - cf_cv_prog_gnat_correct=yes - ;; -(*) - AC_MSG_WARN(Unsupported GNAT version $cf_gnat_version. We require 3.11 or better. Disabling Ada95 binding.) - cf_cv_prog_gnat_correct=no - ;; -esac ]) +test -z "$cf_cv_gnat_version" && cf_cv_gnat_version=no +ifelse($1,,,[eval $1=$cf_cv_gnat_version; unset cf_cv_gnat_version]) +])dnl dnl --------------------------------------------------------------------------- dnl CF_GNU_SOURCE version: 10 updated: 2018/12/10 20:09:41 dnl ------------- @@ -3461,11 +3626,12 @@ test -d "$oldincludedir" && { $1="[$]$1 $cf_header_path_list" ])dnl dnl --------------------------------------------------------------------------- -dnl CF_HELP_MESSAGE version: 3 updated: 1998/01/14 10:56:23 +dnl CF_HELP_MESSAGE version: 4 updated: 2019/12/31 08:53:54 dnl --------------- dnl Insert text into the help-message, for readability, from AC_ARG_WITH. AC_DEFUN([CF_HELP_MESSAGE], -[AC_DIVERT_HELP([$1])dnl +[CF_ACVERSION_CHECK(2.53,[],[ +AC_DIVERT_HELP($1)])dnl ])dnl dnl --------------------------------------------------------------------------- dnl CF_INCLUDE_DIRS version: 10 updated: 2014/09/19 20:58:42 @@ -3632,7 +3798,7 @@ AC_MSG_RESULT($cf_cv_have_isascii) test "$cf_cv_have_isascii" = yes && AC_DEFINE(HAVE_ISASCII,1,[Define to 1 if we have isascii()]) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_LARGEFILE version: 11 updated: 2018/06/20 20:23:13 +dnl CF_LARGEFILE version: 12 updated: 2020/03/19 20:23:48 dnl ------------ dnl Add checks for large file support. AC_DEFUN([CF_LARGEFILE],[ @@ -3672,6 +3838,7 @@ ifdef([AC_FUNC_FSEEKO],[ struct dirent64 *x = readdir((DIR *)0); struct dirent *y = readdir((DIR *)0); int z = x - y; + (void)z; ], [cf_cv_struct_dirent64=yes], [cf_cv_struct_dirent64=no]) @@ -3840,6 +4007,76 @@ then fi ])dnl dnl --------------------------------------------------------------------------- +dnl CF_LD_SEARCHPATH version: 2 updated: 2019/09/26 20:34:14 +dnl ---------------- +dnl Try to obtain the linker's search-path, for use in scripts. +dnl +dnl Ignore LD_LIBRARY_PATH, etc. +AC_DEFUN([CF_LD_SEARCHPATH],[ +AC_CACHE_CHECK(for linker search path,cf_cv_ld_searchpath,[ + +if test "$cross_compiling" != yes ; then + +# GNU binutils' ld does not involve permissions which may stop ldconfig. +cf_pathlist=`ld --verbose 2>/dev/null | grep SEARCH_DIR | sed -e 's,SEARCH_DIR[[("=]][[("=]]*,,g' -e 's/"[[)]];//gp' | sort -u` + +# The -NX options tell newer versions of Linux ldconfig to not attempt to +# update the cache, which makes it run faster. +test -z "$cf_pathlist" && \ + cf_pathlist=`ldconfig -NX -v 2>/dev/null | sed -e '/^[[ ]]/d' -e 's/:$//' | sort -u` + +test -z "$cf_pathlist" && + cf_pathlist=`ldconfig -v 2>/dev/null | sed -n -e '/^[[ ]]/d' -e 's/:$//p' | sort -u` + +# This works with OpenBSD 6.5, which lists only filenames +test -z "$cf_pathlist" && + cf_pathlist=`ldconfig -v 2>/dev/null | sed -n -e 's,^Adding \(.*\)/.*[$],\1,p' | sort -u` + +if test -z "$cf_pathlist" +then + # dyld default path with MacOS + if test -f /usr/bin/otool && test "x`uname -s`" = xDarwin + then + # do this to bypass check + cf_cv_ld_searchpath='$HOME/lib' + cf_pathlist="/usr/local/lib /lib /usr/lib" + fi +fi + +if test -z "$cf_pathlist" +then + # Solaris is hardcoded + if test -d /opt/SUNWspro/lib + then + cf_pathlist="/opt/SUNWspro/lib /usr/ccs/lib /usr/lib" + elif test -d /usr/ccs/lib + then + cf_pathlist="/usr/ccs/lib /usr/lib" + fi +fi + +fi + +# If nothing else, assume it is conventional +test -z "$cf_pathlist" && cf_pathlist="/usr/lib /lib" + +# Finally, check that this is only directories +for cf_path in [$]0 $cf_pathlist +do + if test -d "$cf_path"; then + test -n "$cf_cv_ld_searchpath" && cf_cv_ld_searchpath="${cf_cv_ld_searchpath} " + cf_cv_ld_searchpath="${cf_cv_ld_searchpath}${cf_path}" + fi +done + +# Ensure that it is nonempty +test -z "$cf_cv_ld_searchpath" && cf_cv_ld_searchpath=/usr/lib +]) + +LD_SEARCHPATH=`echo "$cf_cv_ld_searchpath"|sed -e 's/ /|/g'` +AC_SUBST(LD_SEARCHPATH) +])dnl +dnl --------------------------------------------------------------------------- dnl CF_LIBRARY_PATH version: 10 updated: 2015/04/15 19:08:48 dnl --------------- dnl Construct a search-list of directories for a nonstandard library-file @@ -3881,7 +4118,7 @@ fi test -z "$cf_cv_libtool_version" && unset cf_cv_libtool_version ])dnl dnl --------------------------------------------------------------------------- -dnl CF_LIB_PREFIX version: 12 updated: 2015/10/17 19:03:33 +dnl CF_LIB_PREFIX version: 13 updated: 2020/04/04 10:11:47 dnl ------------- dnl Compute the library-prefix for the given host system dnl $1 = variable to set @@ -3895,6 +4132,9 @@ define([CF_LIB_PREFIX], LIB_PREFIX='' fi ;; + (*-msvc*) + LIB_PREFIX='' + ;; (*) LIB_PREFIX='lib' ;; esac @@ -3902,7 +4142,7 @@ ifelse($1,,,[$1=$LIB_PREFIX]) AC_SUBST(LIB_PREFIX) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_LIB_RULES version: 88 updated: 2018/08/18 12:19:21 +dnl CF_LIB_RULES version: 90 updated: 2020/04/04 10:11:47 dnl ------------ dnl Append definitions and rules for the given models to the subdirectory dnl Makefiles, and the recursion rule for the top-level Makefile. If the @@ -3923,7 +4163,7 @@ cf_prefix=$LIB_PREFIX AC_REQUIRE([CF_SUBST_NCURSES_VERSION]) case $cf_cv_shlib_version in -(cygdll|msysdll|mingw) +(cygdll|msysdll|mingw|msvcdll) TINFO_NAME=$TINFO_ARG_SUFFIX TINFO_SUFFIX=.dll ;; @@ -3990,8 +4230,13 @@ CF_EOF for cf_item in $cf_LIST_MODELS do CF_LIB_SUFFIX($cf_item,cf_suffix,cf_depsuf) - cf_libname=$cf_dir - test "$cf_dir" = c++ && cf_libname=ncurses++ + if test "$cf_dir" = "c++" + then + CF_MAP_LIB_BASENAME(cf_libname,cxx) + else + CF_MAP_LIB_BASENAME(cf_libname,$cf_dir) + fi + test -z "$cf_libname" && cf_libname="$cf_dir" if test $cf_item = shared ; then if test -n "${LIB_SUFFIX}" then @@ -4046,6 +4291,10 @@ CF_EOF cf_cygsuf=`echo "$cf_suffix" | sed -e 's/\.dll/\${ABI_VERSION}.dll/'` cf_add_lib="../lib/lib${cf_libname}${cf_cygsuf}" ;; + (msvcdll) + cf_cygsuf=`echo "$cf_suffix" | sed -e 's/\.dll/\${ABI_VERSION}.dll/'` + cf_add_lib="../lib/${cf_libname}${cf_cygsuf}" + ;; (*) cf_add_lib= ;; @@ -4141,7 +4390,7 @@ CF_EOF CXX_MODEL=$cf_ITEM if test "$CXX_MODEL" = SHARED; then case $cf_cv_shlib_version in - (cygdll|msysdll|mingw) + (cygdll|msysdll|mingw|msvcdll) test "x$with_shared_cxx" = xno && CF_VERBOSE(overriding CXX_MODEL to SHARED) with_shared_cxx=yes ;; @@ -4169,8 +4418,10 @@ CF_EOF ;; esac elif test $cf_dir = c++ ; then - cf_libname=ncurses++$USE_LIB_SUFFIX + CF_MAP_LIB_BASENAME(cf_libname,cxx) + cf_libname=${cf_libname}$USE_LIB_SUFFIX else + CF_MAP_LIB_BASENAME(cf_libname,$cf_dir) cf_libname=${cf_libname}$USE_LIB_SUFFIX fi if test -n "${USE_ARG_SUFFIX}" ; then @@ -4521,7 +4772,7 @@ fi ]) ]) dnl --------------------------------------------------------------------------- -dnl CF_LIB_SUFFIX version: 25 updated: 2015/04/17 21:13:04 +dnl CF_LIB_SUFFIX version: 26 updated: 2020/04/04 10:11:47 dnl ------------- dnl Compute the library file-suffix from the given model name dnl $1 = model name @@ -4536,11 +4787,25 @@ AC_DEFUN([CF_LIB_SUFFIX], $3=[$]$2 ;; (Xdebug) - $2='_g.a' + case $cf_cv_system_name in + (*-msvc*) + $2='_g.lib' + ;; + (*) + $2='_g.a' + ;; + esac $3=[$]$2 ;; (Xprofile) - $2='_p.a' + case $cf_cv_system_name in + (*-msvc*) + $2='_p.lib' + ;; + (*) + $2='_p.a' + ;; + esac $3=[$]$2 ;; (Xshared) @@ -4549,6 +4814,10 @@ AC_DEFUN([CF_LIB_SUFFIX], $2='.so' $3=[$]$2 ;; + (*-msvc*) + $2='.dll' + $3='.dll.lib' + ;; (cygwin*|msys*|mingw*) $2='.dll' $3='.dll.a' @@ -4576,7 +4845,14 @@ AC_DEFUN([CF_LIB_SUFFIX], esac ;; (*) - $2='.a' + case $target in + (*-msvc*) + $2='.lib' + ;; + (*) + $2='.a' + ;; + esac $3=[$]$2 ;; esac @@ -4605,7 +4881,7 @@ AC_DEFUN([CF_LIB_TYPE], test -n "$LIB_SUFFIX" && $2="${LIB_SUFFIX}[$]{$2}" ])dnl dnl --------------------------------------------------------------------------- -dnl CF_LINK_DATAONLY version: 12 updated: 2017/07/23 17:46:07 +dnl CF_LINK_DATAONLY version: 13 updated: 2020/02/08 15:59:30 dnl ---------------- dnl Some systems have a non-ANSI linker that doesn't pull in modules that have dnl only data (i.e., no functions), for example NeXT. On those systems we'll @@ -4665,6 +4941,7 @@ if test "$cf_cv_link_dataonly" = no ; then AC_DEFINE(BROKEN_LINKER,1,[if data-only library module does not link]) BROKEN_LINKER=1 fi +AC_SUBST(BROKEN_LINKER) ])dnl dnl --------------------------------------------------------------------------- @@ -5365,6 +5642,17 @@ exit 0 CF_EOF chmod 755 $cf_edit_man +])dnl +dnl --------------------------------------------------------------------------- +dnl CF_MAP_LIB_BASENAME version: 1 updated: 2020/03/07 20:05:14 +dnl ------------------- +dnl Convert a default-libname to the actual one used via CF_WITH_LIB_BASENAME. +dnl +dnl $1 = variable to set +dnl $2 = default-libname +AC_DEFUN([CF_MAP_LIB_BASENAME],[ +CF_UPPER(cf_map_lib_basename,$2) +eval $1=\$${cf_map_lib_basename}_NAME ])dnl dnl --------------------------------------------------------------------------- dnl CF_MATH_LIB version: 9 updated: 2017/01/21 11:06:25 @@ -5905,11 +6193,15 @@ AC_PROG_AWK test -z "$AWK" && AC_MSG_ERROR(No awk program found) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_PROG_CC version: 4 updated: 2014/07/12 18:57:58 +dnl CF_PROG_CC version: 5 updated: 2019/12/31 08:53:54 dnl ---------- dnl standard check for CC, plus followup sanity checks dnl $1 = optional parameter to pass to AC_PROG_CC to specify compiler name AC_DEFUN([CF_PROG_CC],[ +CF_ACVERSION_CHECK(2.53, + [AC_MSG_WARN(this will incorrectly handle gnatgcc choice) + AC_REQUIRE([AC_PROG_CC])], + []) ifelse($1,,[AC_PROG_CC],[AC_PROG_CC($1)]) CF_GCC_VERSION CF_ACVERSION_CHECK(2.52, @@ -5974,20 +6266,40 @@ AC_DEFUN([CF_PROG_EGREP], test -z "$EGREP" && AC_MSG_ERROR(No egrep program found) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_PROG_GNAT version: 8 updated: 2018/11/10 19:47:04 +dnl CF_PROG_GNAT version: 10 updated: 2019/12/31 08:53:54 dnl ------------ -dnl Check for gnatmake, ensure that it is complete. +dnl Check for gnat/gnatmake/etc, ensure that the toolset is complete. AC_DEFUN([CF_PROG_GNAT],[ -cf_ada_make=gnatmake -cf_ada_config="#" -AC_CHECK_PROG(gnatmake_exists, $cf_ada_make, yes, no) -if test "$ac_cv_prog_gnatmake_exists" = no; then +for cf_prog_gnat in gnat gnatmake gprconfig gprbuild +do + CF_UPPER(cf_upper_prog_gnat,${cf_prog_gnat}) + + unset ac_cv_path_cf_TEMP_gnat + unset cf_TEMP_gnat + AC_PATH_PROG(cf_TEMP_gnat,$cf_prog_gnat,no) + eval cf_cv_PATH_$cf_upper_prog_gnat=[$]ac_cv_path_cf_TEMP_gnat + + if test "x$cf_TEMP_gnat" != xno; then + unset cf_cv_gnat_version + unset cf_TEMP_gnat + CF_GNAT_VERSION(cf_TEMP_gnat,$cf_prog_gnat) + fi + eval cf_cv_VERSION_$cf_upper_prog_gnat=[$]cf_TEMP_gnat + + unset cf_TEMP_gnat + unset cf_cv_gnat_version + unset ac_cv_path_cf_TEMP_gnat +done + +if test "x$cf_cv_VERSION_GNATMAKE" = "xno"; then cf_ada_make= cf_cv_prog_gnat_correct=no else - AC_CHECK_PROG(gprconfig_exists, gprconfig, yes, no) - if test "$ac_cv_prog_gprconfig_exists" = yes - then + cf_ada_make=gnatmake + if test "x$cf_cv_VERSION_GPRCONFIG" = "xno"; then + # gprconfig is newer than gnatmake; we can continue... + cf_ada_config="##" + else rm -rf conftest* *~conftest* if mkdir conftest.src then @@ -6023,17 +6335,15 @@ else cd .. rm -rf conftest* *~conftest* fi - else - # gprconfig is newer than gnatmake; we can continue... - cf_ada_config="##" fi if test "x$cf_ada_config" != "x#" then CF_GNAT_VERSION + CF_CHECK_GNAT_VERSION AC_CHECK_PROG(M4_exists, m4, yes, no) if test "$ac_cv_prog_M4_exists" = no; then cf_cv_prog_gnat_correct=no - echo Ada95 binding required program m4 not found. Ada95 binding disabled. + AC_MSG_WARN(Ada95 binding required program m4 not found. Ada95 binding disabled) fi if test "$cf_cv_prog_gnat_correct" = yes; then AC_MSG_CHECKING(if GNAT works) @@ -6045,7 +6355,9 @@ begin Text_IO.Put ("Hello World"); Text_IO.New_Line; GNAT.OS_Lib.OS_Exit (0); -end conftest;],[cf_cv_prog_gnat_correct=yes],[cf_cv_prog_gnat_correct=no]) +end conftest;], +[cf_cv_prog_gnat_correct=yes], +[cf_cv_prog_gnat_correct=no]) AC_MSG_RESULT($cf_cv_prog_gnat_correct) fi else @@ -6097,11 +6409,16 @@ fi AC_SUBST(LDCONFIG) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_PROG_LINT version: 3 updated: 2016/05/22 15:25:54 +dnl CF_PROG_LINT version: 4 updated: 2019/11/20 18:55:37 dnl ------------ AC_DEFUN([CF_PROG_LINT], [ AC_CHECK_PROGS(LINT, lint cppcheck splint) +case "x$LINT" in +(xcppcheck|x*/cppcheck) + test -z "$LINT_OPTS" && LINT_OPTS="--enable=all" + ;; +esac AC_SUBST(LINT_OPTS) ])dnl dnl --------------------------------------------------------------------------- @@ -6127,7 +6444,7 @@ AC_MSG_RESULT($cf_prog_ln_sf) test "$cf_prog_ln_sf" = yes && LN_S="$LN_S -f" ])dnl dnl --------------------------------------------------------------------------- -dnl CF_REGEX version: 12 updated: 2015/04/18 08:56:57 +dnl CF_REGEX version: 15 updated: 2020/09/12 18:30:01 dnl -------- dnl Attempt to determine if we've got one of the flavors of regular-expression dnl code that we can support. @@ -6135,24 +6452,34 @@ AC_DEFUN([CF_REGEX], [ cf_regex_func=no - -cf_regex_libs="regex re" +cf_regex_libs= case $host_os in (mingw*) - cf_regex_libs="gnurx $cf_regex_libs" + # -lsystre -ltre -lintl -liconv + AC_CHECK_LIB(systre,regcomp,[ + AC_CHECK_LIB(iconv,libiconv_open,[CF_ADD_LIB(iconv)]) + AC_CHECK_LIB(intl,libintl_gettext,[CF_ADD_LIB(intl)]) + AC_CHECK_LIB(tre,tre_regcomp,[CF_ADD_LIB(tre)]) + CF_ADD_LIB(systre) + cf_regex_func=regcomp + ],[ + AC_CHECK_LIB(gnurx,regcomp,cf_regex_func=regcomp) + ]) + ;; +(*) + cf_regex_libs="regex re" + AC_CHECK_FUNC(regcomp,[cf_regex_func=regcomp],[ + for cf_regex_lib in $cf_regex_libs + do + AC_CHECK_LIB($cf_regex_lib,regcomp,[ + CF_ADD_LIB($cf_regex_lib) + cf_regex_func=regcomp + break]) + done + ]) ;; esac -AC_CHECK_FUNC(regcomp,[cf_regex_func=regcomp],[ - for cf_regex_lib in $cf_regex_libs - do - AC_CHECK_LIB($cf_regex_lib,regcomp,[ - CF_ADD_LIB($cf_regex_lib) - cf_regex_func=regcomp - break]) - done -]) - if test "$cf_regex_func" = no ; then AC_CHECK_FUNC(compile,[cf_regex_func=compile],[ AC_CHECK_LIB(gen,compile,[ @@ -6174,6 +6501,8 @@ case $cf_regex_func in AC_TRY_LINK([#include <$cf_regex_hdr>],[ char *p = compile("", "", "", 0); int x = step("", ""); + (void)p; + (void)x; ],[ cf_cv_regex_hdrs=$cf_regex_hdr break @@ -6185,9 +6514,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 @@ -6237,6 +6568,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], @@ -6354,7 +6696,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: 102 updated: 2020/08/22 18:17:19 dnl -------------- dnl -------------- dnl Attempt to determine the appropriate CC/LD options for creating a shared @@ -6580,6 +6947,112 @@ 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=msvcdll + cf_cv_shlib_version_infix=msvcdll + 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.lib" + cat >mk_shared_lib.sh <<-CF_EOF + #!$SHELL + SHARED_LIB=\[$]1 + IMPORT_LIB=\`echo "\[$]1" | sed -e 's/[[0-9]]*\.dll[$]/.dll.lib/'\` + 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*)#\1.dll.lib#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 + cat >mk_prog.sh <<-CF_EOF + #!$SHELL + shift + # Ignore first argument (compiler) and use LD (link.exe) unconditionally + LD="[$]LD" + clopts=() + ldopts=("/subsystem:console") + libs=() + isdll=0 + while test \[$]# -gt 0; do + case "\[$]1" in + -link) + # ignore -link argument + ;; + -M[[TD]] | -M[[TD]]d) + # ignore runtime-library option + ;; + -dll) + isdll=1 + ;; + -W* | -w*) + # ignore warnings + ;; + -D*) + clopts+=("\[$]1") + ;; + -I*) + clopts+=("\[$]1") + ;; + -l*) + libs+=("\`echo \"\[$]1\" | sed \"s/^-l//\"\`") + ;; + -L*) + ldopts+=("\`echo \"\[$]1\" | sed \"s/^-L/-LIBPATH:/\"\`") + ;; + *.obj | *.o) + ldopts+=("\[$]1") + ;; + -Wl,*) + for linkarg in \`echo '\[$]1' | sed -e 's/-Wl,//' -e 's/,/ /'\`; do + ldopts+=("\[$]{linkarg}") + done + ;; + *.lib) + ldopts+=("\[$]1") + ;; + -o) + shift + ldopts+=("-out:\[$]1") + ;; + *) + clopts+=("\[$]1") + ldopts+=("\[$]1") + ;; + esac + shift + done + if [[ "\$isdll" -ne 0 ]]; then + for lib in \[$]{libs[[*]]}; do + ldopts+=("\[$]lib.dll.lib") + done + else + for lib in \[$]{libs[[*]]}; do + ldopts+=("\[$]lib.lib") + done + fi + cat <<-EOF + Creating program + ** ld options: "\[$]{ldopts[[@]]}" +EOF + exec \[$]LD \[$]{ldopts[[@]]} +CF_EOF + chmod +x mk_prog.sh + LINK_PROGS="$SHELL ${rel_builddir}/mk_prog.sh" + LINK_TESTS="$SHELL ${rel_builddir}/mk_prog.sh" + ;; (mingw*) cf_cv_shlib_version=mingw cf_cv_shlib_version_infix=mingw @@ -6619,6 +7092,14 @@ CF_EOF CF_SHARED_SONAME MK_SHARED_LIB='${CC} ${LDFLAGS} ${CFLAGS} -shared -Wl,-Bshareable,-soname,'$cf_cv_shared_soname',-stats,-lc -o $[@]' ;; + (nskJ*) + CC_SHARED_OPTS= + MK_SHARED_LIB='${LD} -Wshared -Weld=-export_all -o $[@]' + ;; + (nskL*) + CC_SHARED_OPTS= + MK_SHARED_LIB='${LD} -Wshared -Wxld=-export_all -o $[@]' + ;; (nto-qnx*|openbsd*|freebsd[[12]].*) CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC" MK_SHARED_LIB='${LD} ${LDFLAGS} -Bshareable -o $[@]' @@ -6650,7 +7131,7 @@ CF_EOF CF_SHARED_SONAME MK_SHARED_LIB='${CC} ${LDFLAGS} ${CFLAGS} -shared -Wl,-soname,'$cf_cv_shared_soname' -o $[@]' else - MK_SHARED_LIB='${CC} ${LDFLAGS} ${CFLAGS} -Wl,-shared -Wl,-Bshareable -o $[@]' + MK_SHARED_LIB='${CC} ${LDFLAGS} ${CFLAGS} -shared -o $[@]' fi ;; (osf*|mls+*) @@ -6815,7 +7296,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). @@ -6830,7 +7311,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 @@ -6838,7 +7319,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]) ]) @@ -6860,7 +7341,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]) @@ -6874,9 +7355,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], [ @@ -6896,6 +7377,7 @@ extern $cf_type x; $cf_type x; static void handler(int sig) { + (void)sig; x = 5; }], [signal(SIGINT, handler); @@ -6909,7 +7391,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 @@ -6952,13 +7434,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 */ @@ -6985,7 +7471,7 @@ if test "$cf_cv_sizechange" != no ; then fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_SRC_MODULES version: 30 updated: 2017/07/26 17:08:35 +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 @@ -6995,6 +7481,7 @@ dnl This uses the configured value to make the lists SRC_SUBDIRS and dnl SUB_MAKEFILES which are used in the makefile-generation scheme. AC_DEFUN([CF_SRC_MODULES], [ +AC_REQUIRE([CF_CHECK_GNAT_VERSION]) AC_MSG_CHECKING(for src modules) # dependencies and linker-arguments for test-programs @@ -7038,14 +7525,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 @@ -7195,7 +7683,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],[ @@ -7218,12 +7706,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])) ]) @@ -8163,6 +8651,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 @@ -8262,7 +8779,33 @@ AC_SUBST($3)dnl ])dnl dnl --------------------------------------------------------------------------- -dnl CF_WITH_PCRE2 version: 2 updated: 2018/07/14 16:47:56 +dnl CF_WITH_PATH_PROG version: 1 updated: 2019/06/30 19:44:43 +dnl ----------------- +dnl Check for a given program, like CF_PATH_PROG, but allow override using a +dnl "--with-xxx" option. +dnl +dnl Parameters: +dnl $1 = environment variable to set/update +dnl $2 = program name +dnl $3 = help-text +dnl $4 = $PATH +AC_DEFUN([CF_WITH_PATH_PROG],[ +AC_ARG_WITH($2-path, + [ --with-$2-path=XXX specify path of $2 ifelse($3,,,$3)], + [AC_MSG_CHECKING(for $2 program ifelse($3,,,$3)) + $1=$withval + AC_MSG_RESULT([$]$1) + CF_PATH_SYNTAX($1) + ], + [CF_PATH_PROG($1,$2,,ifelse($4,,,$4)) + if test -z "[$]$1" + then + AC_MSG_WARN(no $2 program found ifelse($3,,,$3)) + fi + ]) +]) +dnl --------------------------------------------------------------------------- +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 @@ -8300,7 +8843,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 --------------------------------------------------------------------------- @@ -8385,32 +8928,6 @@ fi AC_SUBST(PKG_CONFIG_LIBDIR) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_WITH_PATH_PROG version: 1 updated: 2019/06/30 19:44:43 -dnl ----------------- -dnl Check for a given program, like CF_PATH_PROG, but allow override using a -dnl "--with-xxx" option. -dnl -dnl Parameters: -dnl $1 = environment variable to set/update -dnl $2 = program name -dnl $3 = help-text -dnl $4 = $PATH -AC_DEFUN([CF_WITH_PATH_PROG],[ -AC_ARG_WITH($2-path, - [ --with-$2-path=XXX specify path of $2 ifelse($3,,,$3)], - [AC_MSG_CHECKING(for $2 program ifelse($3,,,$3)) - $1=$withval - AC_MSG_RESULT([$]$1) - CF_PATH_SYNTAX($1) - ], - [CF_PATH_PROG($1,$2,,ifelse($4,,,$4)) - if test -z "[$]$1" - then - AC_MSG_WARN(no $2 program found ifelse($3,,,$3)) - fi - ]) -]) -dnl --------------------------------------------------------------------------- dnl CF_WITH_PTHREAD version: 7 updated: 2015/04/18 08:56:57 dnl --------------- dnl Check for POSIX thread library. @@ -8673,7 +9190,7 @@ AC_SUBST(VERSIONED_SYMS) AC_SUBST(WILDCARD_SYMS) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_WITH_X11_RGB version: 1 updated: 2017/11/25 17:32:16 +dnl CF_WITH_X11_RGB version: 2 updated: 2019/12/31 08:53:54 dnl --------------- dnl Handle configure option "--with-x11-rgb", setting these shell dnl variables: @@ -8749,7 +9266,7 @@ fi AC_MSG_RESULT($RGB_PATH) AC_SUBST(RGB_PATH) -AC_DEFINE_UNQUOTED(RGB_PATH,"$cf_path") +AC_DEFINE_UNQUOTED(RGB_PATH,"$cf_path",[Define to the full pathname of rgb.txt]) no_x11_rgb= if test "$RGB_PATH" = no