build: add gtk-doc
authorDavid Herrmann <dh.herrmann@googlemail.com>
Sat, 23 Jun 2012 18:09:19 +0000 (20:09 +0200)
committerDavid Herrmann <dh.herrmann@googlemail.com>
Sat, 23 Jun 2012 18:09:19 +0000 (20:09 +0200)
This adds gtk-doc documentation builds to kmscon. All documentation is
build in a central place due to gtk-doc restrictions.

Signed-off-by: David Herrmann <dh.herrmann@googlemail.com>
.gitignore
Makefile.am
autogen.sh
configure.ac
docs/reference/Makefile.am [new file with mode: 0644]
docs/reference/kmscon-docs.sgml [new file with mode: 0644]
docs/reference/version.xml.in [new file with mode: 0644]

index 923da3c..20cba4f 100644 (file)
@@ -25,3 +25,10 @@ stamp-*
 genshader
 src/output_shaders.c
 src/genshader.c
+docs/reference/*.txt
+docs/reference/*.bak
+docs/reference/kmscon.????*
+docs/reference/*.stamp
+docs/reference/version.xml
+docs/reference/*/
+gtk-doc.make
index 3d49dce..6cca2e4 100644 (file)
@@ -1,4 +1,5 @@
 ACLOCAL_AMFLAGS = -I m4
+SUBDIRS = . docs/reference
 EXTRA_DIST = README TODO COPYING
 CLEANFILES =
 
index ce27d98..f07c694 100755 (executable)
@@ -1,4 +1,5 @@
 #!/bin/sh
 mkdir -p m4/
-autoreconf -i
-./configure --enable-debug $*
+gtkdocize || exit 1
+autoreconf -i || exit 1
+./configure --enable-debug $* || exit 1
index 4e2a9fe..0970a06 100644 (file)
@@ -22,6 +22,14 @@ AM_PROG_AR
 LT_PREREQ(2.2)
 LT_INIT
 
+#
+# check for gtk-doc
+# Use weird syntax to make "gtkdocize" happy.
+#
+m4_ifdef([GTK_DOC_CHECK],[
+GTK_DOC_CHECK([1.14],[--flavour no-tmpl])
+], [AM_CONDITIONAL([ENABLE_GTK_DOC], false)])
+
 PKG_CHECK_MODULES([SYSTEMD], [libsystemd-login])
 AC_SUBST(SYSTEMD_CFLAGS)
 AC_SUBST(SYSTEMD_LIBS)
@@ -113,5 +121,5 @@ else
         AC_DEFINE([LOG_ENABLE_DEBUG], [1], [Enable debug for log subsystem])
 fi
 
-AC_CONFIG_FILES([Makefile])
+AC_CONFIG_FILES([Makefile docs/reference/Makefile docs/reference/version.xml])
 AC_OUTPUT([src/genshader.c])
diff --git a/docs/reference/Makefile.am b/docs/reference/Makefile.am
new file mode 100644 (file)
index 0000000..a77c4e8
--- /dev/null
@@ -0,0 +1,102 @@
+#
+# Kmscon - Libeloop doc makefile
+# Copyright (c) 2012 David Herrmann <dh.herrmann@googlemail.com>
+#
+
+# We require automake 1.6 at least.
+AUTOMAKE_OPTIONS = 1.6
+
+# The name of the module, e.g. 'glib'.
+DOC_MODULE=kmscon
+
+# Uncomment for versioned docs and specify the version of the module, e.g. '2'.
+#DOC_MODULE_VERSION=2
+
+# The top-level SGML file. You can change this if you want to.
+DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.sgml
+
+# Directories containing the source code.
+# gtk-doc will search all .c and .h files beneath these paths
+# for inline comments documenting functions and macros.
+# e.g. DOC_SOURCE_DIR=$(top_srcdir)/gtk $(top_srcdir)/gdk
+DOC_SOURCE_DIR=$(top_srcdir)/src
+
+# Extra options to pass to gtkdoc-scangobj. Not normally needed.
+SCANGOBJ_OPTIONS=
+
+# Extra options to supply to gtkdoc-scan.
+# e.g. SCAN_OPTIONS=--deprecated-guards="GTK_DISABLE_DEPRECATED"
+SCAN_OPTIONS=
+
+# Extra options to supply to gtkdoc-mkdb.
+# e.g. MKDB_OPTIONS=--xml-mode --output-format=xml
+MKDB_OPTIONS=--xml-mode --output-format=xml
+
+# Extra options to supply to gtkdoc-mktmpl
+# e.g. MKTMPL_OPTIONS=--only-section-tmpl
+MKTMPL_OPTIONS=
+
+# Extra options to supply to gtkdoc-mkhtml
+MKHTML_OPTIONS=
+
+# Extra options to supply to gtkdoc-fixref. Not normally needed.
+# e.g. FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html --extra-dir=../gdk/html
+FIXXREF_OPTIONS=
+
+# Used for dependencies. The docs will be rebuilt if any of these change.
+# e.g. HFILE_GLOB=$(top_srcdir)/gtk/*.h
+# e.g. CFILE_GLOB=$(top_srcdir)/gtk/*.c
+HFILE_GLOB=$(top_srcdir)/src/*.h
+CFILE_GLOB=$(top_srcdir)/src/*.c
+
+# Extra header to include when scanning, which are not under DOC_SOURCE_DIR
+# e.g. EXTRA_HFILES=$(top_srcdir}/contrib/extra.h
+EXTRA_HFILES=
+
+# Header files or dirs to ignore when scanning. Use base file/dir names
+# e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h private_code
+IGNORE_HFILES=
+
+# Images to copy into HTML directory.
+# e.g. HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png
+HTML_IMAGES=
+
+# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
+# e.g. content_files=running.sgml building.sgml changes-2.0.sgml
+content_files=
+
+# SGML files where gtk-doc abbrevations (#GtkWidget) are expanded
+# These files must be listed here *and* in content_files
+# e.g. expand_content_files=running.sgml
+expand_content_files=
+
+# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
+# Only needed if you are using gtkdoc-scangobj to dynamically query widget
+# signals and properties.
+# e.g. GTKDOC_CFLAGS=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS)
+# e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib)
+GTKDOC_CFLAGS=
+GTKDOC_LIBS=
+
+# This includes the standard gtk-doc make rules, copied by gtkdocize.
+include $(top_srcdir)/gtk-doc.make
+
+# Other files to distribute
+# e.g. EXTRA_DIST += version.xml.in
+EXTRA_DIST +=
+
+# Files not to distribute
+# for --rebuild-types in $(SCAN_OPTIONS), e.g. $(DOC_MODULE).types
+# for --rebuild-sections in $(SCAN_OPTIONS) e.g. $(DOC_MODULE)-sections.txt
+#DISTCLEANFILES +=
+
+# Comment this out if you want 'make check' to test you doc status
+# and run some sanity checks
+if ENABLE_GTK_DOC
+TESTS_ENVIRONMENT = cd $(srcdir) && \
+  DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \
+  SRCDIR=$(abs_srcdir) BUILDDIR=$(abs_builddir)
+#TESTS = $(GTKDOC_CHECK)
+endif
+
+-include $(top_srcdir)/git.mk
diff --git a/docs/reference/kmscon-docs.sgml b/docs/reference/kmscon-docs.sgml
new file mode 100644 (file)
index 0000000..9120d8e
--- /dev/null
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
+[
+  <!ENTITY % local.common.attrib "xmlns:xi  CDATA  #FIXED 'http://www.w3.org/2003/XInclude'">
+  <!ENTITY version SYSTEM "version.xml">
+]>
+<book id="index">
+  <bookinfo>
+    <title>kmscon Reference Manual</title>
+    <releaseinfo>
+      for kmscon &version;.
+      The latest version of this documentation can be found on-line at
+      <ulink role="online-location" url="http://[TODO]/kmscon/index.html">http://[TODO]/kmscon/</ulink>.
+    </releaseinfo>
+    <copyright>
+      <year>2011-2012</year>
+      <holder>David Herrmann &lt;dh.herrmann@googlemail.org&gt;</holder>
+    </copyright>
+  </bookinfo>
+
+  <chapter>
+    <title>API Reference</title>
+    <xi:include href="xml/conf.xml"/>
+    <xi:include href="xml/console.xml"/>
+    <xi:include href="xml/eloop.xml"/>
+    <xi:include href="xml/font.xml"/>
+    <xi:include href="xml/gl.xml"/>
+    <xi:include href="xml/log.xml"/>
+    <xi:include href="xml/misc.xml"/>
+    <xi:include href="xml/pty.xml"/>
+    <xi:include href="xml/terminal.xml"/>
+    <xi:include href="xml/ui.xml"/>
+    <xi:include href="xml/unicode.xml"/>
+    <xi:include href="xml/uterm.xml"/>
+    <xi:include href="xml/uterm_internal.xml"/>
+    <xi:include href="xml/vt.xml"/>
+    <xi:include href="xml/vte.xml"/>
+  </chapter>
+
+  <index id="api-index-full">
+    <title>API Index</title>
+    <xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include>
+  </index>
+
+  <xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
+</book>
diff --git a/docs/reference/version.xml.in b/docs/reference/version.xml.in
new file mode 100644 (file)
index 0000000..d78bda9
--- /dev/null
@@ -0,0 +1 @@
+@VERSION@