To build the AFIO (Boost.AFIO) documentation, you must set up a specific toolchain involving Doxygen, Python, and DocBook XSLTs. The process involves generating QuickBook files from Doxygen XML and then using Boost's build system (b2) to render them into HTML or PDF.
Prerequisites
- Install
doxygen, java, and python 2.7 and ensure they are in your PATH. - Create a tool directory (e.g.,
C:\BoostBook or /home/ned/BoostBook) that contains no spaces. - Install
xsltproc, libxml2, libxslt, and the Docbook XSL -1 version (not the -ns version) into your tool directory.- Note: Use the
-1 version from SourceForge (e.g., version 1.78.1).
- RenderX XEP: Because Apache FOP has compatibility issues with current DocBook XSLTs, use RenderX XEP instead. Configure your
user-config.jam with the appropriate paths to use XEP.
Build Steps
Generate QuickBook files:
Navigate to libs/afio/doc and set the DOXYGEN_XML2QBK environment variable to point to your doxygen_xml2qbk.exe binary, then run the python script:
set DOXYGEN_XML2QBK="C:\BoostBook\bin\doxygen_xml2qbk.exe"
python make_qbk.py
Build HTML documentation:
Return to the Boost top directory, navigate to the doc directory, and run b2 targeting the AFIO doc path:
cd doc
../b2 ../libs/afio/doc
Build PDF documentation:
From the Boost top directory, run b2 with the pdf target:
../b2 ../libs/afio/doc pdf
# 1. Generate QuickBook files
set DOXYGEN_XML2QBK="C:\BoostBook\bin\doxygen_xml2qbk.exe"
python make_qbk.py
# 2. Build HTML
cd doc
../b2 ../libs/afio/doc
# 3. Build PDF
../b2 ../libs/afio/doc pdf