dnl***************************************************************************
-dnl Copyright (c) 2010-2019,2020 Free Software Foundation, Inc. *
+dnl Copyright 2018-2019,2020 Thomas E. Dickey *
+dnl Copyright 2010-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 *
dnl
dnl Author: Thomas E. Dickey
dnl
-dnl $Id: aclocal.m4,v 1.151 2020/01/11 23:42:04 tom Exp $
+dnl $Id: aclocal.m4,v 1.155 2020/03/20 00:23:48 tom Exp $
dnl Macros used in NCURSES Ada95 auto-configuration script.
dnl
dnl These macros are maintained separately from NCURSES. The copyright on
fi
])
dnl ---------------------------------------------------------------------------
-dnl CF_CONST_X_STRING version: 3 updated: 2020/01/11 18:39:22
+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.
#include <stdlib.h>
#include <X11/Intrinsic.h>
],
-[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(
])
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_CONST_X_STRING version: 3 updated: 2020/01/11 18:39:22
+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.
#include <stdlib.h>
#include <X11/Intrinsic.h>
],
-[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(
AC_MSG_RESULT($enable_gnat_projects)
])dnl
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_FIND_LIBRARY version: 9 updated: 2008/03/23 14:48:54
dnl ---------------
dnl Look for a non-standard library, given parameters for AC_TRY_LINK. We
AC_MSG_RESULT($ADAFLAGS)
])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
extern void wow(char *,...) GCC_SCANFLIKE(1,2);
extern void oops(char *,...) GCC_PRINTFLIKE(1,2) GCC_NORETURN;
extern void foo(void) GCC_NORETURN;
-int main(int argc GCC_UNUSED, char *argv[[]] GCC_UNUSED) { return 0; }
+int main(int argc GCC_UNUSED, char *argv[[]] GCC_UNUSED) { (void)argc; (void)argv; return 0; }
EOF
cf_printf_attribute=no
cf_scanf_attribute=no
fi
])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],[
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])
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
AC_DEFINE(BROKEN_LINKER,1,[if data-only library module does not link])
BROKEN_LINKER=1
fi
+AC_SUBST(BROKEN_LINKER)
])dnl
dnl ---------------------------------------------------------------------------
,[$1=no])
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_NCURSES_CONFIG version: 21 updated: 2018/06/20 20:23:13
+dnl CF_NCURSES_CONFIG version: 23 updated: 2020/02/27 05:21:59
dnl -----------------
dnl Tie together the configure-script macros for ncurses, preferring these in
dnl order:
AC_MSG_CHECKING(if the $cf_ncuconfig_root package files work)
cf_have_ncuconfig=unknown
+ cf_save_CFLAGS="$CFLAGS"
cf_save_CPPFLAGS="$CPPFLAGS"
cf_save_LIBS="$LIBS"
- CF_ADD_CFLAGS(`$PKG_CONFIG --cflags $cf_ncuconfig_root`)
- CF_ADD_LIBS(`$PKG_CONFIG --libs $cf_ncuconfig_root`)
+ cf_pkg_cflags=`$PKG_CONFIG --cflags $cf_ncuconfig_root`
+ cf_pkg_libs=`$PKG_CONFIG --libs $cf_ncuconfig_root`
+
+ # while -W for passing linker flags is prevalent, it is not "standard".
+ # At least one wrapper for c89/c99 (in Apple's xcode) has its own
+ # incompatible _and_ non-standard -W option which gives an error. Work
+ # around that pitfall.
+ case "x${CC}@@${cf_pkg_libs}@${cf_pkg_cflags}" in
+ (x*c[[89]]9@@*-W*)
+ CF_ADD_CFLAGS($cf_pkg_cflags)
+ CF_ADD_LIBS($cf_pkg_libs)
+
+ AC_TRY_LINK([#include <${cf_cv_ncurses_header:-curses.h}>],
+ [initscr(); mousemask(0,0); tgoto((char *)0, 0, 0);],
+ [AC_TRY_RUN([#include <${cf_cv_ncurses_header:-curses.h}>
+ int main(void)
+ { char *xx = curses_version(); return (xx == 0); }],
+ [cf_test_ncuconfig=yes],
+ [cf_test_ncuconfig=no],
+ [cf_test_ncuconfig=maybe])],
+ [cf_test_ncuconfig=no])
+
+ CFLAGS="$cf_save_CFLAGS"
+ CPPFLAGS="$cf_save_CPPFLAGS"
+ LIBS="$cf_save_LIBS"
+
+ if test "x$cf_test_ncuconfig" != xyes; then
+ cf_temp=`echo "x$cf_pkg_cflags" | sed -e s/^x// -e 's/-W[[^ ]]*//g'`
+ cf_pkg_cflags="$cf_temp"
+ cf_temp=`echo "x$cf_pkg_libs" | sed -e s/^x// -e 's/-W[[^ ]]*//g'`
+ cf_pkg_libs="$cf_temp"
+ fi
+ ;;
+ esac
+
+ CF_ADD_CFLAGS($cf_pkg_cflags)
+ CF_ADD_LIBS($cf_pkg_libs)
AC_TRY_LINK([#include <${cf_cv_ncurses_header:-curses.h}>],
[initscr(); mousemask(0,0); tgoto((char *)0, 0, 0);],
done
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_SHARED_OPTS version: 93 updated: 2018/08/18 16:36:35
+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
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
done
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_TERM_HEADER version: 4 updated: 2015/04/15 19:08:48
+dnl CF_TERM_HEADER version: 5 updated: 2020/03/19 20:23:48
dnl --------------
dnl Look for term.h, which is part of X/Open curses. It defines the interface
dnl to terminfo database. Usually it is in the same include-path as curses.h,
AC_TRY_COMPILE([#include <stdio.h>
#include <${cf_cv_ncurses_header:-curses.h}>
#include <$cf_test>
-],[int x = auto_left_margin],[
+],[int x = auto_left_margin; (void)x],[
cf_cv_term_header="$cf_test"],[
cf_cv_term_header=unknown
])