[petsc-dev] PETSc goes Doxygen!?

Jed Brown jedbrown at mcs.anl.gov
Sun Jan 13 19:24:17 CST 2013


On Sun, Jan 13, 2013 at 5:30 PM, Karl Rupp <rupp at mcs.anl.gov> wrote:

> Hi,
>
>
> >    Any way to strip the ierr = and CHKERRQ(ierr); from all the html
> versions of the source code. I find it cluttering and ugly.
>
> It doesn't work 'directly' as Doxygen currently does not apply filters to
> examples. The remedy is an additional copy&conversion step, i.e. something
> comparable to
> $> cp -R src/ tmp/
> $> find tmp/*/examples/tutorials/*.c | xargs sed -i 's/ierr = //g'
> $> find tmp/*/examples/tutorials/*.c | xargs sed -i 's/CHKERRQ(ierr);//g'
>
> This seems to do the job:
> http://krupp.iue.tuwien.ac.at/**petsc-doxygen/dm_2examples_**
> 2tutorials_2ex1_8c-example.**html<http://krupp.iue.tuwien.ac.at/petsc-doxygen/dm_2examples_2tutorials_2ex1_8c-example.html>


Doxygen doesn't apply the input filter for examples? That's lame, but
hopefully they can add an option to do that.


> @Jed: I've disabled the EXTRACT_ALL switch, now only documentation for
> commented entities is generated. Static functions should not be shown
> anyway (EXTRACT_PRIVATE = NO). I could also set EXCLUDE_PATTERN to
> something like  *_Private and/or *_Internal. Do you know a better
> systematic way of identifying internal stuff without touching sources?
>

PETSc doesn't have any public functions containing underscores (only enums
and feature macros). Can you exclude functions that way? From the docs, it
looks like EXCLUDE_PATTERNS excludes entire files while EXCLUDE_SYMBOLS has
all symbols lumped together. Sadly, that seems to only take a glob rather
than a regex, and it lumps all symbol types together.

Would strict symbol visibility help limit which symbols doxygen considers
to be public? There is a --with-visibility flag that will avoid exporting
the internal symbols.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20130113/6b418f80/attachment.html>


More information about the petsc-dev mailing list