bug-gnulib
[Top][All Lists]
Advanced

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

Re: [RFC] Make build and install dirs used by distcheck configurable. (w


From: Stefano Lattarini
Subject: Re: [RFC] Make build and install dirs used by distcheck configurable. (was: Re: absolute build directory with spaces)
Date: Fri, 12 Nov 2010 17:46:50 +0100
User-agent: KMail/1.13.3 (Linux/2.6.30-2-686; KDE/4.4.4; i686; ; )

Hello automakers and gnulibers.

Is anyone still interested in this feature?  If yes, I have some
simple updates, second thoughts, and new ideas, for which comments
are welcome.  If not, let me know before I start investing more
time on the implementation!

On Monday 06 September 2010, Stefano Lattarini wrote:
> On Sunday 05 September 2010, Ralf Wildenhues wrote:
> > Hello,
> > 
> > * Jim Meyering wrote on Sat, Sep 04, 2010 at 07:28:58PM CEST:
> > > Stefano Lattarini wrote:
> > > > What about instead making the names of the temporaries
> > > > source/build/install directories used by "make distcheck"
> > > > configurable?
> It turns out that making the srcdir configurable is not very easy or
> natural; also, I don't see any real use case for that.  So I didn't
> add this feature in the patch series.  If anyone would find this
> feature useful nonetheless, please speak up.
> > > > This will offer more flexibility, and won't
> > > > introduce still another automake option which would make
> > > > backward-compatibility more problematic.
> > > > 
> > > > I was thinking of something on these lines:
> > > >   $ cat Makefile.am
> > > >   ...
> > > >   AM_DISTCHECK_BUILDDIR_NAME = _ b u i l d ## will be relative to 
> > > > $(distdir)
> > > >   AM_DISTCHECK_SRCDIR_NAME = .             ## likewise
> > > >   AM_DISTCHECK_INSTALLDIR_NAME = address@hidden   ## likewise
> In the end, I went for the slighty shorter names `AM_DISTCHECK_BUILDDIR'
> and `AM_DISTCHECK_INSTALLDIR'.
> > > > 
> > > > If you like the proposal, I might try to implement this (but not
> > > > right away).
> > > 
> > > I do like it.  Thanks!
Nonetheless, I'm starting to think that making `AM_DISTCHECK_BUILDDIR_NAME'
and `AM_DISTCHECK_INSTALLDIR_NAME' defined at configure time might be a
better policy.  This way we could:
  - warn about bad values for them at "./configure" time rather than at
    "make distcheck" time;
  - allow *any* character in their values (also `#' and single-quotes)
  - allow leading and trailing whitespaces in their values.
  - make it easier for developers working on more limited system to stick
    with less stressful values, thus avoiding potential spurious failures.

Opinions?

> > 
> > Me too, but the onus for quoting should probably be with the person
> > defining the variables, because there is no well-defined way to do
> > otherwise.  (And of course you cannot have comments in variables.)
This problems would be solved by having `AM_DISTCHECK_BUILDDIR_NAME'
and `AM_DISTCHECK_INSTALLDIR_NAME' properly processed at configure time.

> In my patch, I let Automake take the onus for quoting, the only additional
> limit being that AM_DISTCHECK_BUILDDIR and AM_DISTCHECK_INSTALLDIR cannot
> contain the single-quote character.
Not entirely true, in hindsight.  They also can not contain the `#'
character and leading and trailing whitespaces.

> We might still change this of course, as the attached patch is mostly
> tentative.
> > I like it also because some packages will never want to care about
> > being buildable under more stressful circumstances.
Also, some developers will never want to care about making distcheck
under more stressful circumstances on some more limited systems.  The
"configure-time definition" policy would cater to this situation, too.
 
> IMPORTANT NOTE: I still haven't run the whole testsuite against this
> patch.  I will if they are no serious objection or proposals of
> changes/extensions.
> 
> Regards,
>   Stefano
> 
> -*-*-*-
> 
> Make build and install dirs used by distcheck configurable.
> 
> * automake.in (generate_makefile): Define makefile variables
> AM_DISTCHECK_BUILDDIR and AM_DISTCHECK_INSTALLDIR when needed;
> they default respectively to `_build' and `_inst'.
> * lib/am/distdir.am (distcheck): Sanitize and honour variables
> $(AM_DISTCHECK_BUILDDIR) and $(AM_DISTCHECK_INSTALLDIR).

> * tests/distcheck0.test: New test script.
> * tests/distcheck1a.test: Likewise.
> * tests/distcheck1b.test: Likewise.
> * tests/distcheck2a.test: Likewise.
> * tests/distcheck2b.test: Likewise.
> * tests/distcheck3.test: Likewise.
> * tests/distcheck4.test: Likewise.
> * tests/distcheck5.test: Likewise.
> * tests/distcheck6.test: Likewise.
> * tests/distcheck7.test: Likewise.
> * tests/distcheck8.test: Likewise.
> * tests/distcheck9.test: Likewise.
Clearer and more expressive names for the new testcases are in order,
also.

> * tests/Makefile.am (TESTS): Updated.

Regards,
  Stefano



reply via email to

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