From e4047f0a10a7d28421133989b80d273d87758627 Mon Sep 17 00:00:00 2001 From: Eric Blake Date: Tue, 2 Aug 2011 12:25:58 -0600 Subject: [PATCH] build: allow caching the input to STATIC_ANALYSIS Right now, every re-run of configure re-evaluates whether a static analysis tool is in use. But if you run configure under coverity, make a tweak, and then do an incremental rebuild with gcc but not coverity to test the tweak, then rerun a build under coverity, then configure does not get rerun, and static analysis ends up with lots of false positives. This patch caches the static analysis result, and also makes it easier to force static analysis even if the existing checks are insufficient to detect newer versions of the static analyzer tools. * configure.ac (lv_cv_static_analysis): New cache variable. --- configure.ac | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac index 7c4fb32a26..10487e5ee5 100644 --- a/configure.ac +++ b/configure.ac @@ -2404,9 +2404,16 @@ cp -f COPYING.LIB COPYING # Detect when running under the clang static analyzer's scan-build driver # or Coverity-prevent's cov-build. Define STATIC_ANALYSIS accordingly. +AC_CACHE_CHECK([whether this build is done by a static analysis tool], + [lv_cv_static_analysis], [ + lv_cv_static_analysis=no + if test -n "${CCC_ANALYZER_ANALYSIS+set}" || \ + test -n "$COVERITY_BUILD_COMMAND$COVERITY_LD_PRELOAD"; then + lv_cv_static_analysis=yes + fi + ]) t=0 -test -n "${CCC_ANALYZER_ANALYSIS+set}" && t=1 -test -n "$COVERITY_BUILD_COMMAND$COVERITY_LD_PRELOAD" && t=1 +test "x$lv_cv_static_analysis" = xyes && t=1 AC_DEFINE_UNQUOTED([STATIC_ANALYSIS], [$t], [Define to 1 when performing static analysis.])