Eric Blake wrote:
On 04/14/2010 10:02 AM, Jim Meyering wrote:
> From: Jim Meyering <meyering(a)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.