]> git.ipfire.org Git - thirdparty/autoconf.git/commitdiff
* lib/autotest/general.m4 (AT_INIT): Compute $srcdir correctly.
authorNoah Misch <noah@cs.caltech.edu>
Thu, 14 Jun 2007 01:32:28 +0000 (01:32 +0000)
committerNoah Misch <noah@cs.caltech.edu>
Thu, 14 Jun 2007 01:32:28 +0000 (01:32 +0000)
* tests/autotest.at (srcdir propagation): New test.
* THANKS: Update.
Reported by Mike Frysinger.

ChangeLog
THANKS
lib/autotest/general.m4
tests/autotest.at

index 86ecdbb094482802fb384a89095f35f78abd3269..7dc7bb7b529972c4a83af474a7271e2d2bf4ae11 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2007-06-13  Noah Misch  <noah@cs.caltech.edu>
+
+       * lib/autotest/general.m4 (AT_INIT): Compute $srcdir correctly.
+       * tests/autotest.at (srcdir propagation): New test.
+       * THANKS: Update.
+       Reported by Mike Frysinger.
+
 2007-06-13  Paul Eggert  <eggert@cs.ucla.edu>
 
        * lib/m4sugar/m4sh.m4 (_AS_PATH_SEPARATOR_PREPARE): Set FPATH too.
diff --git a/THANKS b/THANKS
index c9cd3979be4677f4beb81ec8541172690e591165..8d284f98a1d23e2a3916cb29fc2b3095ec6b58e9 100644 (file)
--- a/THANKS
+++ b/THANKS
@@ -146,6 +146,7 @@ Matthias Andree             matthias.andree@gmx.de
 Michael Elizabeth Chastain  chastain@cygnus.com
 Michael Schoene             mrs@mlc.de
 Michael Matz                matz@kde.org
+Mike Frysinger              vapier@gentoo.org
 Mike Hopkirk                hops@sco.com
 Mike Stump                  mrs@wrs.com
 Miles Bader                 miles@gnu.ai.mit.edu
index 7ede11aeb04a43b18e5ef8ed65e741369c6384db..17e65b567c060edeed97d1c4aec63ba5aee49ec8 100644 (file)
@@ -220,7 +220,7 @@ if test -n "$at_top_srcdir"; then
   for at_dir in srcdir top_srcdir top_build_prefix
   do
     at_val=AS_VAR_GET([at_$at_dir])
-    AS_VAR_SET([$at_dir], [$at_val/../..])
+    AS_VAR_SET([$at_dir], [../../$at_val])
   done
 fi
 
index b632f064049aecb3991e126ba6d0e43376789455..fb8f8df1942d77f41f1a62e89ead59557e59a57c 100644 (file)
@@ -415,3 +415,64 @@ AT_CHECK_KEYS([-3], [none|first|second], [3], [both], [0])
 AT_CHECK_KEYS([4-], [both], [1], [none|first|second], [0])
 AT_CHECK_KEYS([-k second 4-], [second|both], [2], [none|first], [0])
 AT_CLEANUP
+
+
+## ------------------- ##
+## srcdir propagation. ##
+## ------------------- ##
+
+AT_SETUP([srcdir propagation])
+AT_KEYWORDS([autotest])
+AT_CAPTURE_FILE([suite.log])
+
+mkdir pkg vpath-outside
+mkdir pkg/t pkg/vpath-inside
+AT_DATA([pkg/a])
+AT_DATA([pkg/t/b])
+
+AT_DATA([pkg/configure.ac], [[AC_INIT
+AC_CONFIG_AUX_DIR($top_srcdir/build-aux)
+AC_CONFIG_TESTDIR([t])
+AC_OUTPUT
+]])
+cd pkg
+AT_CHECK_AUTOCONF
+cd ..
+
+AT_DATA([pkg/t/suite.at],
+[[m4_define([AT_PACKAGE_NAME],    [GNU Nonsense])
+m4_define([AT_PACKAGE_TARNAME],   [nonsense])
+m4_define([AT_PACKAGE_VERSION],   [1.0])
+m4_define([AT_PACKAGE_STRING],    [GNU Nonsense 1.0])
+m4_define([AT_PACKAGE_BUGREPORT], [bug-autoconf@gnu.org])
+AT_INIT([suite to check srcdir])
+AT_SETUP([my only test])
+AT_CHECK([test -f "$top_srcdir"/a && test -f "$srcdir"/b])
+AT_CLEANUP
+]])
+cd pkg/t
+AT_CHECK_AUTOM4TE([--language=autotest -o suite suite.at])
+cd ../..
+
+# Build directory totally outside source directory.
+cd vpath-outside
+AT_CHECK([top_srcdir=$abs_top_srcdir ../pkg/configure], [0], [ignore])
+cd t
+AT_CHECK([../../pkg/t/suite], [0], [ignore])
+cd ../..
+
+# Build directory as subdirectory of source directory.
+cd pkg/vpath-inside
+AT_CHECK([top_srcdir=$abs_top_srcdir ../configure], [0], [ignore])
+cd t
+AT_CHECK([../../t/suite], [0], [ignore])
+cd ../../..
+
+# Build directory as source directory.
+cd pkg
+AT_CHECK_CONFIGURE
+cd t
+AT_CHECK([./suite], [0], [ignore])
+cd ../..
+
+AT_CLEANUP