aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPekka Paalanen <pq@iki.fi>2025-12-28 11:25:31 +0200
committerPekka Paalanen <pq@iki.fi>2025-12-29 16:26:41 +0200
commitda2e9b5c63e76c9c03e1e45bc3fcacd9f35a0b80 (patch)
tree4d382c06e56a62a232890d2a75085f87cd109589
parentdoc: fix Xwayland image validity (diff)
downloadwayland-da2e9b5c63e76c9c03e1e45bc3fcacd9f35a0b80.tar
wayland-da2e9b5c63e76c9c03e1e45bc3fcacd9f35a0b80.tar.gz
wayland-da2e9b5c63e76c9c03e1e45bc3fcacd9f35a0b80.tar.bz2
wayland-da2e9b5c63e76c9c03e1e45bc3fcacd9f35a0b80.tar.lz
wayland-da2e9b5c63e76c9c03e1e45bc3fcacd9f35a0b80.tar.xz
wayland-da2e9b5c63e76c9c03e1e45bc3fcacd9f35a0b80.tar.zst
wayland-da2e9b5c63e76c9c03e1e45bc3fcacd9f35a0b80.zip
doc/xsl: include static inline functions
When generating documentation, xmllint complained: element link: validity error : IDREF attribute linkend references an unknown ID "Server-structwl__signal_1afe73f44f7f1b517c9c0ba90829c93309" element link: validity error : IDREF attribute linkend references an unknown ID "Server-structwl__signal_1afe73f44f7f1b517c9c0ba90829c93309" element link: validity error : IDREF attribute linkend references an unknown ID "Server-structwl__signal_1aa8bcd3b8e250cfe35ed064d5af589096" These were referring to wl_signal_add() and wl_signal_emit() I think, which are static inlines in a public header. The XSLT ignored static functions, probably assuming that they cannot be public API. Internal (static) functions are present in the Doxygen XML, so they do need to be excluded. Now we include static functions if their body is in a header. We de not scan private headers, so they must be public API. Comparing the final generated HTML documentation, these functions are added to both Client and Server APIs: wl_fixed_to_double wl_fixed_from_double wl_fixed_to_int wl_fixed_from_int These functions are added to the Server API: wl_signal_init wl_signal_add wl_signal_get wl_signal_emit Signed-off-by: Pekka Paalanen <pq@iki.fi>
-rw-r--r--doc/publican/xsl/doxygen-to-publican.xsl12
1 files changed, 10 insertions, 2 deletions
diff --git a/doc/publican/xsl/doxygen-to-publican.xsl b/doc/publican/xsl/doxygen-to-publican.xsl
index e13dcd7..0387372 100644
--- a/doc/publican/xsl/doxygen-to-publican.xsl
+++ b/doc/publican/xsl/doxygen-to-publican.xsl
@@ -101,8 +101,16 @@
<!-- methods -->
<xsl:template match="memberdef" >
- <xsl:if test="@kind = 'function' and @static = 'no' and @prot = 'public' or
- @kind !='function' and normalize-space(briefdescription) != ''">
+ <xsl:if test="(@kind = 'function' and
+ (@static = 'no' or
+ substring(location/@bodyfile,
+ string-length(location/@bodyfile) - 1,
+ 1000) = '.h'
+ )
+ and @prot = 'public'
+ )
+ or
+ (@kind != 'function' and normalize-space(briefdescription) != '')">
<varlistentry id="{$which}-{@id}">
<term>
<xsl:value-of select="name"/>