autoconf
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Nested AS_IF calls


From: Eric Blake
Subject: Re: Nested AS_IF calls
Date: Thu, 07 Jun 2012 09:04:48 -0600
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:12.0) Gecko/20120430 Thunderbird/12.0.1

On 06/07/2012 07:59 AM, Adam Mercer wrote:
> Hi
> 
> I'm trying to add a check to my configure.ac to determine if clang is
> being used, I have the following:
> 
> CLANG_CC=
> if test "$GCC" = yes; then
>   if test "`$CC -v 2>&1 | grep -c 'clang version'`" != "0"; then
>     CLANG_CC=1
>   fi
> fi
> 
> And I'm trying to use AS_IF instead, I've been reading to
> documentation[1], and have come up with the following:
> 
> AS_IF([test "$GCC" = yes],[
                            ^

Unmatched [.

>   [AS_IF([test "`$CC -v 2>&1 | grep -c 'clang_version'`" != 
> "0"],[CLANG_CC=1])],
>   [CLANG_CC=])

What you are doing should work, once you fix the typo; this is what I
see in a resulting configure file after pasting in a corrected version
of your attempt:

if test "$GCC" = yes; then :
  if test "`$CC -v 2>&1 | grep -c 'clang_version'`" != "0"; then :
  CLANG_CC=1
fi
else
  CLANG_CC=
fi

Yeah, the formatting is not as pretty as what you started with, but when
was generated configure ever formatted nicely?

You will also notice that you had a logic change - your original code
left CLANG_CC explicitly set to the empty string in all but the
double-success case, but your AS_IF attempt leaves CLANG_CC undefined
rather than explicitly empty on the success/failure path.

> 
> but it doesn't seem to be working, whereas the version using if does.
> Therefore I must be incorrectly constructing the nested use of AS_IF.
> Can anyone spot what I'm doing wrong? Or know of a better way to check
> if clang is being used?

Libvirt uses:

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
  ])

-- 
Eric Blake   address@hidden    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]