[petsc-dev] petsc release soon

Jed Brown jedbrown at mcs.anl.gov
Mon Mar 12 14:30:33 CDT 2012


On Mon, Mar 12, 2012 at 14:09, Satish Balay <balay at mcs.anl.gov> wrote:

> 1. the convention to avoid such conflict is not renaming internal dirs
> - but using a toplevel namespaced dir.
>
> i.e /usr/include/petsc/petsc.h, /usr/include/petsc/private etc..
>
> 2. I think autoconf supports options to choose the include install in
> either /usr/include or /usr/include/petsc. [is it the includedir
> option?]
>

Well it's totally unacceptable to make users -I$prefix/include/petsc, so if
we change to this convention, it has to be the same in the source directory.

$PETSC_DIR/include/petsc/vec.h

and users do #include <petsc/vec.h>. This model is used by boost, valgrind,
and the linux kernel, but that breaks existing code for no good reason.

The other model of a handful of prefix/include/packagexxx.h and private
headers in prefix/include/package/*.h is used by KDE, krb5, libssh, and
lzma.

Both of these are very common and you'll find tons of examples in your
/usr/include. /usr/include/package-private/ is only used by Tk. I much
care, but using prefix/include/petsc/ for private stuff is the closest
convention to the current model.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20120312/98ceda93/attachment.html>


More information about the petsc-dev mailing list