automake
[Top][All Lists]
Advanced

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

Re: aclocal problems


From: John Calcote
Subject: Re: aclocal problems
Date: Fri, 03 Apr 2009 22:55:46 -0600
User-agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.1b3pre) Gecko/20090223 Thunderbird/3.0b2

On 4/3/2009 5:31 PM, Ralf Wildenhues wrote:
Hi John,

* John Calcote wrote on Fri, Apr 03, 2009 at 09:33:40PM CEST:
On page 158, paragraph 3 of the 2.63 Autoconf manual, it states:

"If a macro doesn’t use AC_REQUIRE, is expected to never be the object
of an AC_REQUIRE directive, and macros required by other macros inside
arguments do not need to be expanded before this macro, then use
m4_define."
...
Is this a bug in aclocal?

I don't think so.  Do you think the quote is an encouragement not to use
AC_REQUIRE?  For public macros, I'd even venture to say that they should
be written so they can be AC_REQUIREd (if they don't take arguments), or
at least, that other macros which are expanded inside their contents or
their arguments, may themselves AC_REQUIRE yet other macros which are
then expanded outside of all this mess.
Hmmm. No, I don't think it's an encouragement not to use AC_REQUIRE. It simply states that if you don't use the prerequisite framework, there's no reason to use AC_DEFUN. I supposed that from a certain point of view (a rather sarcastic one), it could be saying something like, "if ever you could conceive of a situation in which you wouldn't need to use AC_REQUIRE, then go ahead and use m4_define."

I agree completely with your assessment, but I think the manual should make it clear that the only proper way to write a macro is with AC_DEFUN, don't you? I mean, if the only way I can write a macro outside of adding it directly to configure.ac (which is pointless in all but the strangest cases) is to use AC_DEFUN, then *when* would I ever be able to successfully use m4_define? I suppose it might work in acsite.m4, as that's not included by aclocal.m4.

My only point is that the manual is a bit unclear on this point - almost misleading, in fact.

I'd call it a documentation bug at this point. (Eric - comments?)

Regards,
John


reply via email to

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