On Fri, Jul 6, 2012 at 20:23 UTC, Stefano Lattarini wrote: > 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 making 't/ax/test-runner' built by a Makefile > recipe rather than by a config.status substitutions; this is already
We solve the issue by building 't/ax/test-runner' with a Makefile recipe instead of config.status substitutions; ... > 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.lattar...@gmail.com> > --- > Makefile.am | 11 +++++++++++ > configure.ac | 1 - > 2 files changed, 11 insertions(+), 1 deletion(-) > > diff --git a/Makefile.am b/Makefile.am > index f55f6fb..7169eee 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. > diff --git a/configure.ac b/configure.ac > index 10fa93d..7d30762 100644 > --- a/configure.ac > +++ b/configure.ac > @@ -559,7 +559,6 @@ AC_SUBST([EXEEXT]) > ## ---------------------- ## > > AC_CONFIG_FILES([Makefile]) > -AC_CONFIG_FILES([t/ax/test-runner], [chmod +x t/ax/test-runner]) > > AC_CONFIG_LINKS([GNUmakefile:GNUmakefile]) > AC_CONFIG_LINKS([defs:defs]) > -- > 1.7.9.5 > > Cheers, Dave Hart