[libvirt] [PATCH 2/7] build: set STATIC_ANALYSIS when running via clang or coverity

Jim Meyering jim at meyering.net
Wed Apr 14 16:43:01 UTC 2010


Eric Blake wrote:

> On 04/14/2010 10:02 AM, Jim Meyering wrote:
>> From: Jim Meyering <meyering at redhat.com>
>>
>> * configure.ac (STATIC_ANALYSIS): Define when run via clang's
>> scan-build or coverity-prevent's cov-build.
>> Use the CLANG_CC and COVERITY_BUILD_COMMAND envvars as witnesses.
>> ---
>>  configure.ac |    6 ++++++
>>  1 files changed, 6 insertions(+), 0 deletions(-)
>>
>> diff --git a/configure.ac b/configure.ac
>> index 3505b4a..664eaf0 100644
>> --- a/configure.ac
>> +++ b/configure.ac
>> @@ -2000,6 +2000,12 @@ AM_CONDITIONAL([WITH_MACVTAP], [test "$with_macvtap" = "yes"])
>>  test "x$srcdir" = x. && ! test -f COPYING &&
>>  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.
>> +test -n "$$CCC_ANALYZER_ANALYSIS$COVERITY_BUILD_COMMAND" && t=1 || t=0
>
> Typo.  This isn't make, so you are blindly setting t=1.  And to be
> robust to $COVERITY_BUILD starting with -, it might be better as:
>
> test "x$CCC_ANALYZER_ANALYSIS$COVERITY_BUILD_COMMAND" = x && t=0 || t=1

Good catch.  Fixed.
FYI, before this week, I was using $CLANG_CC$COVERITY_BUILD_COMMAND,
and only changed it to use $CCC_ANALYZER_ANALYSIS (with the new typo)
due to the fact that CLANG_CC is not defined via rawhide's scan-build.

>> +AC_DEFINE_UNQUOTED([STATIC_ANALYSIS], [$t],
>> +  [Define to 1 when performing static analysis.])
>> +
>>  AC_OUTPUT(Makefile src/Makefile include/Makefile docs/Makefile \
>>  	  docs/schemas/Makefile \
>>  	  gnulib/lib/Makefile \
>
> But ACK to the concept, if 1/7 is independently ACK'd.




More information about the libvir-list mailing list