From: Noah Misch Date: Thu, 14 Jun 2007 01:32:28 +0000 (+0000) Subject: * lib/autotest/general.m4 (AT_INIT): Compute $srcdir correctly. X-Git-Tag: v2.62~297 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fdb749cd8a5b6f5c3e1d3f7efbb3906d47fe52db;p=thirdparty%2Fautoconf.git * lib/autotest/general.m4 (AT_INIT): Compute $srcdir correctly. * tests/autotest.at (srcdir propagation): New test. * THANKS: Update. Reported by Mike Frysinger. --- diff --git a/ChangeLog b/ChangeLog index 86ecdbb09..7dc7bb7b5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2007-06-13 Noah Misch + + * 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 * lib/m4sugar/m4sh.m4 (_AS_PATH_SEPARATOR_PREPARE): Set FPATH too. diff --git a/THANKS b/THANKS index c9cd3979b..8d284f98a 100644 --- 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 diff --git a/lib/autotest/general.m4 b/lib/autotest/general.m4 index 7ede11aeb..17e65b567 100644 --- a/lib/autotest/general.m4 +++ b/lib/autotest/general.m4 @@ -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 diff --git a/tests/autotest.at b/tests/autotest.at index b632f0640..fb8f8df19 100644 --- a/tests/autotest.at +++ b/tests/autotest.at @@ -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