Blame doc/build_this.rst

Packit Service 99d1c0
How to build this documentation from the source
Packit Service 99d1c0
===============================================
Packit Service 99d1c0
Packit Service 99d1c0
Pre-requisites for a simple build, or to update man pages:
Packit Service 99d1c0
Packit Service 99d1c0
* Sphinx 1.0.4 or higher (See https://www.sphinx-doc.org) with the
Packit Service 99d1c0
  autodoc extension installed.
Packit Service 99d1c0
Packit Service 99d1c0
Additional prerequisites to include the API reference based on Doxygen
Packit Service 99d1c0
markup:
Packit Service 99d1c0
Packit Service 99d1c0
* Python 2.5 with the Cheetah, lxml, and xml modules
Packit Service 99d1c0
* Doxygen
Packit Service 99d1c0
Packit Service 99d1c0
Packit Service 99d1c0
Simple build without API reference
Packit Service 99d1c0
----------------------------------
Packit Service 99d1c0
Packit Service 99d1c0
To test simple changes to the RST sources, you can build the
Packit Service 99d1c0
documentation without the Doxygen reference by running, from the doc
Packit Service 99d1c0
directory::
Packit Service 99d1c0
Packit Service 99d1c0
    sphinx-build . test_html
Packit Service 99d1c0
Packit Service 99d1c0
You will see a number of warnings about missing files.  This is
Packit Service 99d1c0
expected.  If there is not already a ``doc/version.py`` file, you will
Packit Service 99d1c0
need to create one by first running ``make version.py`` in the
Packit Service 99d1c0
``src/doc`` directory of a configured build tree.
Packit Service 99d1c0
Packit Service 99d1c0
Packit Service 99d1c0
Updating man pages
Packit Service 99d1c0
------------------
Packit Service 99d1c0
Packit Service 99d1c0
Man pages are generated from the RST sources and checked into the
Packit Service 99d1c0
``src/man`` directory of the repository.  This allows man pages to be
Packit Service 99d1c0
installed without requiring Sphinx when using a source checkout.  To
Packit Service 99d1c0
regenerate these files, run ``make man`` from the man subdirectory
Packit Service 99d1c0
of a configured build tree.  You can also do this from an unconfigured
Packit Service 99d1c0
source tree with::
Packit Service 99d1c0
Packit Service 99d1c0
    cd src/man
Packit Service 99d1c0
    make -f Makefile.in top_srcdir=.. srcdir=. man
Packit Service 99d1c0
    make clean
Packit Service 99d1c0
Packit Service 99d1c0
As with the simple build, it is normal to see warnings about missing
Packit Service 99d1c0
files when rebuilding the man pages.
Packit Service 99d1c0
Packit Service 99d1c0
Packit Service 99d1c0
Building for a release tarball or web site
Packit Service 99d1c0
------------------------------------------
Packit Service 99d1c0
Packit Service 99d1c0
To generate documentation in HTML format, run ``make html`` in the
Packit Service 99d1c0
``doc`` subdirectory of a configured build tree (the build directory
Packit Service 99d1c0
corresponding to ``src/doc``, not the top-level ``doc`` directory).
Packit Service 99d1c0
The output will be placed in the top-level ``doc/html`` directory.
Packit Service 99d1c0
This build will include the API reference generated from Doxygen
Packit Service 99d1c0
markup in the source tree.
Packit Service 99d1c0
Packit Service 99d1c0
Documentation generated this way will use symbolic names for paths
Packit Service 99d1c0
(like ``BINDIR`` for the directory containing user programs), with the
Packit Service 99d1c0
symbolic names being links to a table showing typical values for those
Packit Service 99d1c0
paths.
Packit Service 99d1c0
Packit Service 99d1c0
You can also do this from an unconfigured source tree with::
Packit Service 99d1c0
Packit Service 99d1c0
    cd src/doc
Packit Service 99d1c0
    make -f Makefile.in SPHINX_ARGS= htmlsrc
Packit Service 99d1c0
Packit Service 99d1c0
Packit Service 99d1c0
Building for an OS package or site documentation
Packit Service 99d1c0
------------------------------------------------
Packit Service 99d1c0
Packit Service 99d1c0
To generate documentation specific to a build of MIT krb5 as you have
Packit Service 99d1c0
configured it, run ``make substhtml`` in the ``doc`` subdirectory of a
Packit Service 99d1c0
configured build tree (the build directory corresponding to
Packit Service 99d1c0
``src/doc``, not the top-level ``doc`` directory).  The output will be
Packit Service 99d1c0
placed in the ``html_subst`` subdirectory of that build directory.
Packit Service 99d1c0
This build will include the API reference.
Packit Service 99d1c0
Packit Service 99d1c0
Documentation generated this way will use concrete paths (like
Packit Service 99d1c0
``/usr/local/bin`` for the directory containing user programs, for a
Packit Service 99d1c0
default custom build).