[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 1/3] autoconf: prefer an unrolled loop for trivial AC_CHECK_F
From: |
Paolo Bonzini |
Subject: |
Re: [PATCH 1/3] autoconf: prefer an unrolled loop for trivial AC_CHECK_FUNCS |
Date: |
Mon, 31 Oct 2016 16:33:56 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 |
On 31/10/2016 16:28, Eric Blake wrote:
> On 10/31/2016 06:39 AM, Paolo Bonzini wrote:
>> An unrolled loop avoids the cost of spawning sed in AS_TR_SH and
>> AS_TR_CPP. Prefer it if there is nothing in the second and third
>> argument of AC_CHECK_FUNCS and the first argument is a literal.
>> Modify AC_CHECK_FUNCS_ONCE to avoid the variable indirection too.
>>
>> * lib/autoconf/functions.m4 (AC_CHECK_FUNCS): Unroll loop if safe.
>> (_AC_CHECK_FUNCS): Move basic implementation here.
>> (_AC_CHECK_FUNC_ONCE): Expand AC_CHECK_FUNCS here...
>> (_AC_FUNCS_EXPANSION): ... and not here, so remove.
>
>> - [$3])dnl])
>> +[m4_if([$2$3]AS_LITERAL_IF([$1], [yes], [no]), []yes,
>
> Why []yes instead of the more typical [yes] ?
>
> If the user has (unwisely) defined yes as a macro, your version will
> compare against their expansion, instead of against the intended literal.
Because I've never understood the rules for m4_if, and thought []yes
matched what you get from m4_if([$2$3]AS_LITERAL_IF([$1], [yes], [no]).
Paolo
signature.asc
Description: OpenPGP digital signature