+2007-06-17 Noah Misch <noah@cs.caltech.edu>
+
+ * 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 <noah@cs.caltech.edu>
* lib/autotest/general.m4 (AT_INIT): Compute $srcdir correctly.
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
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])
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])
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