diff --git a/senfscons/SatSCons.py b/senfscons/SatSCons.py index 6c8bcc90093deff004d9c6ca9fa7a615753cb5cd..bed67e0bf7f342438669f0bc469a698e4055cc7b 100644 --- a/senfscons/SatSCons.py +++ b/senfscons/SatSCons.py @@ -160,6 +160,16 @@ def DoxyGlob(exclude=[]): def Doxygen(env, doxyfile="Doxyfile", extra_sources = []): docs = env.Doxygen(doxyfile) + # The last target is the (optional) tagfile + if os.path.basename(str(docs[-1])) != '.stamp': + # Postprocess the tag file to remove the (broken) namespace + # references + env.AddPostAction( + docs, + env.Action([ "xsltproc -o ${TARGETS[-1]}.temp %s ${TARGETS[-1]}" + % os.path.join(basedir,"tagmunge.xsl"), + "mv ${TARGETS[-1]}.temp ${TARGETS[-1]}" ])) + env.Clean(docs[-1],"$TARGET.temp") env.Depends(docs,extra_sources) env.Alias('all_docs', *docs) return docs diff --git a/senfscons/tagmunge.xsl b/senfscons/tagmunge.xsl new file mode 100644 index 0000000000000000000000000000000000000000..67f1f3d004e8ef38db9a6ea4b7d317fb9e256de8 --- /dev/null +++ b/senfscons/tagmunge.xsl @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="utf-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version="1.0"> + + <xsl:output method="xml"/> + + <xsl:template match="compound[@kind='namespace']"> + </xsl:template> + + <xsl:template match="*"> + <xsl:copy> + <xsl:for-each select="@*"><xsl:copy/></xsl:for-each> + <xsl:apply-templates/> + </xsl:copy> + </xsl:template> + +</xsl:stylesheet>