[libvirt] [PATCH 4/3] build: allow caching the input to STATIC_ANALYSIS
Laine Stump
laine at laine.org
Tue Aug 2 19:26:42 UTC 2011
On 08/02/2011 02:31 PM, Eric Blake wrote:
> 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.
> ---
>
> I _thought_ some of those false positives were looking familiar
> from my last coverity run. Turns out I inadvertantly managed
> to lose my STATIC_ANALYSIS define.
>
> configure.ac | 11 +++++++++--
> 1 files changed, 9 insertions(+), 2 deletions(-)
>
> diff --git a/configure.ac b/configure.ac
> index 7c4fb32..10487e5 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.])
>
ACK.
More information about the libvir-list
mailing list