Go to file
su-fang 4f17f09e1e changed debian/source/format to native 2022-09-29 09:40:15 +08:00
.gitlab-ci Import Upstream version 1.33.2 2022-09-29 09:40:05 +08:00
build Import Upstream version 1.33.2 2022-09-29 09:40:05 +08:00
buildsystems Import Upstream version 1.33.2 2022-09-29 09:40:05 +08:00
debian changed debian/source/format to native 2022-09-29 09:40:15 +08:00
doc Import Upstream version 1.33.2 2022-09-29 09:40:05 +08:00
examples Import Upstream version 1.33.2 2022-09-29 09:40:05 +08:00
gtkdoc Import Upstream version 1.33.2 2022-09-29 09:40:05 +08:00
help Import Upstream version 1.33.2 2022-09-29 09:40:05 +08:00
m4 Import Upstream version 1.33.2 2022-09-29 09:40:05 +08:00
style Import Upstream version 1.33.2 2022-09-29 09:40:05 +08:00
tests Import Upstream version 1.33.2 2022-09-29 09:40:05 +08:00
tools Import Upstream version 1.33.2 2022-09-29 09:40:05 +08:00
.gitignore Import Upstream version 1.33.2 2022-09-29 09:40:05 +08:00
.gitlab-ci.yml Import Upstream version 1.33.2 2022-09-29 09:40:05 +08:00
AUTHORS Import Upstream version 1.33.2 2022-09-29 09:40:05 +08:00
COPYING Import Upstream version 1.33.2 2022-09-29 09:40:05 +08:00
COPYING-DOCS Import Upstream version 1.33.2 2022-09-29 09:40:05 +08:00
ChangeLog Import Upstream version 1.33.2 2022-09-29 09:40:05 +08:00
HACKING Import Upstream version 1.33.2 2022-09-29 09:40:05 +08:00
Makefile.am Import Upstream version 1.33.2 2022-09-29 09:40:05 +08:00
NEWS Import Upstream version 1.33.2 2022-09-29 09:40:05 +08:00
README Import Upstream version 1.33.2 2022-09-29 09:40:05 +08:00
TODO Import Upstream version 1.33.2 2022-09-29 09:40:05 +08:00
autogen.sh Import Upstream version 1.33.2 2022-09-29 09:40:05 +08:00
configure.ac Import Upstream version 1.33.2 2022-09-29 09:40:05 +08:00
devhelp2.xsd Import Upstream version 1.33.2 2022-09-29 09:40:05 +08:00
devhelp2.xsl Import Upstream version 1.33.2 2022-09-29 09:40:05 +08:00
git.mk Import Upstream version 1.33.2 2022-09-29 09:40:05 +08:00
gtk-doc-fo.xsl Import Upstream version 1.33.2 2022-09-29 09:40:05 +08:00
gtk-doc.doap Import Upstream version 1.33.2 2022-09-29 09:40:05 +08:00
gtk-doc.pc.in Import Upstream version 1.33.2 2022-09-29 09:40:05 +08:00
gtk-doc.xsl Import Upstream version 1.33.2 2022-09-29 09:40:05 +08:00
gtkdoc-check.in Import Upstream version 1.33.2 2022-09-29 09:40:05 +08:00
gtkdoc-depscan.in Import Upstream version 1.33.2 2022-09-29 09:40:05 +08:00
gtkdoc-fixxref.in Import Upstream version 1.33.2 2022-09-29 09:40:05 +08:00
gtkdoc-mkdb.in Import Upstream version 1.33.2 2022-09-29 09:40:05 +08:00
gtkdoc-mkhtml.in Import Upstream version 1.33.2 2022-09-29 09:40:05 +08:00
gtkdoc-mkhtml2.in Import Upstream version 1.33.2 2022-09-29 09:40:05 +08:00
gtkdoc-mkman.in Import Upstream version 1.33.2 2022-09-29 09:40:05 +08:00
gtkdoc-mkpdf.in Import Upstream version 1.33.2 2022-09-29 09:40:05 +08:00
gtkdoc-rebase.in Import Upstream version 1.33.2 2022-09-29 09:40:05 +08:00
gtkdoc-scan.in Import Upstream version 1.33.2 2022-09-29 09:40:05 +08:00
gtkdoc-scangobj.in Import Upstream version 1.33.2 2022-09-29 09:40:05 +08:00
gtkdoc_uninstalled.py.in Import Upstream version 1.33.2 2022-09-29 09:40:05 +08:00
meson.build Import Upstream version 1.33.2 2022-09-29 09:40:05 +08:00
meson_options.txt Import Upstream version 1.33.2 2022-09-29 09:40:05 +08:00
requirements.txt Import Upstream version 1.33.2 2022-09-29 09:40:05 +08:00
version-greater-or-equal.xsl Import Upstream version 1.33.2 2022-09-29 09:40:05 +08:00

README

GTK-Doc - Documentation generator for C code
============================================

GTK-Doc is used to document C code. It is typically used to document the public
API of libraries, such as GLib-based 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 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.

From your source code comments GTK-Doc generates a DocBook XML document, which
is then transformed into HTML and/or PDF.
The generated HTML documentation can be browsed in an ordinary web browser or
by using the special Devhelp API browser
(see https://wiki.gnome.org/Apps/Devhelp).

Requirements
------------

Python 3.x
    http:///www.python.org

Additional python modules:
    For the tests: unittest, parameterized
    For mkhtml2 (experimental): anytree, lxml and pygments
    For fixxref: pygments

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.
    http://xmlsoft.org/

For PDF output:

the dblatex tool.
    http://dblatex.sourceforge.net/

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

See the documentation in the help/manual/ directory for more information. You
can read it for example with yelp: `yelp help/manual/C/index.docbook`.

Building
--------

We are supporting two build systems to build gtk-doc for some transitions time.

### Build using the Autotools

In order to build with the classic Autotools system use these commands:

Build from git:
./autogen.sh; make

Build from dist tarball:
./configure; make

There are a few parameters one can pass to ./configure, run ./configure --help
to see them. Also ./autogen.sh can take those settings (and will hand them
through to ./configure).

To run the tests:
make check

To install:
make install

To make a release:
make distcheck
or
make dist

### Build using Meson

Support for Meson is new.

Build it from git:
meson build .
ninja -C build

There are some options one can specify too:
meson build . --prefix=
meson build . -Dautotools_support=false
meson build . -Dcmake_support=false
meson build . -Dyelp_manual=false

To run tests:
ninja -C build test

To install:
ninja -C build install

To make a release:
ninja -C build dist