autoconf
[Top][All Lists]
Advanced

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

Re: Site Macro Directory


From: Mark D. Roth
Subject: Re: Site Macro Directory
Date: Thu, 16 May 2002 14:36:37 -0500
User-agent: Mutt/1.2.5i

On Thu May 16 11:31 2002 -0700, Paul Eggert wrote:
> Personally, I dislike site directories since
> they make it a hassle to move my stuff from one site to another.
> However, I wouldn't object to having a configure-time option for
> building autoconf, for people who like to have site directories.

I think it's important to keep in mind that just because autoconf
checks a site macro directory doesn't mean that you need to use that
directory.  It shouldn't interfere with the way that you're doing
things now just by virtue of the fact that it looks in another
directory as well.

It would be really helpful for autoconf to check the site macro
directory by default, since that would allow macro maintainers to
distribute their macros in a single way that would work for everyone,
not just those that happened to enable site macro directories.


> Unfortunately, I've seen so many proposals in this area that I'm a bit
> lost as to what's being proposed.  For example, I don't understand
> where the stuff will get cached.  I believe you mentioned that it will
> get cached into aclocal.m4, but won't that collide with Automake's
> aclocal?

Good point.  The real problem here is that autoconf treats aclocal.m4
as a user-supplied file containing useful macros, but aclocal treats
aclocal.m4 as an output file.  I was thinking that aclocal would just
go away once autoconf has a better way to deal with local macros, but
you're right that we shouldn't break it all at once.

We've discussed a lot of different ideas.  Based on everything I've
seen so far, here's my proposal:

  * autoconf will continue to treat aclocal.m4 as a user-supplied
    input file, since there will probably always be a call for macros
    that are specific to a given package and not worth sharing.

  * autoconf will read all of the m4 files in a site macro directory.

  * Any macro from the site macro directory that gets called in
    configure.ac will (by default) get cached in a file called
    accache.m4.

  * If a macro exists in both the site macro directory and the
    accache.m4 file, the version in the site macro directory will
    replace the version that was originally in accache.m4.

  * If a macro exists only in the accache.m4 file, it is kept
    (assuming that it's actually being called from configure.ac).

This proposal should cover everything that we've talked about:

  * For now, aclocal can still be used to generate aclocal.m4 from
    acinclude.m4.  (Eventually, my thought is that automake will
    simply install its macros into the site macro directory and do
    away with aclocal altogether.)

  * For those that don't want to distribute macros seperately, the
    accache.m4 file allows a copy of every macro used by the package
    to be distributed with the package, so people can modify
    configure.ac without needing to obtain the macros seperately.

  * For those that do want to distribute macros seperately, the site
    macro directory provides a simple, convenient way for autoconf to
    find locally installed macros.

Does this work for everyone?


> Also, I would say that for now there should not be a site macro
> directory unless the autoconf installer or autoconf user says so.  If
> the feature proves to be popular, we can always change this default.

As I mentioned above, I think it would be better for it to check the
site macro directory by default, but I can live with it being an
option if that's what everyone else prefers.


Please let me know what you think of this proposal.  Thanks!

-- 
Mark D. Roth <address@hidden>
http://www.feep.net/~roth/



reply via email to

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