[Dune] DUNE_LIBS and DUNE_PKG_LIBS (and other build macros)

Bård Skaflestad Bard.Skaflestad at sintef.no
Tue Dec 1 17:32:00 CET 2009


Dear Dune,

I apologise for the length of this email.  I'm trying to correct a build
error for a client whose "dune.module" Depends: on dune-cornerpoint.
For those who are not familiar with our (SINTEF's) external Dune module
'dune-cornerpoint', I should mention that dune-cornerpoint relies quite
heavily on several Boost components and, additionally, LAPACK and the
BLAS.  Dune-cornerpoint is correctly detected by the 'dunecontrol'
utility, but the subsequent build (of the client's module) fails due to
missing or wrong libraries and headers.

Now, browsing through dune-common/m4/*.m4 I see that several of the
macros modify the variables

  DUNE_PKG_CPPFLAGS
  DUNE_PKG_LDFLAGS
  DUNE_PKG_LIBS

which, through dune_all.m4, (appear to) end up in their ALL_PKG_*
equivalents.  For instance, dune-common/m4/pardiso.m4 sets new values
for DUNE_PKG_LIBS if PARDISO is found.  Unfortunately as I am not
particularly well versed in the intricacies of M4, I am unable to figure
out the purpose of these variables.  Specifically, there does not seem
to be a connection between the DUNE_PKG_* variables and the DUNE_*
variables (e.g., between DUNE_PKG_CPPFLAGS and DUNE_CPPFLAGS).
Moreover, an admittedly somewhat cursory reading of
http://www.dune-project.org/doc/buildsystem/buildsystem.pdf did not turn
up anything specific.  I do notice that several--although apparently not
all--Makefile.am's in the core Dune modules refer to the ALL_PKG_*
variables.  Of course, I may be missing something.

I guess what I'm wondering is if (and how) to modify the DUNE_PKG_*
variables to reflect the additional dependencies of dune-cornerpoint
upon Boost and other library components.  Additionally, will I have to
use ALL_PKG_* (or DUNE_PKG_*) in the Makefile.am's of dune-cornerpoint
and if so, will our client have to use these variables too?  Finally, if
you wish to inspect some of the details, the dune-cornerpoint 'm4'
directory is available through public SVN at

  https://public.ict.sintef.no/viewvc/openrs/trunk/dune-cornerpoint/m4/

Any and all pointers will be greatly appreciated.


Sincerely,
-- 
Bård Skaflestad                            <Bard.Skaflestad at sintef.no>
SINTEF ICT, Applied mathematics







More information about the Dune mailing list