[petsc-dev] reminder never use #include "mylocalinclude.h" in PETSc source

Jed Brown jed at 59A2.org
Mon Mar 14 11:16:01 CDT 2011


On Mon, Mar 14, 2011 at 17:00, Barry Smith <bsmith at mcs.anl.gov> wrote:

> Then basically almost all the headers belong in include/something because
> they can and sometimes are used by outsiders. For example access to the guts
> of any matrix class for implementation in heritence, access to the guts of
> the gmres data-structure to implement a modified gmres like fgmres, lgmres
> etc. pc_mg for sure
>
>   So how do we organize private? Same as the source tree?
> mat/impls/aij/seq    etc etc?  dump everything in one directory yuck?
>

I see a total of 70 implementation headers, not sure what fraction of those
should be "open". Mirroring the source tree makes it easy to find the
location of the "primary" user (*.c files) of a given header, but it also
forces that there always be a primary user. Perhaps it's reasonable for
things with no primary user to go directly into private/*.h instead of
private/pkg/**/*.h.

I don't have a strong preference either way.


>   I had resisted doing this but maybe it is the way to go.
>

I think it's the right thing if plugin developers/users and prefix installs
are to be first-class citizens.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20110314/affef305/attachment.html>


More information about the petsc-dev mailing list