autoconf-patches
[Top][All Lists]
Advanced

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

Re: Generate package.m4 in build-dir, not srcdir.


From: Ralf Wildenhues
Subject: Re: Generate package.m4 in build-dir, not srcdir.
Date: Sun, 11 Nov 2007 16:27:49 +0100
User-agent: Mutt/1.5.17 (2007-11-08)

Hello Jim,

* Jim Meyering wrote on Sat, Nov 10, 2007 at 10:36:06PM CET:
> I don't know why the current code tries to build package.m4
> in $(srcdir), but it fails when $(srcdir) is read-only, and
> it appears to be unnecessary.

Because that generates no end of hassles, and IMHO we're right into
those hassles right now.

Golden rule: put stuff that you distribute in srcdir.  Put stuff that
you don't distribute in builddir.  Do not create stuff with
config.status that you distribute.

We've had troubles with VPATH issues in Libtool without end until we
_just followed_ that rule.  Not all make are GNU make.

FWIW, I can't get the current tree to pass test 13 (and others) with any
combination of `rm -rf autom4te.cache', `autoreconf -vi', or --force
added, PATH pointing to $buildtree/tests first, whatever:

| #                             -*- compilation -*-
| 13. tools.at:410: testing ...
| ../../autoconf/tests/tools.at:418: autoconf --force 
| ../../autoconf/tests/tools.at:418: /bin/sh -n configure
| ../../autoconf/tests/tools.at:420: grep 'version 2.61a.270-d6fb4-dirty 
version' configure
| stdout:
| ../../autoconf/tests/tools.at:420: exit code was 1, expected 0
| 13. tools.at:410: 13. autoconf: AC_AUTOCONF_VERSION (tools.at:410): FAILED 
(tools.at:420)

| #                             -*- compilation -*-
| 18. tools.at:669: testing ...
| ../../autoconf/tests/tools.at:672: autoupdate --version | sed 's/.*) //;q'
| stdout:
| 2.61a.270-d6fb4-dirty
| ../../autoconf/tests/tools.at:677: echo "AC_PREREQ(1.0)" | autoupdate -
| --- expout    2007-11-11 16:26:05.000000000 +0100
| +++ /tmp/build/tests/testsuite.dir/at-stdout  2007-11-11 16:26:07.000000000 
+0100
| @@ -1 +1 @@
| -AC_PREREQ(2.61a.270-d6fb4-dirty)
| +AC_PREREQ(2.61a.267-3104)
| 18. tools.at:669: 18. autoupdating AC_PREREQ (tools.at:669): FAILED 
(tools.at:677)

If you need more info, please ask, because I'm not going to fix it right
now.

FWIW, I posted a patch to fix the package.m4 build here:
http://lists.gnu.org/archive/html/autoconf-patches/2007-11/msg00028.html

See also
http://lists.gnu.org/archive/html/autoconf-patches/2007-11/msg00032.html

Also, I don't like the fact that we can't eat our own dog food in that
we advertise in the manual generation of package.m4 differently than we
do it ourselves.

I am getting a bit tired of these issues.  Next time I'm going to
propose a patch that will just autoreconf the tree on every git
version change.  That would solve the package.m4 issue as a by-product.

> Here's how I propose to fix it:
> 
>       Generate package.m4 in build-dir, not srcdir.
>       * tests/Makefile.am (package.m4): Adjust target.
>       Don't redirect directly to address@hidden
>       (CLEANFILES): Add package.m4.
>       ($(TESTSUITE)): Depend on just-built package.m4, not the one
>       in $(srcdir).
>       When running $(AUTOTEST), search "." before searching $(srcdir).

Cheers,
Ralf




reply via email to

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