]> sourceware.org Git - automake.git/commitdiff
* automake.in (handle_LIBOBJS_or_ALLOCA): With subdir-objects,
authorAlexandre Duret-Lutz <adl@gnu.org>
Fri, 4 Aug 2006 06:08:58 +0000 (06:08 +0000)
committerAlexandre Duret-Lutz <adl@gnu.org>
Fri, 4 Aug 2006 06:08:58 +0000 (06:08 +0000)
do not prefix `$(top_builddir)/' aka `./' to nonempty LIBOBJDIR,
to help BSD Make find the files also in a VPATH build.
Also return the same path, possibly prefixed, for correct
depdir computation.
* tests/pr401.test: Update to expose wrong depdir computation.
Rewrite to not use the same file name for library object and
main program.
* tests/pr401b.test, tests/pr401c.test: Likewise.

ChangeLog
automake.in
doc/stamp-vti
doc/version.texi
tests/pr401.test
tests/pr401b.test
tests/pr401c.test

index 6259dab7eeb85b540cdcb0b17cdfdd3f4d8558b3..5a73452ea50fe59f4fe77f7f46f5bdb694bfcf73 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2006-08-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * automake.in (handle_LIBOBJS_or_ALLOCA): With subdir-objects,
+       do not prefix `$(top_builddir)/' aka `./' to nonempty LIBOBJDIR,
+       to help BSD Make find the files also in a VPATH build.
+       Also return the same path, possibly prefixed, for correct
+       depdir computation.
+       * tests/pr401.test: Update to expose wrong depdir computation.
+       Rewrite to not use the same file name for library object and
+       main program.
+       * tests/pr401b.test, tests/pr401c.test: Likewise.
+
 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
 
        * lib/install-sh: Don't incorrectly claim that this implementation
index fafc1449d5540cdad1f029772091c9bb3b4fb985..d011d9f916d821be7d596ea73fb3d3251799ee54 100755 (executable)
@@ -2175,7 +2175,12 @@ sub handle_LIBOBJS_or_ALLOCA ($)
     {
       if (option 'subdir-objects')
        {
-         define_variable ('LIBOBJDIR', "\$(top_builddir)/$dir", INTERNAL);
+         # In the top-level Makefile we do not use $(top_builddir), because
+         # we are already there, and since the targets are built without
+         # a $(top_builddir), it helps BSD Make to match them with
+         # dependencies.
+         $dir = "$topsrcdir/$dir" if $relative_dir ne '.';
+         define_variable ('LIBOBJDIR', "$dir", INTERNAL);
          $clean_files{"\$($var)"} = MOSTLY_CLEAN;
          # If LTLIBOBJS is used, we must also clear LIBOBJS (which might
          # be created by libtool as a side-effect of creating LTLIBOBJS).
index 636745fc180dd773ba84b5069d85a3046b716d86..fbc1f742e74adb30686ba518a5b41da4b238e435 100644 (file)
@@ -1,4 +1,4 @@
-@set UPDATED 26 May 2006
-@set UPDATED-MONTH May 2006
+@set UPDATED 6 June 2006
+@set UPDATED-MONTH June 2006
 @set EDITION 1.9a
 @set VERSION 1.9a
index 636745fc180dd773ba84b5069d85a3046b716d86..fbc1f742e74adb30686ba518a5b41da4b238e435 100644 (file)
@@ -1,4 +1,4 @@
-@set UPDATED 26 May 2006
-@set UPDATED-MONTH May 2006
+@set UPDATED 6 June 2006
+@set UPDATED-MONTH June 2006
 @set EDITION 1.9a
 @set VERSION 1.9a
index 093790d310eb102708f0cdad842bb6ab79c0acf5..5d55c6432a188f95c40ca5542d6c41be9e449308 100755 (executable)
@@ -36,7 +36,7 @@ feep ()
 }
 EOF
 
-cat >src/feep.c <<'EOF'
+cat >src/main.c <<'EOF'
 #include <stdio.h>
 
 extern char *feep ();
@@ -76,10 +76,10 @@ libfeep_a_LIBADD = $(LIBOBJS)
 EOF
 
 cat >src/Makefile.am <<'EOF'
-check_PROGRAMS = feep
-feep_LDADD = ../lib/libfeep.a
+check_PROGRAMS = main
+main_LDADD = ../lib/libfeep.a
 
-TESTS = feep
+TESTS = main
 EOF
 
 $ACLOCAL
@@ -107,16 +107,18 @@ noinst_LIBRARIES = libfeep.a
 libfeep_a_SOURCES =
 libfeep_a_LIBADD = $(LIBOBJS)
 
-check_PROGRAMS = feep
-feep_LDADD = libfeep.a
+check_PROGRAMS = main
+main_LDADD = libfeep.a
 
-TESTS = feep
+TESTS = main
 EOF
 
 $ACLOCAL
 $AUTOCONF
 $AUTOMAKE --add-missing
 ./configure
+test ! -d src/lib
+test ! -d 'src/$(top_builddir)'
 $MAKE
 $MAKE check
 $MAKE distclean
@@ -136,14 +138,16 @@ noinst_LIBRARIES = lib/libfeep.a
 lib_libfeep_a_SOURCES =
 lib_libfeep_a_LIBADD = $(LIBOBJS)
 
-check_PROGRAMS = src/feep
-src_feep_SOURCES = src/feep.c
-src_feep_LDADD = lib/libfeep.a
+check_PROGRAMS = src/main
+src_main_SOURCES = src/main.c
+src_main_LDADD = lib/libfeep.a
 
-TESTS = src/feep
+TESTS = src/main
 
 check-local:
-       test -f src/feep.$(OBJEXT)
+       test -f src/main.$(OBJEXT)
+       test -f lib/feep.$(OBJEXT)
+       test ! -f src/$(DEPDIR)/feep.Po
 EOF
 
 $ACLOCAL
index ac4ec3668771274d91d99601413473029e7d12f5..66d8b1f426568b145660c3a98e412f501cc2950b 100755 (executable)
@@ -36,7 +36,7 @@ feep ()
 }
 EOF
 
-cat >src/feep.c <<'EOF'
+cat >src/main.c <<'EOF'
 #include <stdio.h>
 
 extern char *feep ();
@@ -76,10 +76,10 @@ libfeep_la_LIBADD = $(LTLIBOBJS)
 EOF
 
 cat >src/Makefile.am <<'EOF'
-check_PROGRAMS = feep
-feep_LDADD = ../lib/libfeep.la
+check_PROGRAMS = main
+main_LDADD = ../lib/libfeep.la
 
-TESTS = feep
+TESTS = main
 EOF
 
 libtoolize
@@ -108,16 +108,18 @@ noinst_LTLIBRARIES = libfeep.la
 libfeep_la_SOURCES =
 libfeep_la_LIBADD = $(LTLIBOBJS)
 
-check_PROGRAMS = feep
-feep_LDADD = libfeep.la
+check_PROGRAMS = main
+main_LDADD = libfeep.la
 
-TESTS = feep
+TESTS = main
 EOF
 
 $ACLOCAL
 $AUTOCONF
 $AUTOMAKE --add-missing
 ./configure
+test ! -d src/lib
+test ! -d 'src/$(top_builddir)'
 $MAKE
 $MAKE check
 $MAKE distclean
@@ -137,14 +139,16 @@ noinst_LTLIBRARIES = lib/libfeep.la
 lib_libfeep_la_SOURCES =
 lib_libfeep_la_LIBADD = $(LTLIBOBJS)
 
-check_PROGRAMS = src/feep
-src_feep_SOURCES = src/feep.c
-src_feep_LDADD = lib/libfeep.la
+check_PROGRAMS = src/main
+src_main_SOURCES = src/main.c
+src_main_LDADD = lib/libfeep.la
 
-TESTS = src/feep
+TESTS = src/main
 
 check-local:
-       test -f src/feep.$(OBJEXT)
+       test -f src/main.$(OBJEXT)
+       test -f lib/feep.lo
+       test ! -f src/$(DEPDIR)/feep.Po
 EOF
 
 $ACLOCAL
index af6ad53a9cdbda101df79852020995cee2bdf169..456b21bf5c0f55f4f72c83ee95f58828737e136b 100755 (executable)
@@ -39,7 +39,7 @@ feep ()
 }
 EOF
 
-cat >src/feep.c <<'EOF'
+cat >src/main.c <<'EOF'
 #include <stdio.h>
 
 extern char *feep ();
@@ -78,10 +78,10 @@ libfeep_a_LIBADD = $(ALLOCA)
 EOF
 
 cat >src/Makefile.am <<'EOF'
-check_PROGRAMS = feep
-feep_LDADD = ../lib/libfeep.a
+check_PROGRAMS = main
+main_LDADD = ../lib/libfeep.a
 
-TESTS = feep
+TESTS = main
 EOF
 
 $ACLOCAL
@@ -109,10 +109,10 @@ noinst_LIBRARIES = libfeep.a
 libfeep_a_SOURCES =
 libfeep_a_LIBADD = $(ALLOCA) $(LIBOBJS) # Add LIBOBJS for fun
 
-check_PROGRAMS = feep
-feep_LDADD = libfeep.a
+check_PROGRAMS = main
+main_LDADD = libfeep.a
 
-TESTS = feep
+TESTS = main
 EOF
 
 $ACLOCAL
@@ -120,6 +120,8 @@ $AUTOCONF
 $AUTOMAKE --add-missing
 ./configure
 $MAKE
+test ! -d src/lib
+test ! -d 'src/$(top_builddir)'
 $MAKE check
 $MAKE distclean
 
@@ -138,14 +140,16 @@ noinst_LIBRARIES = lib/libfeep.a
 lib_libfeep_a_SOURCES =
 lib_libfeep_a_LIBADD = $(ALLOCA)
 
-check_PROGRAMS = src/feep
-src_feep_SOURCES = src/feep.c
-src_feep_LDADD = lib/libfeep.a
+check_PROGRAMS = src/main
+src_main_SOURCES = src/main.c
+src_main_LDADD = lib/libfeep.a
 
-TESTS = src/feep
+TESTS = src/main
 
 check-local:
-       test -f src/feep.$(OBJEXT)
+       test -f src/main.$(OBJEXT)
+       test -f lib/alloca.$(OBJEXT)
+       test ! -f src/$(DEPDIR)/alloca.Po
 EOF
 
 $ACLOCAL
This page took 0.04463 seconds and 5 git commands to generate.