From: Noah Misch Date: Tue, 19 Jun 2007 19:49:05 +0000 (+0000) Subject: * lib/autotest/general.m4 (AT_INIT): Handle absolute `srcdir'. X-Git-Tag: v2.62~296 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=aa643c7ef88e64feb1773c0c53bcd07961c36914;p=thirdparty%2Fautoconf.git * lib/autotest/general.m4 (AT_INIT): Handle absolute `srcdir'. * tests/autotest.at (srcdir propagation): Test absolute `srcdir' and `srcdir' as subdirectory of `builddir'. --- diff --git a/ChangeLog b/ChangeLog index 7dc7bb7b..bf84bebf 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2007-06-17 Noah Misch + + * lib/autotest/general.m4 (AT_INIT): Handle absolute `srcdir'. + * tests/autotest.at (srcdir propagation): Test absolute `srcdir' and + `srcdir' as subdirectory of `builddir'. + 2007-06-13 Noah Misch * lib/autotest/general.m4 (AT_INIT): Compute $srcdir correctly. diff --git a/lib/autotest/general.m4 b/lib/autotest/general.m4 index 17e65b56..91407045 100644 --- a/lib/autotest/general.m4 +++ b/lib/autotest/general.m4 @@ -220,7 +220,11 @@ 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]) + case $at_val in + [[\\/$]]* | ?:[[\\/]]* ) at_prefix= ;; + *) at_prefix=../../ ;; + esac + AS_VAR_SET([$at_dir], [$at_prefix$at_val]) done fi diff --git a/tests/autotest.at b/tests/autotest.at index fb8f8df1..ef917596 100644 --- a/tests/autotest.at +++ b/tests/autotest.at @@ -425,7 +425,7 @@ AT_SETUP([srcdir propagation]) AT_KEYWORDS([autotest]) AT_CAPTURE_FILE([suite.log]) -mkdir pkg vpath-outside +mkdir pkg vpath-outside vpath-abs mkdir pkg/t pkg/vpath-inside AT_DATA([pkg/a]) AT_DATA([pkg/t/b]) @@ -461,6 +461,14 @@ cd t AT_CHECK([../../pkg/t/suite], [0], [ignore]) cd ../.. +# Build directory totally outside source directory (absolute). +my_srcdir=`pwd`/pkg +cd vpath-abs +AT_CHECK([top_srcdir=$abs_top_srcdir "$my_srcdir"/configure], [0], [ignore]) +cd t +AT_CHECK(["$my_srcdir"/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]) @@ -468,6 +476,12 @@ cd t AT_CHECK([../../t/suite], [0], [ignore]) cd ../../.. +# Build directory as parent of source directory. +AT_CHECK([top_srcdir=$abs_top_srcdir pkg/configure], [0], [ignore]) +cd t +AT_CHECK([../pkg/t/suite], [0], [ignore]) +cd .. + # Build directory as source directory. cd pkg AT_CHECK_CONFIGURE