[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: problem with $srcdir and friends in autotest
From: |
Noah Misch |
Subject: |
Re: problem with $srcdir and friends in autotest |
Date: |
Fri, 15 Jun 2007 18:59:34 -0700 |
User-agent: |
Mutt/1.5.9i |
Hi Ralf,
On Fri, Jun 15, 2007 at 09:12:11AM +0200, Ralf Wildenhues wrote:
> * Noah Misch wrote on Thu, Jun 14, 2007 at 03:40:55AM CEST:
> > +# Build directory as subdirectory of source directory.
> > +cd pkg/vpath-inside
> > +AT_CHECK([top_srcdir=$abs_top_srcdir ../configure], [0], [ignore])
> [...]
>
> and `pwd`/../configure (and fix the test failures that show up ;-)
Thanks. I added one test with an absolute srcdir and one test with the builddir
above the srcdir, for good measure. Does this seem to cover things?
2007-06-15 Noah Misch <address@hidden>
* lib/autotest/general.m4 (AT_INIT): Handle absolute `srcdir'.
* tests/autotest.at (srcdir propagation): Test absolute `srcdir' and
`srcdir' as subdirectory of `builddir'.
diff -Nurp -X dontdiff ac-clean/lib/autotest/general.m4
ac-moresrcdir/lib/autotest/general.m4
--- ac-clean/lib/autotest/general.m4 2007-06-14 20:53:33.000000000 -0400
+++ ac-moresrcdir/lib/autotest/general.m4 2007-06-15 21:41:11.000000000
-0400
@@ -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 -Nurp -X dontdiff ac-clean/tests/autotest.at
ac-moresrcdir/tests/autotest.at
--- ac-clean/tests/autotest.at 2007-06-14 20:53:33.000000000 -0400
+++ ac-moresrcdir/tests/autotest.at 2007-06-15 21:20:01.000000000 -0400
@@ -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