This option tells doxygen to describe a member "member" of a struct
"container" as "member", not "container::member". C doesn't use
the :: syntax, so this should help us with readability.
This option tells doxygen to handle typedef struct foo_t foo_t by
making foo_t and struct foo_t synonymous. This lets doxygen find
documentation that it would otherwise miss: otherwise, if it sees
documentation for "int func(foo_t *)" and a prototype for
"int func(struct foo_t)", it will think that the prototype is
undocumented.
Part of #32386.
Up till now, we have warned about all missing documentation, which
meant that we could never make doxygen warnings fatal. This has led
to our doxygen output getting full of errors several times in the
past.
This commit changes our approach to doxygen warnings: missing
documentation warnings are only on when the user asks for them with
--enable-missing-doc-warnings. When that option is not present,
doxygen respects the --enable-fatal-warnings flag.
Closes ticket 32385.
This time, we're using cd to run doxygen from inside the source
directory, not the build directory at all. This lets us call the
source directory ".", which (I hope) both Doxygen 1.8.13 and 1.8.15
will understand.
Naturally, this requires a corresponding change in the doxygen
configuration so that we are directing the output to the correct
place.
Fix for 32378.
Our @top_srcdir@ directory can contain "..", which confuses doxygen
when it tries to make references to directories. Using
@abs_top_srcdir@ has the same problem. Instead, we should use our
@SRCDIR@ configuration variable, which is canonicalized.
Running doxygen with latex gave us all manner of unicode issues,
slowed down the "make doxygen" target by a lot, and added several
latex dependencies... all to produce a 4000-page reference manual
which is probably not what anybody wanted.
Closes ticket 32099.