automake-patches
[Top][All Lists]
Advanced

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

distdir.test failures: VPATH and subdirs


From: Ralf Wildenhues
Subject: distdir.test failures: VPATH and subdirs
Date: Mon, 8 May 2006 22:20:27 +0200
User-agent: Mutt/1.5.11+cvs20060403

On all HP-UX and Tru64 boxen I have access to, distdir.test fails like
this:

$ make dist # in VPATH build, which is part of the distcheck stage
| No suffix list.
| Make: Don't know how to make ./joe.  Stop.

Removing the leading `./' from
  EXTRA_DIST = ./joe [...]

fixes that on these hosts, so IMHO that should be considered necessary
for portable Makefiles.

The only remaining problem child I know about is Solaris 2.6 `make',
which has more problems with VPATH for files in subdirs:

(distdir.test)
| make  check-local
| test -f ../foo/bar
| test -f ../woo/doo
| test -f ../joe
| test -f ../dada
| make: Fatal error: Don't know how to make target `foo/bar'
| Current working directory
| /tmp/build-sparc-sun-solaris2.6/tests/testSubDir/distdir-1.0/_build
| *** Error code 1
| make: Fatal error: Command failed for target `distcheck'
| FAIL: ../../automake-1.9a/tests/distdir.test

(similar failure in extra6.test)
| + mkdir foo2
| + mkdir foo2/bar2
| + touch foo2/bar2/baz2
| + mkdir baz2
| + touch baz2/foo2
| + make check
| make: Fatal error: Don't know how to make target `foo/bar'
| FAIL: ../../automake-1.9a/tests/extra6.test

(and pr9.test)
|   && make  distcleancheck
| checking for a BSD-compatible install... ../support/install-sh -c
| checking whether build environment is sane... yes
| checking for gawk... no
| checking for mawk... no
| checking for nawk... nawk
| checking whether make sets $(MAKE)... yes
| configure: creating ./config.status
| config.status: creating Makefile
| make: Fatal error: Don't know how to make target `support/install-sh'
| Current working directory 
/tmp/build-sparc-sun-solaris2.6/tests/testSubDir/pr9-0/_build
| *** Error code 1
| make: Fatal error: Command failed for target `distcheck'
| + exit 1
| FAIL: ../../automake-1.9a/tests/pr9.test

(and subpkg3.test)
| Making uninstall in subpkg
| make: Fatal error: Don't know how to make target `subpkg/foobar'
| Current working directory 
/tmp/build-sparc-sun-solaris2.6/tests/testSubDir/subpkg3-1.0/_build
| *** Error code 1
| make: Fatal error: Command failed for target `distcheck'
| FAIL: ../../automake-1.9a/tests/subpkg3.test


Luckily all of these are fixed in Solaris >=2.7.  Yay!

So I'm bound to think we should ignore Solaris 2.6 issues here -- after
all, GNU make compiles and runs fine on this system -- and just go with
the patch below to fix the remaining failures.

Do you think it's ok to require that `./file' should not be used?
Should it be documented in automake.texi?  Alternatively, should
EXTRA_DIST be rewritten by Automake to kill leading "./"?

Cheers,
Ralf

        * tests/distdir.test: Do not use leading `./' in EXTRA_DIST for
        files in the source tree.  Fixes failures with HP-UX and Tru64
        make.

Index: tests/distdir.test
===================================================================
RCS file: /cvs/automake/automake/tests/distdir.test,v
retrieving revision 1.9
diff -u -r1.9 distdir.test
--- tests/distdir.test  5 Jan 2006 23:32:35 -0000       1.9
+++ tests/distdir.test  8 May 2006 20:08:34 -0000
@@ -19,7 +19,9 @@
 # Boston, MA 02110-1301, USA.
 
 # Test to make sure subdirs in EXTRA_DIST work.  Also tests to make
-# sure "./" is ignored and *srcdir properly handled.
+# sure *srcdir is properly handled.  Note that using `./', as in
+#   EXTRA_DIST = ./joe
+# does not work portably: it fails with HP-UX and Tru64 make.
 
 . ./defs || exit 1
 
@@ -28,7 +30,7 @@
 echo AC_OUTPUT >>configure.in
 
 cat > Makefile.am << 'END'
-EXTRA_DIST = foo/bar ./joe $(top_srcdir)/woo/doo $(srcdir)/dada
+EXTRA_DIST = foo/bar joe $(top_srcdir)/woo/doo $(srcdir)/dada
 check-local:
        test -f $(srcdir)/foo/bar
        test -f $(srcdir)/woo/doo




reply via email to

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