[Top][All Lists]

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

Re: AMLOCAL_AMFLAGS and the dist recipe

From: Ralf Wildenhues
Subject: Re: AMLOCAL_AMFLAGS and the dist recipe
Date: Wed, 16 Nov 2005 06:36:42 +0100
User-agent: Mutt/1.5.9i

Hi David,

* David Byron wrote on Wed, Nov 16, 2005 at 12:40:42AM CET:
> I've defined some macros that I'd like to share across projects.  Seems
> to me I've got two choices for getting them in my dist tarball:
> 1. include the macros I wrote in the files I wrote
> 2. include the macros I wrote in aclocal.m4
> >From what I can tell, automake chooses #1 when ACLOCAL_AMFLAGS is a
> relative path:

> and it chooses #2 when ACLOCAL_AMFLAGS is an absolute path:

Yes, correct.

> Unfortunately, with #1, my files don't make it in the dist tarball.
> Instead, the generated makefile creates the directory:

> and then copies my macros there.  No big surprise that this doesn't
> work


> I've come up with:
> ACLOCAL_AMFLAGS = -I `cd ../../../util/scripts/m4 && pwd`

Hehe, I did not know this worked at all.

> as a solution, but it feels funny.  It gets the macros included in
> aclocal.m4 so my dist tarball is complete, and it keeps the extra
> directories from getting created.  Is there a better way?  I'd like to
> avoid the absolute path so people can grab this file from revision
> control and stick it wherever they want as long as they grab the scripts
> too.

First idea: In the directory, where aclocal searches by default
($prefix/share/aclocal, usually), edit/create the file `dirlist'
to point to the directory your macros are in.  Then, #2 will work
without any ACLOCAL_AMFLAGS.

OTOH having one file per macro is much nicer: Why not
  mkdir m4
add `ACLOCAL_AMFLAGS = -I m4' to
add `AC_CONFIG_MACRO_DIR([m4])' to

Then, with Automake <= 1.9.6 you can add a
  cp /my/macros/*.m4 m4/
to your bootstrap script (the one that executes automake etc,)
and with CVS Automake you could simplify that to
  aclocal --install -I m4
(or add `ACLOCAL_AMFLAGS = -I m4 --install' to and have
autoreconf run it for you).

> The other small downside to this solution is that instead of just
> sharing the macros as they are in the tree of files from revision
> control, they get compiled into aclocal.m4 in each project that uses
> them.

Yes.  I'd not put them in revision control, though.  But this issue
(whether to store generated files there) is controversial, and there are
arguments for both sides.


reply via email to

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