Ask brew for valgrind include path

Valgrind is typically installed using brew on macOS. This commit
makes ./configure detect this case set the appropriate include
directory (in the same way as we already do for openssl and gmp).
This commit is contained in:
Tim Ruffing 2020-12-23 22:08:03 +01:00
parent 8c727b9087
commit 252c19dfc6
2 changed files with 21 additions and 3 deletions

View File

@ -87,3 +87,11 @@ if test x"$has_gmp" != x"yes"; then
LIBS="$LIBS_TEMP" LIBS="$LIBS_TEMP"
fi fi
]) ])
AC_DEFUN([SECP_VALGRIND_CHECK],[
if test x"$has_valgrind" != x"yes"; then
CPPFLAGS_TEMP="$CPPFLAGS"
CPPFLAGS="$VALGRIND_CPPFLAGS $CPPFLAGS"
AC_CHECK_HEADER([valgrind/memcheck.h], [has_valgrind=yes; AC_DEFINE(HAVE_VALGRIND,1,[Define this symbol if valgrind is installed])])
fi
])

View File

@ -40,9 +40,9 @@ case $host_os in
dnl These Homebrew packages may be keg-only, meaning that they won't be found dnl These Homebrew packages may be keg-only, meaning that they won't be found
dnl in expected paths because they may conflict with system files. Ask dnl in expected paths because they may conflict with system files. Ask
dnl Homebrew where each one is located, then adjust paths accordingly. dnl Homebrew where each one is located, then adjust paths accordingly.
openssl_prefix=`$BREW --prefix openssl 2>/dev/null` openssl_prefix=`$BREW --prefix openssl 2>/dev/null`
gmp_prefix=`$BREW --prefix gmp 2>/dev/null` gmp_prefix=`$BREW --prefix gmp 2>/dev/null`
valgrind_prefix=`$BREW --prefix valgrind 2>/dev/null`
if test x$openssl_prefix != x; then if test x$openssl_prefix != x; then
PKG_CONFIG_PATH="$openssl_prefix/lib/pkgconfig:$PKG_CONFIG_PATH" PKG_CONFIG_PATH="$openssl_prefix/lib/pkgconfig:$PKG_CONFIG_PATH"
export PKG_CONFIG_PATH export PKG_CONFIG_PATH
@ -52,6 +52,9 @@ case $host_os in
GMP_CPPFLAGS="-I$gmp_prefix/include" GMP_CPPFLAGS="-I$gmp_prefix/include"
GMP_LIBS="-L$gmp_prefix/lib" GMP_LIBS="-L$gmp_prefix/lib"
fi fi
if test x$valgrind_prefix != x; then
VALGRIND_CPPFLAGS="-I$valgrind_prefix/include"
fi
else else
AC_PATH_PROG([PORT],port,) AC_PATH_PROG([PORT],port,)
dnl if homebrew isn't installed and macports is, add the macports default paths dnl if homebrew isn't installed and macports is, add the macports default paths
@ -180,12 +183,15 @@ AC_ARG_WITH([valgrind], [AS_HELP_STRING([--with-valgrind=yes|no|auto],
if test x"$req_valgrind" = x"no"; then if test x"$req_valgrind" = x"no"; then
enable_valgrind=no enable_valgrind=no
else else
AC_CHECK_HEADER([valgrind/memcheck.h], [enable_valgrind=yes], [ SECP_VALGRIND_CHECK
if test x"$has_valgrind" != x"yes"; then
if test x"$req_valgrind" = x"yes"; then if test x"$req_valgrind" = x"yes"; then
AC_MSG_ERROR([Valgrind support explicitly requested but valgrind/memcheck.h header not available]) AC_MSG_ERROR([Valgrind support explicitly requested but valgrind/memcheck.h header not available])
fi fi
enable_valgrind=no enable_valgrind=no
], []) else
enable_valgrind=yes
fi
fi fi
AM_CONDITIONAL([VALGRIND_ENABLED],[test "$enable_valgrind" = "yes"]) AM_CONDITIONAL([VALGRIND_ENABLED],[test "$enable_valgrind" = "yes"])
@ -424,6 +430,10 @@ if test x"$set_bignum" = x"gmp"; then
SECP_INCLUDES="$SECP_INCLUDES $GMP_CPPFLAGS" SECP_INCLUDES="$SECP_INCLUDES $GMP_CPPFLAGS"
fi fi
if test x"$enable_valgrind" = x"yes"; then
SECP_INCLUDES="$SECP_INCLUDES $VALGRIND_CPPFLAGS"
fi
if test x"$set_precomp" = x"yes"; then if test x"$set_precomp" = x"yes"; then
AC_DEFINE(USE_ECMULT_STATIC_PRECOMPUTATION, 1, [Define this symbol to use a statically generated ecmult table]) AC_DEFINE(USE_ECMULT_STATIC_PRECOMPUTATION, 1, [Define this symbol to use a statically generated ecmult table])
fi fi