bug-automake
[Top][All Lists]
Advanced

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

Re: distclean-recursive broken?


From: Ralf Corsepius
Subject: Re: distclean-recursive broken?
Date: Mon, 16 Feb 2004 00:34:44 +0100

On Sun, 2004-02-15 at 22:28, Alexandre Duret-Lutz wrote:
> >>> "Ralf" == Ralf Corsepius <address@hidden> writes:
> 
> [...]
> 
>  Ralf> SUBDIRS = sub1 @moresubdirs@
>  Ralf> DIST_SUBDIRS = sub1
>  >> 
>  >> Unfortunately we do not support such setup.  Right now
>  >> $(SUBDIRS) must always be a subset of $(DIST_SUBDIRS).
>  Ralf> The example below proves the contrary.
> 
> Additionally each directory listed in DIST_SUBDIRS or SUBDIRS
> should always have a Makefile.

I think you are missing the point: I am running "make distcheck". 

"make distcheck" first recurses into SUBDIRS, but afterwards recurses
into CONFIG_SUBDIRS on the "make distclean-recursive".

Without any doubt, this behavior is broken: "make distcheck" must run
distclean-recursive on *same set* of directories it ran configure
beforehand - ATM, it doesn't. It uses SUBDIRS for build and
CONFIG_SUBDIRS for dist-cleaning.

>  That's needed for `make dist' to work.
>   Calling AC_CONFIG_SUBDIRS unconditionally ought to fix
> your example (I haven't tried).
Yes, it does, because then SUBDIRS would be identical to CONFIG_SUBDIRS.

This also matches with autoconf.info:
------
 However `make dist' should always recurse into both `src/' and
`opt/'.  Because `opt/' should be distributed even if it is not needed
in the current configuration. This means `opt/Makefile' should be
created unconditionally.  (1)
------

> I see pretty well that you want conditional AC_CONFIG_SUBDIRS.
IMO, one reason for not having them is design of "make distcheck".

>   The SUBDIRS/DIST_SUBDIRS
> distinction is not meant to solve this problem.
I disagree - It does.

As the citation from automake.info says, the set of SUBDIRS to be
recursed by "make dist" must match the default set of SUBDIRS to be
recursed into.

I.e. "make distcheck" should not care about the actual SUBDIRS but for
CONFIG_SUBDIRS only - Both when recursing for "configuration" and during
its a call to "make distclean".

Ralf









reply via email to

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