X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=aclocal.m4;h=1d8668553cbc7cdf2d6c76c7a829977b43ea8b68;hp=e2ce26332bf6dcb7fafd32e889726806cde13f2d;hb=2ba352d86b57bddd1dd2a6e20892f380c34180b7;hpb=0ff9bcb7f97617085a8b8cba4a7ee374bb969cc9;ds=sidebyside diff --git a/aclocal.m4 b/aclocal.m4 index e2ce2633..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.889 2019/12/31 13:58:42 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 @@ -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,13 +1196,13 @@ then fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_CHECK_GNAT_VERSION version: 2 updated: 2019/12/31 08:53:54 +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]].*|20[[0-9]][[0-9]]) +(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 ;; (*) @@ -1391,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 @@ -1422,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. @@ -1445,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( @@ -1466,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) @@ -1810,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 @@ -1902,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 @@ -2130,6 +2251,40 @@ AC_DEFUN([CF_FIXUP_ADAFLAGS],[ AC_MSG_RESULT($ADAFLAGS) ])dnl dnl --------------------------------------------------------------------------- +dnl CF_FIX_WARNINGS version: 2 updated: 2020/08/28 15:08:28 +dnl --------------- +dnl Warning flags do not belong in CFLAGS, CPPFLAGS, etc. Any of gcc's +dnl "-Werror" flags can interfere with configure-checks. Those go into +dnl EXTRA_CFLAGS. +dnl +dnl $1 = variable name to repair +define([CF_FIX_WARNINGS],[ +if ( test "$GCC" = yes || test "$GXX" = yes ) +then + case [$]$1 in + (*-Werror=*) + CF_VERBOSE(repairing $1: [$]$1) + cf_temp_flags= + for cf_temp_scan in [$]$1 + do + case "x$cf_temp_scan" in + (x-Werror=*) + CF_APPEND_TEXT(EXTRA_CFLAGS,"$cf_temp_scan") + ;; + (*) + CF_APPEND_TEXT(cf_temp_flags,"$cf_temp_scan") + ;; + esac + done + $1="$cf_temp_flags" + CF_VERBOSE(... fixed [$]$1) + CF_VERBOSE(... extra $EXTRA_CFLAGS) + ;; + esac +fi +AC_SUBST(EXTRA_CFLAGS) +])dnl +dnl --------------------------------------------------------------------------- dnl CF_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 @@ -2445,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 <],[ char *p = compile("", "", "", 0); int x = step("", ""); + (void)p; + (void)x; ],[ cf_cv_regex_hdrs=$cf_regex_hdr break @@ -6295,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 @@ -6347,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], @@ -6464,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 @@ -6690,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 @@ -6729,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 $[@]' @@ -6760,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+*) @@ -6925,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). @@ -6940,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 @@ -6948,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]) ]) @@ -6970,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]) @@ -6984,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], [ @@ -7006,6 +7377,7 @@ extern $cf_type x; $cf_type x; static void handler(int sig) { + (void)sig; x = 5; }], [signal(SIGINT, handler); @@ -7019,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 @@ -7062,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 */ @@ -7095,7 +7471,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 +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 @@ -7306,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],[ @@ -7329,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])) ]) @@ -8274,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 @@ -8399,7 +8805,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 +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 ---------------------------------------------------------------------------