[gnome-shell] docs: Allow building API documentation



commit c1fa9a82e689bc85c5e08f45a9aefad6750f016f
Author: Florian MÃllner <fmuellner gnome org>
Date:   Wed Sep 7 20:23:28 2011 +0200

    docs: Allow building API documentation
    
    As extensions.gnome.org starts to shape up, we should allow to
    build the API documentation for St/Shell.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=661045

 .gitignore                              |   13 ++++
 Makefile.am                             |    4 +-
 configure.ac                            |    8 +++
 docs/Makefile.am                        |    1 +
 docs/reference/Makefile.am              |    1 +
 docs/reference/shell/Makefile.am        |  105 +++++++++++++++++++++++++++++++
 docs/reference/shell/shell-docs.sgml.in |   73 +++++++++++++++++++++
 docs/reference/st/Makefile.am           |  105 +++++++++++++++++++++++++++++++
 docs/reference/st/st-docs.sgml.in       |   68 ++++++++++++++++++++
 9 files changed, 377 insertions(+), 1 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index fd96ab5..4ec7bad 100644
--- a/.gitignore
+++ b/.gitignore
@@ -21,6 +21,19 @@ data/gnome-shell.desktop.in
 data/gschemas.compiled
 data/org.gnome.shell.gschema.xml
 data/org.gnome.shell.gschema.valid
+docs/reference/*/*.args
+docs/reference/*/*.bak
+docs/reference/*/*.hierarchy
+docs/reference/*/*.interfaces
+docs/reference/*/*.prerequisites
+docs/reference/*/*.sgml
+docs/reference/*/*.signals
+docs/reference/*/*.stamp
+docs/reference/*/*.txt
+docs/reference/*/*.types
+docs/reference/*/html/
+docs/reference/*/xml/
+gtk-doc.make
 js/misc/config.js
 intltool-extract.in
 intltool-merge.in
diff --git a/Makefile.am b/Makefile.am
index 426a9b0..de5e2f4 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,7 +1,7 @@
 # Point to our macro directory and pick up user flags from the environment
 ACLOCAL_AMFLAGS  = -I m4 ${ACLOCAL_FLAGS}
 
-SUBDIRS = data js src browser-plugin tests po man
+SUBDIRS = data js src browser-plugin tests po man docs
 
 EXTRA_DIST =		\
 	.project	\
@@ -19,3 +19,5 @@ DIST_EXCLUDE =					\
 distcheck-hook:
 	@echo "Checking disted files against files in git"
 	@$(srcdir)/tools/check-for-missing.py $(srcdir) $(distdir) $(DIST_EXCLUDE)
+
+DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc
diff --git a/configure.ac b/configure.ac
index eae46a6..18b14aa 100644
--- a/configure.ac
+++ b/configure.ac
@@ -181,6 +181,8 @@ AC_SUBST(GIRDIR)
 TYPELIBDIR="$($PKG_CONFIG --variable=typelibdir gobject-introspection-1.0)"
 AC_SUBST(TYPELIBDIR)
 
+GTK_DOC_CHECK([1.15], [--flavour no-tmpl])
+
 # Stay command-line compatible with the gnome-common configure option. Here
 # minimum/yes/maximum are the same, however.
 AC_ARG_ENABLE(compile_warnings,
@@ -243,6 +245,12 @@ AC_ARG_VAR([BROWSER_PLUGIN_DIR],[Where to install the plugin to])
 AC_CONFIG_FILES([
   Makefile
   data/Makefile
+  docs/Makefile
+  docs/reference/Makefile
+  docs/reference/shell/Makefile
+  docs/reference/shell/shell-docs.sgml
+  docs/reference/st/Makefile
+  docs/reference/st/st-docs.sgml
   js/Makefile
   js/misc/config.js
   src/Makefile
diff --git a/docs/Makefile.am b/docs/Makefile.am
new file mode 100644
index 0000000..f3ddc22
--- /dev/null
+++ b/docs/Makefile.am
@@ -0,0 +1 @@
+SUBDIRS = reference
diff --git a/docs/reference/Makefile.am b/docs/reference/Makefile.am
new file mode 100644
index 0000000..2721dc0
--- /dev/null
+++ b/docs/reference/Makefile.am
@@ -0,0 +1 @@
+SUBDIRS = shell st
diff --git a/docs/reference/shell/Makefile.am b/docs/reference/shell/Makefile.am
new file mode 100644
index 0000000..b8c68d1
--- /dev/null
+++ b/docs/reference/shell/Makefile.am
@@ -0,0 +1,105 @@
+## Process this file with automake to produce Makefile.in
+
+# We require automake 1.6 at least.
+AUTOMAKE_OPTIONS = 1.6
+
+# This is a blank Makefile.am for using gtk-doc.
+# Copy this to your project's API docs directory and modify the variables to
+# suit your project. See the GTK+ Makefiles in gtk+/docs/reference for examples
+# of using the various options.
+
+# The name of the module, e.g. 'glib'.
+DOC_MODULE=shell
+
+# 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, relative to $(srcdir).
+# gtk-doc will search all .c and .h files beneath these paths
+# for inline comments documenting functions and macros.
+# e.g. DOC_SOURCE_DIR=../../../gtk ../../../gdk
+DOC_SOURCE_DIR=../../../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=--rebuild-types
+
+# 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=calendar-server gvs hotplug-sniffer st tray
+
+# 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=$(GNOME_SHELL_CFLAGS)
+GTKDOC_LIBS=$(GNOME_SHELL_LIBS) $(top_builddir)/src/libgnome-shell.la
+
+# 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 = $(DOC_MODULES).types
+
+# 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/shell/shell-docs.sgml.in b/docs/reference/shell/shell-docs.sgml.in
new file mode 100644
index 0000000..e1029e3
--- /dev/null
+++ b/docs/reference/shell/shell-docs.sgml.in
@@ -0,0 +1,73 @@
+<?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'">
+]>
+<book id="index">
+  <bookinfo>
+    <title>Shell Reference Manual</title>
+    <releaseinfo>
+      for Shell @VERSION  
+      <!--The latest version of this documentation can be found on-line at
+      <ulink role="online-location" url="http://[SERVER]/shell/index.html";>http://[SERVER]/shell/</ulink>.-->
+    </releaseinfo>
+  </bookinfo>
+
+  <chapter>
+    <title>Actors</title>
+    <xi:include href="xml/shell-generic-container.xml"/>
+    <xi:include href="xml/shell-slicer.xml"/>
+    <xi:include href="xml/shell-stack.xml"/>
+  </chapter>
+  <chapter>
+    <title>Application tracking</title>
+    <xi:include href="xml/shell-app.xml"/>
+    <xi:include href="xml/shell-app-usage.xml"/>
+    <xi:include href="xml/shell-window-tracker.xml"/>
+  </chapter>
+  <chapter>
+    <title>Search</title>
+    <xi:include href="xml/shell-app-system.xml"/>
+    <xi:include href="xml/shell-contact-system.xml"/>
+    <xi:include href="xml/shell-doc-system.xml"/>
+  </chapter>
+  <chapter>
+    <title>Tray Icons</title>
+    <xi:include href="xml/shell-embedded-window.xml"/>
+    <xi:include href="xml/shell-gtk-embed.xml"/>
+    <xi:include href="xml/shell-tray-icon.xml"/>
+    <xi:include href="xml/shell-tray-manager.xml"/>
+  </chapter>
+  <chapter>
+    <title>Recorder</title>
+    <xi:include href="xml/shell-recorder.xml"/>
+    <xi:include href="xml/shell-recorder-src.xml"/>
+  </chapter>
+  <chapter>
+    <title>Integration helpers and utilities</title>
+    <xi:include href="xml/shell-global.xml"/>
+    <xi:include href="xml/shell-wm.xml"/>
+    <xi:include href="xml/shell-xfixes-cursor.xml"/>
+    <xi:include href="xml/shell-util.xml"/>
+    <xi:include href="xml/shell-mount-operation.xml"/>
+    <xi:include href="xml/shell-mobile-providers.xml"/>
+    <xi:include href="xml/shell-network-agent.xml"/>
+    <xi:include href="xml/shell-polkit-authentication-agent.xml"/>
+    <xi:include href="xml/shell-tp-client.xml"/>
+  </chapter>
+  <chapter id="object-tree">
+    <title>Object Hierarchy</title>
+     <xi:include href="xml/tree_index.sgml"/>
+  </chapter>
+  <index id="api-index-full">
+    <title>API Index</title>
+    <xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include>
+  </index>
+  <index id="deprecated-api-index" role="deprecated">
+    <title>Index of deprecated API</title>
+    <xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include>
+  </index>
+
+  <xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
+</book>
diff --git a/docs/reference/st/Makefile.am b/docs/reference/st/Makefile.am
new file mode 100644
index 0000000..51473a3
--- /dev/null
+++ b/docs/reference/st/Makefile.am
@@ -0,0 +1,105 @@
+## Process this file with automake to produce Makefile.in
+
+# We require automake 1.6 at least.
+AUTOMAKE_OPTIONS = 1.6
+
+# This is a blank Makefile.am for using gtk-doc.
+# Copy this to your project's API docs directory and modify the variables to
+# suit your project. See the GTK+ Makefiles in gtk+/docs/reference for examples
+# of using the various options.
+
+# The name of the module, e.g. 'glib'.
+DOC_MODULE=st
+
+# 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, relative to $(srcdir).
+# gtk-doc will search all .c and .h files beneath these paths
+# for inline comments documenting functions and macros.
+# e.g. DOC_SOURCE_DIR=../../../gtk ../../../gdk
+DOC_SOURCE_DIR=../../../src/st
+
+# 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=--rebuild-types --rebuild-sections
+
+# 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/st/*.h
+CFILE_GLOB=$(top_srcdir)/src/st/*.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=st-private.h st-theme-node-private.h
+
+# 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=$(top_builddir)/src/libst-1.0.la
+
+# 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 = $(DOC_MODULE).types $(DOC_MODULE)-sections.txt
+
+# 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/st/st-docs.sgml.in b/docs/reference/st/st-docs.sgml.in
new file mode 100644
index 0000000..0055497
--- /dev/null
+++ b/docs/reference/st/st-docs.sgml.in
@@ -0,0 +1,68 @@
+<?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'">
+]>
+<book id="index">
+  <bookinfo>
+    <title>St Reference Manual</title>
+    <releaseinfo>
+      for St @VERSION  
+      <!--The latest version of this documentation can be found on-line at
+      <ulink role="online-location" url="http://[SERVER]/st/index.html";>http://[SERVER]/st/</ulink>.-->
+    </releaseinfo>
+  </bookinfo>
+
+  <part>
+    <title>API reference</title>
+    <chapter id="base">
+      <title>Abstract classes and Interfaces</title>
+      <xi:include href="xml/st-widget.xml"/>
+      <xi:include href="xml/st-widget-accessible.xml"/>
+      <xi:include href="xml/st-container.xml"/>
+      <xi:include href="xml/st-scrollable.xml"/>
+    </chapter>
+    <chapter id="widgets">
+      <title>Widgets</title>
+      <xi:include href="xml/st-button.xml"/>
+      <xi:include href="xml/st-drawing-area.xml"/>
+      <xi:include href="xml/st-entry.xml"/>
+      <xi:include href="xml/st-icon.xml"/>
+      <xi:include href="xml/st-label.xml"/>
+      <xi:include href="xml/st-tooltip.xml"/>
+    </chapter>
+    <chapter id="containers">
+      <title>Containers</title>
+      <xi:include href="xml/st-bin.xml"/>
+      <xi:include href="xml/st-box-layout.xml"/>
+      <xi:include href="xml/st-group.xml"/>
+      <xi:include href="xml/st-overflow-box.xml"/>
+      <xi:include href="xml/st-scroll-view.xml"/>
+      <xi:include href="xml/st-table.xml"/>
+    </chapter>
+
+    <chapter id="styling">
+      <title>Styling</title>
+      <xi:include href="xml/st-theme.xml"/>
+      <xi:include href="xml/st-theme-context.xml"/>
+      <xi:include href="xml/st-theme-node.xml"/>
+      <xi:include href="xml/st-theme-node-transition.xml"/>
+      <xi:include href="xml/st-texture-cache.xml"/>
+    </chapter>
+  </part>
+  <chapter id="object-tree">
+    <title>Object Hierarchy</title>
+     <xi:include href="xml/tree_index.sgml"/>
+  </chapter>
+  <index id="api-index-full">
+    <title>API Index</title>
+    <xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include>
+  </index>
+  <index id="deprecated-api-index" role="deprecated">
+    <title>Index of deprecated API</title>
+    <xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include>
+  </index>
+
+  <xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
+</book>



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]