[Top][All Lists]

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

Re: Documentation of AC_ARG_WITH

From: Nick Bowler
Subject: Re: Documentation of AC_ARG_WITH
Date: Tue, 21 Feb 2017 13:21:57 -0500


On 2/21/17, Reuben Thomas <address@hidden> wrote:
> In the first example for AC_ARG_WITH, there's an "if test…fi" block:
>     if test "x$with_readline" != xcheck; then
>        AC_MSG_FAILURE(
>          [--with-readline was given, but test for readline failed])
>      fi
> Is there some reason why this doesn't use AS_IF?

Probably the author simply preferred regular shell if statements.
There's nothing wrong with a plain 'if' here, so the author used it.

The main practical difference between AS_IF and regular 'if' relates to
the AC_REQUIRE machinery.  Since Autoconf "understands" the AS_IF macro,
it can hoist AC_REQUIREd or AC_DEFUN_ONCE macros expanded inside the
if body outside of the condition (this is normally the desired result).

I would not expect AC_MSG_FAILURE to use such expansions so regular 'if'
is fine.  Moreover, this particular 'if' is found inside the body of
AS_IF so the hoisting should work anyway.

> I see a comment above saying:
>    @c FIXME: Remove AS_IF when the problem of AC_REQUIRE within `if' is
> solved.
> but it's not clear whether that's relevant (the commit log that introduced
> the comment doesn't seem to explain it).

Just speculating, but the original author in 2005 probably did not like
AS_IF stylistically and was hoping that, someday, AC_REQUIRE would work
with regular shell 'if' statements.  Then the examples could be reworked
to not use AS_IF.

I expect such magic will probably never happen so AS_IF is here to stay.


reply via email to

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