libtool-patches
[Top][All Lists]
Advanced

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

Re: distchecking without FC?


From: Noah Misch
Subject: Re: distchecking without FC?
Date: Tue, 19 Jun 2007 12:36:06 -0700
User-agent: Mutt/1.5.9i

Hi Ralf,

On Tue, Jun 19, 2007 at 08:38:49PM +0200, Ralf Wildenhues wrote:
> * Noah Misch wrote on Mon, Jun 18, 2007 at 07:43:52AM CEST:
> > I gave this a whirl.  Having done so, I personally prefer the
> > simplicity of the literal patch.  What do you think?
> 
> FWIW, I prefer this patch slightly: it makes it obvious how to fix it
> in case of future breakage (be that because autotools generate more
> files, or the tests contain different sets of files).

True.

> Unless there are
> good reasons against it (such as someone disagreeing with me ;-), I'd
> say let's go with this, except for nits below.

I am somewhat concerned about a developer using `reconfdirs=. ./bootstrap;
./configure; make dist' on a fresh checkout and silently losing the generated
files in the test directories.  With the old mechanism or the literal file list
mechanism, this cannot happen.  We could fight this with a sanity check, like a
test on `grep -c Makefile.in test-disk.mk'.

This patch and the literal-file-list one share a further problem: if the
generated files in test directories are out-of-date, nothing will update them.
The current code gets that right, at least.

Alas, I did not expect a clean solution to prove so elusive :(

> > +  find tests/*demo tests/*demo[0-9] -name '{arch}' -prune -o -type f \
> > +    \( \
> > +      -name \*.[ch] -o -name \*.cpp -o -name \*.f -o -name \*.f90 \
> > +      -o -name configure -o -name configure.ac -o -name aclocal.m4 \
> > +      -o -name Makefile.am -o -name \*.in -o -name README \
> > +    \) \
> > +    -printf 'EXTRA_DIST += %p\n'
> 
>   -exec echo 'EXTRA_DIST +=' \{\} \;
> 
> instead should be portable to non-GNU find.

Oops.  Yes, that, or -print | sed.

> > +} >tests/test-dist.mk
> > +
> 
> > +# Bootstrap `.' last.
> > +case $reconfdirs in
> > +  . | '. '* | *' . '* | *' .') $AUTORECONF --force --verbose --install ;;
> > +esac
> 
> Why not simple, like above the `find'?
> 
> for sub in $reconfdirs; do
>   test "$sub" = . && $AUTORECONF --force --verbose --install
> done

We must bootstrap the test directories first (so the relevant files exist), then
generate test-dist.mk, then bootstrap the root directory (where Makefile.am
includes test-dist.mk).




reply via email to

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