|
From: | Gary V. Vaughan |
Subject: | Re: [PATCH] {maint} Document in detail some limitations of aclocal. |
Date: | Fri, 05 Nov 2010 07:58:15 +0700 |
User-agent: | Postbox 2.0.2 (Macintosh/20101025) |
Hi Stefano, Stefano Lattarini wrote:
+Due to both intrinsic and historical reasons, @command{aclocal} is +far from perfect. The most noteworthy limitation, which macro authors +and @command{aclocal} users should always be aware of, is that address@hidden (in contrast to e.g.@: @command{automake}) doesn't +work by consistently using m4 tracing, but must sometimes resort to address@hidden the contents of the scanned files} when looking for macro +definitions and file inclusions. This means that perfectly valid m4 +constructs and usages might cause unexpected behaviours or even spurious +failures.
While that is certainly true with the current implementation, don't forget that I already invented a new way for tools that must run before autoconf to use m4 for tracing instead of resorting to grep like this in my bootstrap rewriting threads on bug-gnulib. The effort involved in applying that method to the existing aclocal is probably little more than it was to write this patch... When I have more time, I intend to port the method to libtool and finish submitting the new gnulib bootstrap.
http://lists.gnu.org/archive/bug-gnulib is not responding at the moment,but I posted a recent version of my bootstrap rewrite including the grepless tracing on 2010-10-09 in the thread ``Re: [PATCH] bootstrap: add hook for altering gnulib.mk, for Bison''. The key to generalising it is, I think, adding another `language' to autoconf purely for tracing when failed `m4_include's must be ignored.
When I have *a lot* more time, I plan to finally get around to releasing m4-2.0, or at least backporting the macro search path enhancements into m4-1.4.x so that we can start the process of removing aclocal entirely and teaching autoconf to find it's own macros unaided.
Cheers, -- Gary V. Vaughan (address@hidden)
[Prev in Thread] | Current Thread | [Next in Thread] |