[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [RFC] Make build and install dirs used by distcheck configurable. (w
Re: [RFC] Make build and install dirs used by distcheck configurable. (was: Re: absolute build directory with spaces)
Fri, 12 Nov 2010 17:46:50 +0100
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.
> > 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
> > 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
> 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,
> * tests/Makefile.am (TESTS): Updated.
|[Prev in Thread]
||[Next in Thread]|
- Re: [RFC] Make build and install dirs used by distcheck configurable. (was: Re: absolute build directory with spaces),
Stefano Lattarini <=