From 9f47cf0f54bca7da434d021b2e32e150ceca0065 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?B=C3=A5rd=20Skaflestad?= Date: Thu, 12 Jul 2012 14:37:23 +0200 Subject: [PATCH] Explicitly substitute absolute path variables. Apparently, Automakes prior to 1.10 do not automatically substitute the absolute path directory variables abs_srcdir abs_top_srcdir abs_builddir abs_top_builddir that Autoconf computes (since ca. 2003) into the Makefiles. This leads to a subtle error when OPM-Core is used in conjunction with dune-common's DUNE_CHECK_MODULES (or, more appropriately, our own OPM_CORE_CHECK_MODULES) macro that gets invoked through dunecontrol. The *_CHECK_MOUDLES macro contains an unconditional statement that uses 'abs_top_srcdir' to compute the absolute path to the current module's top source directory. When abs_top_srcdir is unset, the root becomes unset too, whence the subsequent existence and validity checks fail due to incorrect CPPFLAGS and/or LDFLAGS. It will also fail to locate the 'dune.module' dependency file. By explicitly substituting the above variables into the Makefiles, as was also done in revisions 5819 and 5845 of dune-common's Subversion repository, we're guarding against this particular failure mode. Tested on: CentOS 5.8 (Autoconf 2.59, Automake 1.9.6) --- configure.ac | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/configure.ac b/configure.ac index e979c9a3..59d642f0 100644 --- a/configure.ac +++ b/configure.ac @@ -32,6 +32,16 @@ OPM_CORE_CHECKS OPM_DYNLINK_BOOST_TEST +dnl Substitute Autoconf's abs_*dir variables into the Makefiles for the +dnl benefit of external code that uses these variables to derive +dnl locations (e.g., Dune's DUNE_CHECK_MODULES macro). Automakes prior +dnl to version 1.10 do not automatically substitute these variables into +dnl output files. +AC_SUBST([abs_srcdir]) +AC_SUBST([abs_builddir]) +AC_SUBST([abs_top_srcdir]) +AC_SUBST([abs_top_builddir]) + AC_CONFIG_FILES([ Makefile tests/Makefile