#!/usr/bin/env python def build(bld): dox_to_sphinx = bld.path.find_node("../../scripts/dox_to_sphinx.py") index_xml = bld.path.get_bld().make_node("xml/index.xml") files = [ ("../summary.rst", "sphinx/summary.rst"), ("index.rst", "sphinx/index.rst"), ("overview.rst", "sphinx/overview.rst"), ("plugins.rst", "sphinx/plugins.rst"), ("uis.rst", "sphinx/uis.rst"), ("world.rst", "sphinx/world.rst"), ] # Run Doxygen to generate XML documentation bld(features="doxygen", doxyfile="Doxyfile") # Substitute variables to make Sphinx configuration file bld(features="subst", source="../conf.py.in", target="sphinx/conf.py", LILV_VERSION=bld.env.LILV_VERSION) # Copy static documentation files to Sphinx build directory for f in files: bld(features="subst", is_copy=True, source=f[0], target=f[1]) # Generate Sphinx markup from Doxygen XML bld.add_group() bld(rule="${PYTHON} " + dox_to_sphinx.abspath() + " -f ${SRC} ${TGT}", source=index_xml, target="sphinx/api/") doc_dir = bld.env.DOCDIR + "/lilv-%s/" % bld.env.LILV_MAJOR_VERSION # Run Sphinx to generate HTML documentation for builder in ["html", "singlehtml"]: bld(features="sphinx", sphinx_source=bld.path.get_bld().make_node("sphinx"), sphinx_output_format=builder, sphinx_options=["-E", "-q", "-t", builder], install_path=doc_dir + "c/%s/" % builder)