[Top][All Lists]

[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: Wed, 24 Jul 2002 20:32:50 -0500
User-agent: Mutt/1.2.5i

On Mon Jul 22 12:27 2002 +0200, Akim Demaille wrote:
> | On Fri Jul 19 11:55 2002 +0200, Akim Demaille wrote:
> | > If this is what you have in mind, I much prefer
> | > 
> | >         `m4_include([autoconf/my-autoconf-extension.m4])'
> | > 
> | > If you look at the various includes in the package, they are all
> | > prefixed.  This is much safer.  I would prefer this approach to be
> | > kept.  For instance because it perfectly makes sense of an Autoconf
> | > program to include M4sugar or M4sh stuff.
> | 
> | That's fine with me, but why is this different from the
> | --include-env-var case?  You had wanted different environment
> | variables to be searched for the different tools (autoconf, autotest,
> | etc) so that they searched different directories.  If using
> | tool-specific subdirectories is sufficient, why not just use a single
> | environment variable for the search path and use tool-specific
> | subdirectories there as well?
> You are right.  I did not develop my thought to its end :(
> I guess I was afraid people would story macros in this directory,
> instead of putting the file in the proper place.  I guess we now have
> a good reason for introducing and promoting AC_INCLUDE: it is
> m4_include([autoconf/$i]).
> Also, I read AC_MACRO_PATH as meaning `autoconf path', not `Autoconf
> path', in other words, I'm facing a problem that gets more and more
> frequent in Autoconf: the clash between the name of the package,
> Autoconf, and that of one its tools, autoconf :(
> Then, I think AC_MACRO_PATH should be AUTOM4TE_PATH, and the
> documentation should emphasize that m4_include should include a prefix
> part, autoconf/, autotest/ and so forth.  You are absolutely right: I
> had you write support for something that should not exist.

After considering this for a few days, I think the current behavior is
actually better.  The current behavior is that each language has its
own environment variable and its own site macro subdirectory:

 autoconf   AC_MACRO_PATH       ${datadir}/autoconf/site_macros/autoconf
 autotest   AT_MACRO_PATH       ${datadir}/autoconf/site_macros/autotest
 m4sugar    M4SUGAR_MACRO_PATH  ${datadir}/autoconf/site_macros/m4sugar
 m4sh       M4SH_MACRO_PATH     ${datadir}/autoconf/site_macros/m4sh

This setup accomplishes your goal of making sure that people put files
in the proper place.  However, it has two advantages:

 * It's more convenient for Autoconf users, because they can say
   `m4_include([foo.m4])' instead of `m4_include([autoconf/foo.m4])'.

 * It's more intuitive for Autoconf users to use AC_MACRO_PATH than to
   use AUTOM4TE_PATH.  Remember that autom4te runs behind the scenes,
   and most Autoconf users probably don't know it's there.

Given this, I think it makes more sense to keep it the way it is.
What do you think?

> Will you handle this?  Do you want me to face my responsibilities and
> handle it?

I'd be happy to take care of it, but as usual, we need to agree on how
it should work first. ;)

Mark D. Roth <address@hidden>

reply via email to

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