diff options
author | Stefano Lattarini <stefano.lattarini@gmail.com> | 2012-07-06 22:17:59 +0200 |
---|---|---|
committer | Stefano Lattarini <stefano.lattarini@gmail.com> | 2012-07-06 22:17:59 +0200 |
commit | a5edf3d61c28f0c9702dd012bf8d0623310e19c5 (patch) | |
tree | 3a9b135c21905e4030c2612d7119910d4bfcb5a5 /Makefile.am | |
parent | cca426348a05caf190c3ef60f2f54d1a590b4459 (diff) | |
download | automake-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.am | 11 |
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. |