mirror of
https://github.com/zeromq/libzmq.git
synced 2024-12-12 10:33:52 +01:00
Problem: Coverage option broken with LLVM GCOV
Solution: This is an issue with the imported Autoconf M4 macro package for standardised code coverage builds, i.e. using --enable-code-coverage. The simplest way that I could find is to add a case statement that checks if the output of running `gcov -version` contains the "LLVM" keyword; if that is true then do not link with LIBGCOV as its neither required nor supported when using the GCOV frontend for LLVM; least not on Mac OS X. The case statement would also be the most portable. Moreover, using the "-version" argument instead of "-v" seems to be the best bet as that is supported by the normal GCOV and LLVM GCOV frontend. Upstream candidate - this solution should be improved by Autoconf M4 macro overlords and applied to the upstream M4 package; I could not find a suitable way to detect if LLVM GCOV is being used, except for the solution herein; this should also work on *BSD too.
This commit is contained in:
parent
c4ce6d9b1b
commit
415af27395
@ -143,7 +143,14 @@ AC_DEFUN([AX_CODE_COVERAGE],[
|
||||
CODE_COVERAGE_CPPFLAGS="-DNDEBUG"
|
||||
CODE_COVERAGE_CFLAGS="-O0 -g -fprofile-arcs -ftest-coverage"
|
||||
CODE_COVERAGE_CXXFLAGS="-O0 -g -fprofile-arcs -ftest-coverage"
|
||||
CODE_COVERAGE_LDFLAGS="-lgcov"
|
||||
|
||||
dnl Libgcov is not required for the LLVM GCOV frontend
|
||||
case "`$GCOV -version`" in
|
||||
*LLVM*)
|
||||
CODE_COVERAGE_LDFLAGS="";;
|
||||
*)
|
||||
CODE_COVERAGE_LDFLAGS="-lgcov";;
|
||||
esac
|
||||
|
||||
AC_SUBST([CODE_COVERAGE_CPPFLAGS])
|
||||
AC_SUBST([CODE_COVERAGE_CFLAGS])
|
||||
|
Loading…
Reference in New Issue
Block a user