X-Git-Url: https://ncurses.scripts.mit.edu/?a=blobdiff_plain;f=aclocal.m4;h=9d6f1e5694fd1c7fd397042cd815b5572fb81c53;hb=5c90fc94a5ac426a5e51732720767d5f0041830d;hp=d4b68fdf0f381f6580e7640a56f7fafb71b66d9e;hpb=c976a90788f3e50afc773670ff74c5270ecb48df;p=ncurses.git diff --git a/aclocal.m4 b/aclocal.m4 index d4b68fdf..9d6f1e56 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -29,7 +29,7 @@ dnl*************************************************************************** dnl dnl Author: Thomas E. Dickey 1995-on dnl -dnl $Id: aclocal.m4,v 1.912 2020/04/04 20:16:13 tom Exp $ +dnl $Id: aclocal.m4,v 1.933 2020/09/26 23:57:07 tom Exp $ dnl Macros used in NCURSES auto-configuration script. dnl dnl These macros are maintained separately from NCURSES. The copyright on @@ -158,23 +158,6 @@ AC_DEFUN([CF_ADD_ADAFLAGS],[ AC_SUBST(ADAFLAGS) ])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_CFLAGS version: 14 updated: 2020/04/04 16:16:13 dnl ------------- dnl Copy non-preprocessor flags to $CFLAGS, preprocessor flags to $CPPFLAGS @@ -262,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 @@ -1196,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 ;; (*) @@ -1450,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 @@ -1481,6 +1481,10 @@ 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: 4 updated: 2020/03/10 18:53:47 @@ -1989,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 @@ -2217,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 @@ -2532,14 +2600,14 @@ esac ])dnl dnl --------------------------------------------------------------------------- -dnl CF_GCC_ATTRIBUTES version: 18 updated: 2020/03/10 18:53:47 +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 <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 @@ -6940,6 +7094,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 $[@]' @@ -6971,7 +7133,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+*)