diff --git a/doc/Doxyfile.in b/doc/Doxyfile.in index 8efb851b5..6c7118d0d 100644 --- a/doc/Doxyfile.in +++ b/doc/Doxyfile.in @@ -51,6 +51,7 @@ PREDEFINED = PA_C_DECL_BEGIN= \ HTML_EXTRA_STYLESHEET = @cssfiles@ MAX_INITIALIZER_LINES = 1 +SORT_MEMBER_DOCS = NO CALL_GRAPH = NO CALLER_GRAPH = NO diff --git a/doc/input-filter-h.sh b/doc/input-filter-h.sh index ca5e910ca..dc4604a79 100755 --- a/doc/input-filter-h.sh +++ b/doc/input-filter-h.sh @@ -19,6 +19,14 @@ echo " */" # Add \sa and \copydoc for (struct *methods) callback macros. # #define pw_core_add_listener(...) pw_core_method(c,add_listener,...) -> add \sa and \copydoc # #define spa_system_read(...) spa_system_method_r(c,read,...) -> add \sa and \copydoc +# +# Also: +# Ensure all macros are included (also those defined inside a struct), +# by adding /** \ingroup XXX */ before each definition. +# Also ensure all opaque structs get included. sed -e 's@^\(#define .*[[:space:]]\)\(.*_method\)\((.,[[:space:]]*\)\([a-z_]\+\)\(.*)[[:space:]]*\)$@\1\2\3\4\5 /**< \\copydoc \2s.\4\n\n\\sa \2s.\4 */@;' \ -e 's@^\(#define .*[[:space:]]\)\(.*_method\)\(_[rvs](.,[[:space:]]*\)\([a-z_]\+\)\(.*)[[:space:]]*\)$@\1\2\3\4\5 /**< \\copydoc \2s.\4\n\n\\sa \2s.\4 */@;' \ + -e '/\\addtogroup/ { h; s@.*\\addtogroup \(.*\).*@/** \\ingroup \1 */@; x; }' \ + -e '/#define \(PW\|SPA\)_[A-Z].*[^\\][ ]*$/ { x; p; x; }' \ + -e 's@^\([ ]*struct \)\([a-zA-Z0-9_]*\)\(;.*\)$@/** \\struct \2 */\n\1\2\3@;' \ < "$FILENAME"