autoconf
[Top][All Lists]
Advanced

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

Re: Suggestion: AC_DEFINE -> m4_pattern_allow


From: Ralf Wildenhues
Subject: Re: Suggestion: AC_DEFINE -> m4_pattern_allow
Date: Fri, 2 Jun 2006 17:13:16 +0200
User-agent: Mutt/1.5.11

Hello Stepan, Akim,

* Stepan Kasal wrote on Fri, Jun 02, 2006 at 02:07:48PM CEST:
> On Wed, May 31, 2006 at 08:56:41PM +0200, Akim Demaille wrote:
> > However my point about the name of the condition remains.  AC_SUBST
> > covers only the *_TRUE and *_FALSE part.
> 
> Then I second Ralf's and Alexandre's[1] question:
> What would that be good for?

I didn't get it the first time either.  But: the expansion of
AM_CONDITIONAL not only contains $1_TRUE and $1_FALSE, both of which are
AC_SUBSTed and thus ok to use, but also $1, namely in the error message:
     AC_MSG_ERROR([[conditional "$1" was never defined. [...] ]])

This will flag the error.  But can't this be solved much cheaper,
see below?  It would still allow you to get all other uses flagged.  :-)

I don't know if, for your purposes, @&t@ should rather be put after
every character, or only once after the first would suffice.
(If the general idea is deemed ok, I can write a test.)

Cheers,
Ralf

        * m4/cond.m4 (AM_CONDITIONAL): Hide the plain `$1' from
        m4_pattern_forbid by putting a `@&t@' in it.

Index: m4/cond.m4
===================================================================
RCS file: /cvs/automake/automake/m4/cond.m4,v
retrieving revision 1.14
diff -u -r1.14 cond.m4
--- m4/cond.m4  9 Apr 2006 07:46:55 -0000       1.14
+++ m4/cond.m4  2 Jun 2006 15:10:41 -0000
@@ -7,7 +7,7 @@
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
 
-# serial 8
+# serial 9
 
 # AM_CONDITIONAL(NAME, SHELL-CONDITION)
 # -------------------------------------
@@ -29,6 +29,6 @@
 fi
 AC_CONFIG_COMMANDS_PRE(
 [if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
-  AC_MSG_ERROR([[conditional "$1" was never defined.
+  AC_MSG_ERROR([[conditional "]m4_bpatsubst([$1], [^\(.\)], 
[\1@&address@hidden)[" was never defined.
 Usually this means the macro was only invoked conditionally.]])
 fi])])




reply via email to

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