+2017-08-05 Paul Eggert <eggert@cs.ucla.edu>
+
+ valgrind-tests: use ls, and cache
+ * m4/valgrind-tests.m4: Test ls, not bash.
+ Problem reported by Reuben Thomas.
+ Also, cache the result so that it can be overridden.
+
2017-08-04 Paul Eggert <eggert@cs.ucla.edu>
manywarnings: port to 64-bit GCC builds of Emacs
-# valgrind-tests.m4 serial 3
+# valgrind-tests.m4 serial 4
dnl Copyright (C) 2008-2017 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
# Check if valgrind is available, and set VALGRIND to it if available.
AC_DEFUN([gl_VALGRIND_TESTS],
[
- AC_ARG_ENABLE(valgrind-tests,
+ AC_ARG_ENABLE([valgrind-tests],
AS_HELP_STRING([--disable-valgrind-tests],
[don't try to run self tests under valgrind]),
[opt_valgrind_tests=$enableval], [opt_valgrind_tests=yes])
# Run self-tests under valgrind?
if test "$opt_valgrind_tests" = "yes" && test "$cross_compiling" = no; then
- AC_CHECK_PROGS(VALGRIND, valgrind)
- fi
+ AC_CHECK_PROGS([VALGRIND], [valgrind])
- OPTS="-q --error-exitcode=1 --leak-check=full"
+ if test "$VALGRIND"; then
+ AC_CACHE_CHECK([for valgrind options for tests],
+ [gl_cv_opt_valgrind_tests],
+ [gl_cv_opt_valgrind_tests="-q --error-exitcode=1 --leak-check=full"
+ $VALGRIND $gl_valgrind_opts ls > /dev/null 2>&1 ||
+ gl_cv_opt_valgrind_tests=no])
- if test -n "$VALGRIND" \
- && $VALGRIND $OPTS $SHELL -c 'exit 0' > /dev/null 2>&1; then
- opt_valgrind_tests=yes
- VALGRIND="$VALGRIND $OPTS"
- else
- opt_valgrind_tests=no
- VALGRIND=
+ if test "$gl_cv_opt_valgrind_tests" != no; then
+ VALGRIND="$VALGRIND $gl_cv_opt_valgrind_tests"
+ else
+ VALGRIND=
+ fi
+ fi
fi
-
- AC_MSG_CHECKING([whether self tests are run under valgrind])
- AC_MSG_RESULT($opt_valgrind_tests)
])