
GTK+ DocBook Documentation Generator
====================================

GTK-Doc is used to document C code. It is typically used to document the public
API of libraries, such as the GTK+ and GNOME libraries, but it can also be
used to document application code.

Note that GTK-Doc wasn't originally intended to be a general-purpose
documentation tool, so it can be a bit awkward to setup and use.
For a more polished general-purpose documentation tool you may want to look
at Doxygen (http://www.doxygen.org/). However GTK-Doc has some special code
to document the signals and properties of GTK+ widgets and GObject classes
which other tools may not have.

GTK-Doc allows your documentation to be written in 2 ways:
  a) Embedded inside the source code in specially-formatted comments.
 or
  b) Added to the 'template' files which gtk-doc outputs after scanning all
     the header files and parsing the declarations.

(Note that currently the documentation describing each section can only be
added to the template files, though in future that will also be allowed within
the source code.)

From these source code comments and template files GTK-Doc generates a Docbook
XML (or SGML) document, which is then transformed into HTML.
The generated HTML documentation can be browsed in an ordinary web browser or
by using the special Devhelp API browser
(see http://developer.imendio.com/wiki/Devhelp).


Requirements
============

Perl v5 - the main scripts are in Perl.
    http://www.perl.com/


For XML output (recommended):

The DocBook XML DTD.
    http://www.oasis-open.org/docbook/

The DocBook XSL Stylesheets.
    http://docbook.sourceforge.net/projects/xsl/

libxslt & libxml2 2.3.6 for XML.
    http://xmlsoft.org/



For SGML output (not actively maintained any more):

The DocBook SGML DTD.
    http://www.oasis-open.org/docbook/

Jade v1.1 or OpenJade 1.3.1.
    http://www.jclark.com/jade
    http://sourceforge.net/projects/openjade

The DocBook DSSSL Stylesheets (I've got 1.40, but v1.19+ may be OK).
    I've customized the DSSSL code slightly, in gtk-doc.dsl, to colour
    the program code listings/declarations, and to support global
    cross-reference indices in the generated HTML.
    http://docbook.sourceforge.net/projects/dsssl/


Most distributions now have packages for all of these, so I would strongly
advise that you grab those.


You will also need to make sure that the DocBook XML DTD and XSL
stylesheets are installed in the system's XML catalog.  The packages
for Red Hat Linux have done this for a while, and the Debian packages
for Sarge do also. For older Debian systems, you might want to try the
following script to set up the catalog:
  http://www.daa.com.au/~james/files/build-xml-catalog-for-debian.sh

For other systems, you can try the following steps provided by Mark
McLoughlin:
  1) download http://www.oasis-open.org/docbook/xml/4.1.2/docbkx412.zip
  2) install it in /usr/share/sgml/docbook/xml-dtd-4.1.2
  3) Download docbook-xsl from docbook.sf.net and install it in
     /usr/share/sgml
  4) download and run http://xmlsoft.org/buildDocBookCatalog


See the documentation in the docs directory for more information, especially
the setting-up.txt file which describes how to set up your application or
library to use gtk-doc.
