summaryrefslogtreecommitdiff
path: root/Makefile.am
diff options
context:
space:
mode:
authorStefano Lattarini <stefano.lattarini@gmail.com>2012-07-06 22:17:59 +0200
committerStefano Lattarini <stefano.lattarini@gmail.com>2012-07-06 22:17:59 +0200
commita5edf3d61c28f0c9702dd012bf8d0623310e19c5 (patch)
tree3a9b135c21905e4030c2612d7119910d4bfcb5a5 /Makefile.am
parentcca426348a05caf190c3ef60f2f54d1a590b4459 (diff)
downloadautomake-a5edf3d61c28f0c9702dd012bf8d0623310e19c5.tar.gz
test runner: work correctly in VPATH setups
Due to a "feature" of AC_CONFIG_FILES, because 't/ax/test-runner.in' is in a subdirectory, the '@srcdir@' value that is AC_SUBST'd in it gets tweaked to contain as much '..' components as are the directory components of 't/ax/test-runner'. Because our build system operates in a non-recursive setup, this substitution is wrong; for example, the final 't/ax/test-runner' build in a VPATH builds where the source directory is ".." contains the line: : ${srcdir='../../../t/ax'} instead of the expected (and correct): : ${srcdir='../t/ax'} We solve the issue by building 't/ax/test-runner' with a Makefile recipe instead of config.status substitutions; this is already done for other testsuite-related files, like 'defs-static'. * configure.ac (AC_CONFIG_FILES): Don't build 't/ax/test-runner' anymore. * Makefile.am (t/ax/test-runner): New rule. (EXTRA_DIST): Add 't/ax/test-runner.in'. (CLEANFILES, noinst_SCRIPTS): Add 't/ax/test-runner'. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Diffstat (limited to 'Makefile.am')
-rw-r--r--Makefile.am11
1 files changed, 11 insertions, 0 deletions
diff --git a/Makefile.am b/Makefile.am
index f55f6fbbd..7169eee01 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -400,6 +400,17 @@ defs-static: defs-static.in Makefile
EXTRA_DIST += defs-static.in
CLEANFILES += defs-static
+t/ax/test-runner: t/ax/test-runner.in Makefile
+ $(AM_V_at)rm -f $@ $@-t
+ $(AM_V_GEN)in=t/ax/test-runner.in \
+ && $(MKDIR_P) t/ax \
+ && $(do_subst) <$(srcdir)/t/ax/test-runner.in >$@-t \
+ && chmod a+x $@-t
+ $(generated_file_finalize)
+EXTRA_DIST += t/ax/test-runner.in
+CLEANFILES += t/ax/test-runner
+noinst_SCRIPTS = t/ax/test-runner
+
# If two test scripts have the same basename, they will end up sharing
# the same log file, leading to all sort of undefined and undesired
# behaviours.