← Back to team overview

dolfin team mailing list archive

SWIG interface files needs to be installed

 

This is general comment on installation of the DOLFIN interface. No doubt, the
header files define the interface to DOLFIN. These files are installed
somewhere, and we have tools (like pkg-config) to find out how to use the
interface (locate, compile, link). Additionally, I will argue that the SWIG
interface files also belong to the DOLFIN interface. For a user to extend
DOLFIN, and then expose these extensions to Python such that the type
information is correct, the SWIG interface files are needed. In SWIG, to
propagate type information correctly between separate modules, the
%import-directive must be used _on the interface files_. Since these interface
files are currently not considered part of the interface, we have no tools
(like pkg-config) to resolve the location, or swig-options, of the Python
interface.

I therefore suggest that we add the swig-interface files when installing
DOLFIN. The simplest solution is to install the files the same place as the
header files (relatively to the source layout), since the interface files use
relative %include. I.e.:

$PREFIX/include/dolfin/swig/*.i

Comments and objections are welcome.

Ola



Follow ups