autoconf
[Top][All Lists]
Advanced

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

Re: how to handle new subdirectories?


From: Steffen Dettmer
Subject: Re: how to handle new subdirectories?
Date: Wed, 3 Mar 2010 14:19:45 +0100

Hi,

thanks for your quick reply.

On Wed, Mar 3, 2010 at 1:54 PM, Eric Blake <address@hidden> wrote:
> According to Steffen Dettmer on 3/3/2010 4:31 AM:
> > I have a new dir with dir/configure.in and added it to
> > ./configure.in's AC_CONFIG_SUBDIRS([dir]).
>
> You may want to consider renaming all of those to configure.ac instead.
> That has been the recommended practice for several years now.

Ohh, does this have an effect? We also have .m4 files included. I
feel `.in' for input files more straightforward and CVS does not
handle renaming files.

> > In Makefile.am I have
> > address@hidden@ admin
>
> so that you are passing literal subdir names to SUBDIRS rather than values
> substituted at configure time?  The automake manual has a node on
> conditional subdirectories.

Ohh no, sorry, they are not conditional.
The address@hidden@ is just there to avoid the redundancy to
AC_CONFIG_SUBDIRS (in almost all our cases, SUBDIRS is the same
as AC_CONFIG_SUBDIRS plus admin directory).

I think using @subdirs@ cannot be the problem because in the new
directory not even configure is created from configure.in when
running make.

The problem is when a new package (let's say a lib) is added to
the super-package, the super-package configure has a new subdir
to configure recursively.

Maybe I tell the high-level-problem with other words:

After cvs update, when a new sub-package was added and
AC_CONFIG_SUBDIRS was extended, make fails. So each user must
pre-conf (autoreconf or so) the srcdir and re-configure each
builddir (uncomfortable and takes much time and touches all
config.h) and then re-make everything (takes much time again).

Is there some trick / way to improve on that?

Our current workaround has

recheck-recursive:
        @echo "In directory `pwd`:"
        ../../configure `cat .config-opts`

in toplevel Makefile (to be run by `for d in * ... make -C $d recheck'),
which works automatically (but still consumes much time, but can be run
in background).

oki,

Steffen




reply via email to

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