On Mon, Apr 1, 2013 at 10:10 AM, Kirk, Benjamin (JSC-EG311) <benjamin.kirk-1@nasa.gov> wrote:
On Apr 1, 2013, at 9:53 AM, Cody Permann <codypermann@gmail.com> wrote:

> We have a user that is using exo_jack.c (part of the FORTRAN bindings for exodus) but we are missing a header file in the installed version of libmesh.  I haven't really dug around but is there a reason that we aren't adding exodusII_int.h to the installed include directory?

Same reason we don't install e.g. fparser/extrasrc/fpaux.h

The exodusII_int.h file is not considered part of the external ExodusII API, so we don't install it.  In general we try not to 'pretend' to be any of the contributed packages - if we can compile libmesh.so from them and then not include them at all in the installation, that would be ideal.  This is how we use sfcurves, for example.  None of the libMesh header files require it, so we don't install their API.  We just compile and link to it internally.

That said, the only reason we install exodusII.h at all now is because we make an exception for you guys, and I'd be OK installing their internal header file if you really need it!

I think there is probably a sanctioned manner for getting the Exodus Fortran bindings compiled along with Exodus itself.

Our first attempt, which was just copying exo_jack.c over from the forbind directory, is just not the right approach.

Somebody here just needs to read through the Exodus docs and figure out the right way to build Exodus with Fortran bindings, and possibly update the libmesh build system.