On Tue, Mar 27, 2012 at 04:48:21PM +0100, Matthew Booth wrote:
---
configure.ac | 22 ++-
gobject/Makefile.am | 2 +
gobject/docs/.gitignore | 24 ++
gobject/docs/Makefile.am | 111 ++++++
gobject/docs/gtk-doc.make | 1 +
gobject/docs/guestfs-docs.sgml.in | 38 ++
gobject/docs/guestfs-sections.txt | 689 +++++++++++++++++++++++++++++++++++++
m4/gtk-doc.m4 | 1 +
8 files changed, 887 insertions(+), 1 deletions(-)
create mode 100644 gobject/docs/.gitignore
create mode 100644 gobject/docs/Makefile.am
create mode 120000 gobject/docs/gtk-doc.make
create mode 100644 gobject/docs/guestfs-docs.sgml.in
create mode 100644 gobject/docs/guestfs-sections.txt
create mode 120000 m4/gtk-doc.m4
diff --git a/configure.ac b/configure.ac
index 1214107..8561d67 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1086,9 +1086,20 @@ AS_IF(
],
[AC_MSG_WARN([gobject library not found, gobject binding will be disabled])]
)
+
+ PKG_CHECK_MODULES([GIO], [gio-2.0 >= 2.26.0],
+ [
+ AC_SUBST([GIO_CFLAGS])
+ AC_SUBST([GIO_LIBS])
+ AC_DEFINE([HAVE_GIO],[1],
+ [gio library found at compile time.])
+ ],
+ [AC_MSG_WARN([gio library not found, gobject binding will be disabled])]
+ )
]
)
-AM_CONDITIONAL([HAVE_GOBJECT],[test "x$GOBJECT_LIBS" != "x"])
+AM_CONDITIONAL([HAVE_GOBJECT],
+ [test "x$GOBJECT_LIBS" != "x" -a
"x$GIO_LIBS" != "x"])
AC_CHECK_PROG([GJS],[gjs],[gjs])
AS_IF(
@@ -1107,6 +1118,13 @@ AM_CONDITIONAL([HAVE_INTROSPECTION],
[test "x$HAVE_INTROSPECTION_TRUE" = "x" &&
test "x$HAVE_GOBJECT_TRUE" = "x"])
+# check for gtk-doc
+m4_ifdef([GTK_DOC_CHECK], [
+GTK_DOC_CHECK([1.14],[--flavour no-tmpl])
+],[
+AM_CONDITIONAL([ENABLE_GTK_DOC], false)
+])
+
dnl Library versioning.
MAX_PROC_NR=`cat $srcdir/src/MAX_PROC_NR`
AC_SUBST(MAX_PROC_NR)
@@ -1146,6 +1164,8 @@ AC_CONFIG_FILES([Makefile
gnulib/lib/Makefile
gnulib/tests/Makefile
gobject/Makefile
+ gobject/docs/Makefile
+ gobject/docs/guestfs-docs.sgml
haskell/Makefile
inspector/Makefile
java/Makefile
diff --git a/gobject/Makefile.am b/gobject/Makefile.am
index 7f0a8ef..bc479ac 100644
--- a/gobject/Makefile.am
+++ b/gobject/Makefile.am
@@ -15,6 +15,8 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+SUBDIRS = . docs
+
BUILT_SOURCES = \
guestfs-gobject.h \
guestfs-gobject.c \
diff --git a/gobject/docs/.gitignore b/gobject/docs/.gitignore
new file mode 100644
index 0000000..735fd55
--- /dev/null
+++ b/gobject/docs/.gitignore
@@ -0,0 +1,24 @@
+/guestfs.args
+/guestfs-decl-list.txt
+/guestfs-decl.txt
+/guestfs-docs.sgml
+/guestfs.hierarchy
+/guestfs.interfaces
+/guestfs-overrides.txt
+/guestfs.prerequisites
+/guestfs.signals
+/guestfs.types
+/guestfs-undeclared.txt
+/guestfs-undocumented.txt
+/guestfs-unused.txt
+/html/
+/html-build.stamp
+/html.stamp
+/scan-build.stamp
+/setup-build.stamp
+/sgml-build.stamp
+/sgml.stamp
+/tmpl/
+/tmpl-build.stamp
+/tmpl.stamp
+/xml/
diff --git a/gobject/docs/Makefile.am b/gobject/docs/Makefile.am
new file mode 100644
index 0000000..94b7a2a
--- /dev/null
+++ b/gobject/docs/Makefile.am
@@ -0,0 +1,111 @@
+# libguestfs
+# Copyright (C) 2012 Red Hat Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+# The name of the module, e.g. 'glib'.
+DOC_MODULE=guestfs
+
+# 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=$(srcdir)/..
+
+# 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-sections --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=$(srcdir)/../*.h
+CFILE_GLOB=$(srcdir)/../*.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=$(GOBJECT_CFLAGS) $(GIO_CFLAGS)
+GTKDOC_LIBS=$(GOBJECT_LIBS) $(GIO_LIBS) $(builddir)/../libguestfs-gobject-1.0.la
+
+# This includes the standard gtk-doc make rules, copied by gtkdocize.
+include $(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 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/gobject/docs/gtk-doc.make b/gobject/docs/gtk-doc.make
new file mode 120000
index 0000000..0870846
--- /dev/null
+++ b/gobject/docs/gtk-doc.make
@@ -0,0 +1 @@
+/usr/share/gtk-doc/data/gtk-doc.make
\ No newline at end of file
diff --git a/gobject/docs/guestfs-docs.sgml.in b/gobject/docs/guestfs-docs.sgml.in
new file mode 100644
index 0000000..0037864
--- /dev/null
+++ b/gobject/docs/guestfs-docs.sgml.in
@@ -0,0 +1,38 @@
+<?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>Libguestfs GObject Bindings Reference Manual</title>
+ <releaseinfo>
+ for libguestfs @VERSION@.
+ <!--
+ The latest version of this documentation can be found on-line at
+ <ulink role="online-location"
url="http://[SERVER]/guestfs/index.html">http://[SERVER]/guestfs/</ulink>.
+ -->
+ </releaseinfo>
+ </bookinfo>
+
+ <chapter>
+ <title>Libguestfs GObject Bindings</title>
+ <xi:include href="xml/guestfs-gobject.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/gobject/docs/guestfs-sections.txt b/gobject/docs/guestfs-sections.txt
new file mode 100644
index 0000000..19b0de8
--- /dev/null
+++ b/gobject/docs/guestfs-sections.txt
@@ -0,0 +1,689 @@
+<SECTION>
+<FILE>guestfs-gobject</FILE>
+<TITLE>GuestfsAddDomain</TITLE>
+<TITLE>GuestfsAddDriveOpts</TITLE>
Apart from this last file, the patch is OK.
Rich.
--
Richard Jones, Virtualization Group, Red Hat
http://people.redhat.com/~rjones
libguestfs lets you edit virtual machines. Supports shell scripting,
bindings from many languages.
http://libguestfs.org