New macros to check for XML catalog contents and path, borrowed from
authorMatthias Clasen <maclas@gmx.de>
Tue, 17 Jun 2003 23:08:37 +0000 (23:08 +0000)
committerMatthias Clasen <matthiasc@src.gnome.org>
Tue, 17 Jun 2003 23:08:37 +0000 (23:08 +0000)
2003-06-17  Matthias Clasen  <maclas@gmx.de>

* acinclude.m4 (JH_PATH_XML_CATALOG, JH_CHECK_XML_CATALOG): New
macros to check for XML catalog contents and path, borrowed from
gtk-doc.
* configure.in: New option --enable-man to enable regeneration of
man pages from Docbook, if the necessary tools are found.

* gobject/Makefile.am: Add rule to regenerate man pages from
Docbook.
(man_MANS): Add glib-mkenums.1, glib-genmarshal.1 and gobject-query.1.
(content_files): Add glib-mkenums.xml, glib-genmarshal.xml and
gobject-query.xml.

* gobject/glib-mkenums.xml:
* gobject/glib-genmarshal.xml:
* gobject/gobject-query.xml: New refentries.

* gobject/glib-mkenums.1:
* gobject/glib-genmarshal.1:
* gobject/gobject-query.1: Man pages generated from the .xml
sources.

* gobject/gobject-docs.sgml: Include glib-mkenums.xml,
glib-genmarshal.xml and gobject-query.xml.

* glib/Makefile.am: Add rule to regenerate man pages from
Docbook.
(man_MANS): Add glib-gettextize.1.
(content_files): Add glib-gettextize.xml.

* glib/glib-gettextize.xml: New refentry.

* glib/glib-gettextize.1: Man page generated from the .xml source.

* glib/glib-docs.sgml: Include glib-gettextize.xml.

22 files changed:
ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-12
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
acinclude.m4
configure.in
docs/reference/ChangeLog
docs/reference/glib/Makefile.am
docs/reference/glib/glib-docs.sgml
docs/reference/glib/glib-gettextize.1 [new file with mode: 0644]
docs/reference/glib/glib-gettextize.xml [new file with mode: 0644]
docs/reference/gobject/Makefile.am
docs/reference/gobject/glib-genmarshal.1 [new file with mode: 0644]
docs/reference/gobject/glib-genmarshal.xml [new file with mode: 0644]
docs/reference/gobject/glib-mkenums.1 [new file with mode: 0644]
docs/reference/gobject/glib-mkenums.xml [new file with mode: 0644]
docs/reference/gobject/gobject-docs.sgml
docs/reference/gobject/gobject-query.1 [new file with mode: 0644]
docs/reference/gobject/gobject-query.xml [new file with mode: 0644]
gobject/Makefile.am

index cbac35d143baa386350e3dfb5e8d511e3d0c22d4..3d1456b118922081bf651f5e89d662acd8ffc9b5 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,21 @@
+2003-06-18  Matthias Clasen  <maclas@gmx.de>
+
+       * acinclude.m4 (JH_PATH_XML_CATALOG, JH_CHECK_XML_CATALOG): New
+       macros to check for XML catalog contents and path, borrowed from
+       gtk-doc. 
+
+       * configure.in: New option --enable-man to enable regeneration of
+       man pages from Docbook, if the necessary tools are found.
+
+2003-06-17  Matthias Clasen  <maclas@gmx.de>
+
+       * acinclude.m4 (JH_PATH_XML_CATALOG, JH_CHECK_XML_CATALOG): New
+       macros to check for XML catalog contents and path, borrowed from
+       gtk-doc. 
+       
+       * configure.in: New option --enable-man to enable regeneration of
+       man pages from Docbook, if the necessary tools are found.
+
 2003-06-15  Tor Lillqvist  <tml@iki.fi>
 
        * glib-zip.in (DLLDIR): Test where the DLLs actually are.
index cbac35d143baa386350e3dfb5e8d511e3d0c22d4..3d1456b118922081bf651f5e89d662acd8ffc9b5 100644 (file)
@@ -1,3 +1,21 @@
+2003-06-18  Matthias Clasen  <maclas@gmx.de>
+
+       * acinclude.m4 (JH_PATH_XML_CATALOG, JH_CHECK_XML_CATALOG): New
+       macros to check for XML catalog contents and path, borrowed from
+       gtk-doc. 
+
+       * configure.in: New option --enable-man to enable regeneration of
+       man pages from Docbook, if the necessary tools are found.
+
+2003-06-17  Matthias Clasen  <maclas@gmx.de>
+
+       * acinclude.m4 (JH_PATH_XML_CATALOG, JH_CHECK_XML_CATALOG): New
+       macros to check for XML catalog contents and path, borrowed from
+       gtk-doc. 
+       
+       * configure.in: New option --enable-man to enable regeneration of
+       man pages from Docbook, if the necessary tools are found.
+
 2003-06-15  Tor Lillqvist  <tml@iki.fi>
 
        * glib-zip.in (DLLDIR): Test where the DLLs actually are.
index cbac35d143baa386350e3dfb5e8d511e3d0c22d4..3d1456b118922081bf651f5e89d662acd8ffc9b5 100644 (file)
@@ -1,3 +1,21 @@
+2003-06-18  Matthias Clasen  <maclas@gmx.de>
+
+       * acinclude.m4 (JH_PATH_XML_CATALOG, JH_CHECK_XML_CATALOG): New
+       macros to check for XML catalog contents and path, borrowed from
+       gtk-doc. 
+
+       * configure.in: New option --enable-man to enable regeneration of
+       man pages from Docbook, if the necessary tools are found.
+
+2003-06-17  Matthias Clasen  <maclas@gmx.de>
+
+       * acinclude.m4 (JH_PATH_XML_CATALOG, JH_CHECK_XML_CATALOG): New
+       macros to check for XML catalog contents and path, borrowed from
+       gtk-doc. 
+       
+       * configure.in: New option --enable-man to enable regeneration of
+       man pages from Docbook, if the necessary tools are found.
+
 2003-06-15  Tor Lillqvist  <tml@iki.fi>
 
        * glib-zip.in (DLLDIR): Test where the DLLs actually are.
index cbac35d143baa386350e3dfb5e8d511e3d0c22d4..3d1456b118922081bf651f5e89d662acd8ffc9b5 100644 (file)
@@ -1,3 +1,21 @@
+2003-06-18  Matthias Clasen  <maclas@gmx.de>
+
+       * acinclude.m4 (JH_PATH_XML_CATALOG, JH_CHECK_XML_CATALOG): New
+       macros to check for XML catalog contents and path, borrowed from
+       gtk-doc. 
+
+       * configure.in: New option --enable-man to enable regeneration of
+       man pages from Docbook, if the necessary tools are found.
+
+2003-06-17  Matthias Clasen  <maclas@gmx.de>
+
+       * acinclude.m4 (JH_PATH_XML_CATALOG, JH_CHECK_XML_CATALOG): New
+       macros to check for XML catalog contents and path, borrowed from
+       gtk-doc. 
+       
+       * configure.in: New option --enable-man to enable regeneration of
+       man pages from Docbook, if the necessary tools are found.
+
 2003-06-15  Tor Lillqvist  <tml@iki.fi>
 
        * glib-zip.in (DLLDIR): Test where the DLLs actually are.
index cbac35d143baa386350e3dfb5e8d511e3d0c22d4..3d1456b118922081bf651f5e89d662acd8ffc9b5 100644 (file)
@@ -1,3 +1,21 @@
+2003-06-18  Matthias Clasen  <maclas@gmx.de>
+
+       * acinclude.m4 (JH_PATH_XML_CATALOG, JH_CHECK_XML_CATALOG): New
+       macros to check for XML catalog contents and path, borrowed from
+       gtk-doc. 
+
+       * configure.in: New option --enable-man to enable regeneration of
+       man pages from Docbook, if the necessary tools are found.
+
+2003-06-17  Matthias Clasen  <maclas@gmx.de>
+
+       * acinclude.m4 (JH_PATH_XML_CATALOG, JH_CHECK_XML_CATALOG): New
+       macros to check for XML catalog contents and path, borrowed from
+       gtk-doc. 
+       
+       * configure.in: New option --enable-man to enable regeneration of
+       man pages from Docbook, if the necessary tools are found.
+
 2003-06-15  Tor Lillqvist  <tml@iki.fi>
 
        * glib-zip.in (DLLDIR): Test where the DLLs actually are.
index cbac35d143baa386350e3dfb5e8d511e3d0c22d4..3d1456b118922081bf651f5e89d662acd8ffc9b5 100644 (file)
@@ -1,3 +1,21 @@
+2003-06-18  Matthias Clasen  <maclas@gmx.de>
+
+       * acinclude.m4 (JH_PATH_XML_CATALOG, JH_CHECK_XML_CATALOG): New
+       macros to check for XML catalog contents and path, borrowed from
+       gtk-doc. 
+
+       * configure.in: New option --enable-man to enable regeneration of
+       man pages from Docbook, if the necessary tools are found.
+
+2003-06-17  Matthias Clasen  <maclas@gmx.de>
+
+       * acinclude.m4 (JH_PATH_XML_CATALOG, JH_CHECK_XML_CATALOG): New
+       macros to check for XML catalog contents and path, borrowed from
+       gtk-doc. 
+       
+       * configure.in: New option --enable-man to enable regeneration of
+       man pages from Docbook, if the necessary tools are found.
+
 2003-06-15  Tor Lillqvist  <tml@iki.fi>
 
        * glib-zip.in (DLLDIR): Test where the DLLs actually are.
index efb43d218418edadc7cccca24d864d82975b3599..1e7207690769e82dd8cfc9e6e7c01d7457aa1558 100644 (file)
@@ -73,6 +73,52 @@ if test $ac_cv_func_printf_unix98 = yes; then
 fi
 ])# AC_FUNC_PRINTF_UNIX98
 
+# Checks the location of the XML Catalog
+# Usage:
+#   JH_PATH_XML_CATALOG
+# Defines XMLCATALOG and XML_CATALOG_FILE substitutions
+AC_DEFUN([JH_PATH_XML_CATALOG],
+[
+  # check for the presence of the XML catalog
+  AC_ARG_WITH([xml-catalog],
+              AC_HELP_STRING([--with-xml-catalog=CATALOG],
+                             [path to xml catalog to use]),,
+              [with_xml_catalog=/etc/xml/catalog])
+  XML_CATALOG_FILE="$with_xml_catalog"
+  AC_MSG_CHECKING([for XML catalog ($XML_CATALOG_FILE)])
+  if test -f "$XML_CATALOG_FILE"; then
+    AC_MSG_RESULT([found])
+  else
+    AC_MSG_RESULT([not found])
+    AC_MSG_ERROR([XML catalog not found])
+  fi
+  AC_SUBST([XML_CATALOG_FILE])
+
+  # check for the xmlcatalog program
+  AC_PATH_PROG(XMLCATALOG, xmlcatalog, no)
+  if test "x$XMLCATALOG" = xno; then
+    AC_MSG_ERROR([could not find xmlcatalog program])
+  fi
+])
+
+# Checks if a particular URI appears in the XML catalog
+# Usage:
+#   JH_CHECK_XML_CATALOG(URI, [FRIENDLY-NAME], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+AC_DEFUN([JH_CHECK_XML_CATALOG],
+[
+  AC_REQUIRE([JH_PATH_XML_CATALOG])dnl
+  AC_MSG_CHECKING([for ifelse([$2],,[$1],[$2]) in XML catalog])
+  if AC_RUN_LOG([$XMLCATALOG --noout "$XML_CATALOG_FILE" "$1" >&2]); then
+    AC_MSG_RESULT([found])
+    ifelse([$3],,,[$3
+])dnl
+  else
+    AC_MSG_RESULT([not found])
+    ifelse([$4],,
+       [AC_MSG_ERROR([could not find ifelse([$2],,[$1],[$2]) in XML catalog])],
+       [$4])
+  fi
+])
 
 
 
index 34cf21663131dc226684a97e0136f2be653cdf0d..30d64a7af3fa1ab846982970543a464c67e236a0 100644 (file)
@@ -1896,6 +1896,26 @@ dnl **************************
 
 GTK_DOC_CHECK([1.0])
 
+AC_ARG_ENABLE(man,
+              [AC_HELP_STRING([--enable-man],
+                              [regenerate man pages from Docbook [default=no]])],enable_man=yes,
+              enable_man=no)
+
+dnl
+dnl Check for xsltproc
+dnl
+AC_PATH_PROG([XSLTPROC], [xsltproc])
+if test -z "$XSLTPROC"; then
+  enable_man=no
+fi
+
+dnl check for DocBook DTD and stylesheets in the local catalog.
+JH_CHECK_XML_CATALOG([-//OASIS//DTD DocBook XML V4.1.2//EN],
+   [DocBook XML DTD V4.1.2],,enable_man=no)
+JH_CHECK_XML_CATALOG([http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl],
+   [DocBook XSL Stylesheets],,enable_man=no)
+AM_CONDITIONAL(ENABLE_MAN, test x$enable_man != xno)
+
 dnl ******************************
 dnl *** output the whole stuff ***
 dnl ******************************
index 8c51866aad53c4d97f67f43a6d01ff2c64fdf008..3d2c3b15d18e14e1ae7e29cf38388f63b33d53bd 100644 (file)
@@ -1,3 +1,36 @@
+2003-06-18  Matthias Clasen  <maclas@gmx.de>
+
+       * gobject/Makefile.am: Add rule to regenerate man pages from 
+       Docbook.
+       (man_MANS): Add glib-mkenums.1, glib-genmarshal.1 and gobject-query.1.
+       (content_files): Add glib-mkenums.xml, glib-genmarshal.xml and 
+       gobject-query.xml.
+
+       * gobject/glib-mkenums.xml: 
+       * gobject/glib-genmarshal.xml: 
+       * gobject/gobject-query.xml: New refentries.
+
+       * gobject/glib-mkenums.1: 
+       * gobject/glib-genmarshal.1: 
+       * gobject/gobject-query.1: Man pages generated from the .xml
+       sources.
+
+       * gobject/gobject-docs.sgml: Include glib-mkenums.xml, 
+       glib-genmarshal.xml and gobject-query.xml.
+       
+2003-06-17  Matthias Clasen  <maclas@gmx.de>
+
+       * glib/Makefile.am: Add rule to regenerate man pages from 
+       Docbook.
+       (man_MANS): Add glib-gettextize.1.
+       (content_files): Add glib-gettextize.xml.
+
+       * glib/glib-gettextize.xml: New refentry.
+
+       * glib/glib-gettextize.1: Man page generated from the .xml source.
+
+       * glib/glib-docs.sgml: Include glib-gettextize.xml.
+
 2003-06-17  Matthias Clasen  <mc2@YAST_ASK>
 
        * gobject/gobject-docs.sgml: 
index 5959840e437d211e4d1b4060f855b3043a8c0f4d..4f0244f111ab8336def6202c76b3f044c71d68de 100644 (file)
@@ -48,11 +48,21 @@ content_files =                             \
        changes.sgml                    \
        compiling.sgml                  \
        resources.sgml                  \
-       version.xml
+       version.xml                     \
+       glib-gettextize.xml
 
 # Extra options to supply to gtkdoc-fixref
 FIXXREF_OPTIONS=
 
+man_MANS = glib-gettextize.1 
+
+if ENABLE_MAN
+
+%.1 : %.xml 
+       @XSLTPROC@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+endif
+
 # include common portion ...
 include $(top_srcdir)/gtk-doc.make
 
index 4451349f0e34f1c9da18b10fbfe683c54a06c2e4..2be3fa5ca315d1d5e780c6d7bef8d10f9facf35d 100644 (file)
@@ -61,6 +61,8 @@
 <!ENTITY glib-Resources SYSTEM "resources.sgml">
 <!ENTITY glib-Changes SYSTEM "changes.sgml">
 
+<!ENTITY glib-gettextize SYSTEM "glib-gettextize.xml">
+
 <!ENTITY version SYSTEM "version.xml">
 ]>
 <book id="index">
@@ -155,7 +157,13 @@ OS/2 and BeOS. GLib is released under the GNU Library General Public License
     &glib-Caches;
     &glib-Memory-Allocators;
   </chapter>
+
+  <chapter id="tools">
+    <title>GLib Tools</title>
+
+    &glib-gettextize;
+  </chapter>
+
   <index/>
 
 </book>
diff --git a/docs/reference/glib/glib-gettextize.1 b/docs/reference/glib/glib-gettextize.1
new file mode 100644 (file)
index 0000000..693f09a
--- /dev/null
@@ -0,0 +1,59 @@
+.\"Generated by db2man.xsl. Don't modify this, modify the source.
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "GLIB-GETTEXTIZE" 1 "" "" ""
+.SH NAME
+glib-gettextize \- gettext internationalization utility
+.SH "SYNOPSIS"
+
+.nf
+\fBglib-gettextize\fR [option...] [directory]
+.fi
+
+.SH "DESCRIPTION"
+
+.PP
+ \fBglib-gettextize\fR helps to prepare a source package for being internationalized through gettext\&. It is a variant of the \fBgettextize\fR that ships with gettext\&.
+
+.PP
+ \fBglib-gettextize\fR differs from \fBgettextize\fR in that it doesn't create an \fIintl/\fR subdirectory and doesn't modify \fIpo/ChangeLog\fR (note that newer versions of \fBgettextize\fR behave like this when called with the \fB--no-changelog\fR option)\&.
+
+.SS "Options"
+
+.TP
+\fB--help\fR
+print help and exit
+
+.TP
+\fB--version\fR
+print version information and exit
+
+.TP
+\fB-c\fR, \fB--copy\fR
+copy files instead of making symlinks
+
+.TP
+\fB-f\fR, \fB--force\fR
+force writing of new files even if old ones exist
+
+.SH "SEE ALSO"
+
+.PP
+ \fBgettextize\fR(1)
+
diff --git a/docs/reference/glib/glib-gettextize.xml b/docs/reference/glib/glib-gettextize.xml
new file mode 100644 (file)
index 0000000..54efe7a
--- /dev/null
@@ -0,0 +1,78 @@
+<refentry id="glib-gettextize">
+
+<refmeta>
+<refentrytitle>glib-gettextize</refentrytitle>
+<manvolnum>1</manvolnum>
+</refmeta>
+
+<refnamediv>
+<refname>glib-gettextize</refname>
+<refpurpose>gettext internationalization utility</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+<cmdsynopsis>
+<command>glib-gettextize</command>
+<arg choice="opt" rep="repeat">option</arg>
+<arg choice="opt">directory</arg>
+</cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1><title>Description</title>
+<para>
+<command>glib-gettextize</command> helps to prepare a source package for being
+internationalized through <application>gettext</application>. 
+It is a variant of the <command>gettextize</command> that ships with
+<application>gettext</application>. 
+</para>
+
+<para>
+<command>glib-gettextize</command> differs
+from <command>gettextize</command> in that it doesn't create an
+<filename>intl/</filename> subdirectory and doesn't modify
+<filename>po/ChangeLog</filename> (note that newer versions of 
+<command>gettextize</command> behave like this when called with the
+<option>--no-changelog</option> option).
+</para>
+<refsect2><title>Options</title>
+<variablelist>
+
+<varlistentry>
+<term><option>--help</option></term>
+<listitem><para>
+print help and exit
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>--version</option></term>
+<listitem><para>
+print version information and exit
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>-c</option>, <option>--copy</option></term>
+<listitem><para>
+copy files instead of making symlinks
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>-f</option>, <option>--force</option></term>
+<listitem><para>
+force writing of new files even if old ones exist
+</para></listitem>
+</varlistentry>
+</variablelist>
+</refsect2>
+</refsect1>
+
+<refsect1><title>See also</title>
+<para>
+<command>gettextize</command>(1)
+</para>
+</refsect1>
+</refentry>
+
+
index b756b19e139824748be8e526f4a0862a73c9ad01..6f1d2a0f07220cffa6576cf0c2e2853cd8788e9e 100644 (file)
@@ -28,12 +28,29 @@ MKDB_OPTIONS=
 HTML_IMAGES =
 
 # Extra SGML files that are included by $(DOC_MAIN_SGML_FILE)
-content_files = version.xml
+content_files = version.xml            \
+               glib-mkenums.xml        \
+               glib-genmarshal.xml     \
+               gobject-query.xml
 
 # Extra options to supply to gtkdoc-fixref
 FIXXREF_OPTIONS=--extra-dir=$(srcdir)/../glib/html
 
+man_MANS = glib-mkenums.1 glib-genmarshal.1 gobject-query.1
+
+if ENABLE_MAN
+
+%.1 : %.xml 
+       @XSLTPROC@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+endif
+
 include $(top_srcdir)/gtk-doc.make
 
 # Other files to distribute
 EXTRA_DIST += version.xml.in
+
+
+
+
+
diff --git a/docs/reference/gobject/glib-genmarshal.1 b/docs/reference/gobject/glib-genmarshal.1
new file mode 100644 (file)
index 0000000..0261612
--- /dev/null
@@ -0,0 +1,253 @@
+.\"Generated by db2man.xsl. Don't modify this, modify the source.
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "GLIB-GENMARSHAL" 1 "" "" ""
+.SH NAME
+glib-genmarshal \- C code marshaller generation utility for GLib closures
+.SH "SYNOPSIS"
+
+.nf
+\fBglib-genmarshal\fR [options...] [files...]
+.fi
+
+.SH "DESCRIPTION"
+
+.PP
+ \fBglib-genmarshal\fR is a small utility that generates C code marshallers for callback functions of the GClosure mechanism in the GObject sublibrary of GLib\&. The marshaller functions have a standard signature, they get passed in the invoking closure, an array of value structures holding the callback function parameters and a value structure for the return value of the callback\&. The marshaller is then responsible to call the respective C code function of the closure with all the parameters on the stack and to collect its return value\&.
+
+.SH "INVOKATION"
+
+.PP
+ \fBglib-genmarshal\fR takes a list of marshallers to generate as input\&. The marshaller list is either read from standard input or from files passed as additional arguments on the command line\&.
+
+.SS "Options"
+
+.TP
+\fB--header\fR
+Generate header file contents of the marshallers\&.
+
+.TP
+\fB--body\fR
+Generate C code file contents of the marshallers\&.
+
+.TP
+\fB--prefix=string\fR, \fB--prefix string\fR
+Specify marshaller prefix\&. The default prefix is `g_cclosure_marshal'\&.
+
+.TP
+\fB--skip-source\fR
+Skip source location remarks in generated comments\&.
+
+.TP
+\fB--nostdinc\fR
+Do not use the standard marshallers of the GObject library, and skip \fIgmarshal\&.h\fR include directive in generated header files\&.
+
+.TP
+\fB--g-fatal-warnings\fR
+Make warnings fatal, that is, exit immediately once a warning occurs\&.
+
+.TP
+\fB-h\fR, \fB--help\fR
+Print brief help and exit\&.
+
+.TP
+\fB-v\fR, \fB--version\fR
+Print version and exit\&.
+
+.SS "Marshaller list format"
+
+.PP
+The marshaller lists are processed line by line, a line can contain a comment in the form of 
+
+.nf
+
+# this is a comment
+
+.fi
+ or a marshaller specification of the form 
+
+.nf
+
+\fIRTYPE\fR:\fIPTYPE\fR
+\fIRTYPE\fR:\fIPTYPE\fR,\fIPTYPE\fR
+\fIRTYPE\fR:\fIPTYPE\fR,\fIPTYPE\fR,\fIPTYPE\fR
+
+.fi
+ (up to 16 \fIPTYPE\fRs may be present)\&.
+
+.PP
+The \fIRTYPE\fR part specifies the callback's return type and the \fIPTYPE\fRs right to the colon specify the callback's parameter list, except for the first and the last arguments which are always pointers\&.
+
+.SS "Parameter types"
+
+.PP
+Currently, the following types are supported: 
+
+.TP
+\fIVOID\fR
+indicates no return type, or no extra parameters\&. If \fIVOID\fR is used as the parameter list, no additional parameters may be present\&.
+
+.TP
+\fIBOOLEAN\fR
+for boolean types (gboolean)
+
+.TP
+\fICHAR\fR
+for signed char types (gchar)
+
+.TP
+\fIUCHAR\fR
+for unsigned char types (guchar)
+
+.TP
+\fIINT\fR
+for signed integer types (gint)
+
+.TP
+\fIUINT\fR
+for unsigned integer types (guint)
+
+.TP
+\fILONG\fR
+for signed long integer types (glong)
+
+.TP
+\fIULONG\fR
+for unsigned long integer types (gulong)
+
+.TP
+\fIENUM\fR
+for enumeration types (gint)
+
+.TP
+\fIFLAGS\fR
+for flag enumeration types (guint)
+
+.TP
+\fIFLOAT\fR
+for single-precision float types (gfloat)
+
+.TP
+\fIDOUBLE\fR
+for double-precision float types (gdouble)
+
+.TP
+\fISTRING\fR
+for string types (gchar*)
+
+.TP
+\fIBOXED\fR
+for boxed (anonymous but reference counted) types (GBoxed*)
+
+.TP
+\fIPARAM\fR
+for GParamSpec or derived types (GParamSpec*)
+
+.TP
+\fIPOINTER\fR
+for anonymous pointer types (gpointer)
+
+.TP
+\fIOBJECT\fR
+for GObject or derived types (GObject*)
+
+.TP
+\fINONE\fR
+deprecated alias for \fIVOID\fR
+
+.TP
+\fIBOOL\fR
+deprecated alias for \fIBOOLEAN\fR
+
+.SH "EXAMPLE"
+
+.PP
+To generate marshallers for the following callback functions:
+
+.nf
+
+void   foo (gpointer data1,
+            gpointer data2);
+void   bar (gpointer data1,
+            gint     param1,
+            gpointer data2);
+gfloat baz (gpointer data1,
+            gboolean param1,
+            guchar   param2,
+            gpointer data2);
+
+.fi
+
+.PP
+The marshaller list has to look like this:
+
+.nf
+
+VOID:VOID
+VOID:INT
+FLOAT:BOOLEAN,UCHAR
+
+.fi
+
+.PP
+The generated marshallers have the arguments encoded in their function name\&. For this particular list, they are
+
+.nf
+
+g_cclosure_marshal_VOID__VOID(),
+g_cclosure_marshal_VOID__INT(), 
+g_cclosure_marshal_FLOAT__BOOLEAN_UCHAR()\&.
+
+.fi
+
+.PP
+They can be used directly for GClosures or be passed in as the GSignalCMarshaller c_marshaller; argument upon creation of signals:
+
+.nf
+
+GClosure *cc_foo, *cc_bar, *cc_baz;
+
+cc_foo = g_cclosure_new (NULL, foo, NULL);
+g_closure_set_marshal (cc_foo, g_cclosure_marshal_VOID__VOID);
+cc_bar = g_cclosure_new (NULL, bar, NULL);
+g_closure_set_marshal (cc_bar, g_cclosure_marshal_VOID__INT);
+cc_baz = g_cclosure_new (NULL, baz, NULL);
+g_closure_set_marshal (cc_baz, g_cclosure_marshal_FLOAT__BOOLEAN_UCHAR);
+
+.fi
+
+.SH "SEE ALSO"
+
+.PP
+ \fBglib-mkenums\fR(1)
+
+.SH "BUGS"
+
+.PP
+None known yet\&.
+
+.SH "AUTHOR"
+
+.PP
+ \fBglib-genmarshal\fR has been written by Tim Janik <timj@gtk\&.org>\&.
+
+.PP
+This manual page was provided by Tim Janik <timj@gtk\&.org>\&.
+
diff --git a/docs/reference/gobject/glib-genmarshal.xml b/docs/reference/gobject/glib-genmarshal.xml
new file mode 100644 (file)
index 0000000..e2f5d49
--- /dev/null
@@ -0,0 +1,336 @@
+<refentry id="glib-genmarshal">
+
+<refmeta>
+<refentrytitle>glib-genmarshal</refentrytitle>
+<manvolnum>1</manvolnum>
+</refmeta>
+
+<refnamediv>
+<refname>glib-genmarshal</refname>
+<refpurpose>C code marshaller generation utility for GLib closures</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+<cmdsynopsis>
+<command>glib-genmarshal</command>
+<arg choice="opt" rep="repeat">options</arg>
+<arg choice="opt" rep="repeat">files</arg>
+</cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1><title>Description</title>
+<para>
+<command>glib-genmarshal</command> is a small utility that generates C code 
+marshallers for callback functions of the GClosure mechanism in the GObject 
+sublibrary of GLib. The marshaller functions have a standard signature, 
+they get passed in the invoking closure, an array of value structures holding
+the callback function parameters and a value structure for the return value 
+of the callback. The marshaller is then responsible to call the respective C 
+code function of the closure with all the parameters on the stack and to 
+collect its return value.
+</para>
+</refsect1>
+
+<refsect1><title>Invokation</title>
+<para>
+<command>glib-genmarshal</command> takes a list of marshallers to generate as 
+input. The marshaller list is either read from standard input or from files
+passed as additional arguments on the command line.
+</para>
+
+<refsect2><title>Options</title>
+<variablelist>
+
+<varlistentry>
+<term><option>--header</option></term>
+<listitem><para>
+Generate header file contents of the marshallers.
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>--body</option></term>
+<listitem><para>
+Generate C code file contents of the marshallers.
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>--prefix=string</option>, <option>--prefix string</option></term>
+<listitem><para>
+Specify marshaller prefix. The default prefix is <literal>`g_cclosure_marshal'</literal>.
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>--skip-source</option></term>
+<listitem><para>
+Skip source location remarks in generated comments.
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>--nostdinc</option></term>
+<listitem><para>
+Do not use the standard marshallers of the GObject library, and skip 
+<filename>gmarshal.h</filename> include directive in generated header files.
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>--g-fatal-warnings</option></term>
+<listitem><para>
+Make warnings fatal, that is, exit immediately once a warning occurs.
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>-h</option>, <option>--help</option></term>
+<listitem><para>
+Print brief help and exit.
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>-v</option>, <option>--version</option></term>
+<listitem><para>
+Print version and exit.
+</para></listitem>
+</varlistentry>
+
+</variablelist>
+</refsect2>
+
+<refsect2><title>Marshaller list format</title>
+<para>
+The marshaller lists are processed line by line, a line can contain a
+comment in the form of
+<programlisting>
+# this is a comment
+</programlisting>
+or a marshaller specification of the form
+<programlisting>
+<replaceable>RTYPE</replaceable>:<replaceable>PTYPE</replaceable>
+<replaceable>RTYPE</replaceable>:<replaceable>PTYPE</replaceable>,<replaceable>PTYPE</replaceable>
+<replaceable>RTYPE</replaceable>:<replaceable>PTYPE</replaceable>,<replaceable>PTYPE</replaceable>,<replaceable>PTYPE</replaceable>
+</programlisting>
+(up to 16 <replaceable>PTYPE</replaceable>s may be present).
+</para>
+<para>
+The <replaceable>RTYPE</replaceable> part specifies the callback's return 
+type and the <replaceable>PTYPE</replaceable>s right to the colon specify 
+the callback's parameter list, except for the first and the last arguments 
+which are always pointers.
+</para>
+</refsect2>
+<refsect2><title>Parameter types</title>
+<para>
+Currently, the following types are supported:
+<variablelist>
+<varlistentry>
+<term><replaceable>VOID</replaceable></term>
+<listitem><para>
+indicates no return type, or no extra parameters. 
+If <replaceable>VOID</replaceable> is used as the parameter list, no 
+additional parameters may be present.
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><replaceable>BOOLEAN</replaceable></term>
+<listitem><para>
+for boolean types (gboolean)
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><replaceable>CHAR</replaceable></term>
+<listitem><para>
+for signed char types (gchar)
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><replaceable>UCHAR</replaceable></term>
+<listitem><para>
+for unsigned char types (guchar)
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><replaceable>INT</replaceable></term>
+<listitem><para>
+for signed integer types (gint)
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><replaceable>UINT</replaceable></term>
+<listitem><para>
+for unsigned integer types (guint)
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><replaceable>LONG</replaceable></term>
+<listitem><para>
+for signed long integer types (glong)
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><replaceable>ULONG</replaceable></term>
+<listitem><para>
+for unsigned long integer types (gulong)
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><replaceable>ENUM</replaceable></term>
+<listitem><para>
+for enumeration types (gint)
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><replaceable>FLAGS</replaceable></term>
+<listitem><para>
+for flag enumeration types (guint)
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><replaceable>FLOAT</replaceable></term>
+<listitem><para>
+for single-precision float types (gfloat)
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><replaceable>DOUBLE</replaceable></term>
+<listitem><para>
+for double-precision float types (gdouble)
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><replaceable>STRING</replaceable></term>
+<listitem><para>
+for string types (gchar*)
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><replaceable>BOXED</replaceable></term>
+<listitem><para>
+for boxed (anonymous but reference counted) types (GBoxed*)
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><replaceable>PARAM</replaceable></term>
+<listitem><para>
+for GParamSpec or derived types (GParamSpec*)
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><replaceable>POINTER</replaceable></term>
+<listitem><para>
+for anonymous pointer types (gpointer)
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><replaceable>OBJECT</replaceable></term>
+<listitem><para>
+for GObject or derived types (GObject*)
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><replaceable>NONE</replaceable></term>
+<listitem><para>
+deprecated alias for <replaceable>VOID</replaceable>
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><replaceable>BOOL</replaceable></term>
+<listitem><para>
+deprecated alias for <replaceable>BOOLEAN</replaceable>
+</para></listitem>
+</varlistentry>
+</variablelist>
+</para>
+</refsect2>
+</refsect1>
+<refsect1><title>Example</title>
+<para>
+To generate marshallers for the following callback functions:
+</para>
+<programlisting>
+void   foo (gpointer data1,
+            gpointer data2);
+void   bar (gpointer data1,
+            gint     param1,
+            gpointer data2);
+gfloat baz (gpointer data1,
+            gboolean param1,
+            guchar   param2,
+            gpointer data2);
+</programlisting>
+<para>
+The marshaller list has to look like this:
+</para>
+<programlisting>
+VOID:VOID
+VOID:INT
+FLOAT:BOOLEAN,UCHAR
+</programlisting>
+<para>
+The generated marshallers have the arguments encoded in their function name. 
+For this particular list, they are
+</para>
+<programlisting>
+g_cclosure_marshal_VOID__VOID(),
+g_cclosure_marshal_VOID__INT(), 
+g_cclosure_marshal_FLOAT__BOOLEAN_UCHAR().
+</programlisting>
+<para>
+They can be used directly for GClosures or be passed in as the 
+GSignalCMarshaller c_marshaller; argument upon creation of signals:
+</para>
+<programlisting>
+GClosure *cc_foo, *cc_bar, *cc_baz;
+
+cc_foo = g_cclosure_new (NULL, foo, NULL);
+g_closure_set_marshal (cc_foo, g_cclosure_marshal_VOID__VOID);
+cc_bar = g_cclosure_new (NULL, bar, NULL);
+g_closure_set_marshal (cc_bar, g_cclosure_marshal_VOID__INT);
+cc_baz = g_cclosure_new (NULL, baz, NULL);
+g_closure_set_marshal (cc_baz, g_cclosure_marshal_FLOAT__BOOLEAN_UCHAR);
+</programlisting>
+</refsect1>
+<refsect1><title>See also</title>
+<para>
+<command>glib-mkenums</command>(1)
+</para>
+</refsect1>
+<refsect1><title>Bugs</title>
+<para>
+None known yet.
+</para>
+</refsect1>
+<refsect1><title>Author</title>
+<para>
+<command>glib-genmarshal</command> has been written by Tim Janik 
+<email>timj@gtk.org</email>.
+</para>
+<para>
+This manual page was provided by Tim Janik <email>timj@gtk.org</email>.
+</para>
+</refsect1>
+</refentry>
+
+
diff --git a/docs/reference/gobject/glib-mkenums.1 b/docs/reference/gobject/glib-mkenums.1
new file mode 100644 (file)
index 0000000..bff0a14
--- /dev/null
@@ -0,0 +1,168 @@
+.\"Generated by db2man.xsl. Don't modify this, modify the source.
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "GLIB-MKENUMS" 1 "" "" ""
+.SH NAME
+glib-mkenums \- C language enum description generation utility
+.SH "SYNOPSIS"
+
+.nf
+\fBglib-mkenums\fR [options...] [files...]
+.fi
+
+.SH "DESCRIPTION"
+
+.PP
+ \fBglib-mkenums\fR is a small perl-script utility that parses C code to extract enum definitions and produces enum descriptions based on text templates specified by the user\&. Most frequently this script is used to produce C code that contains enum values as strings so programs can provide value name strings for introspection\&.
+
+.SH "INVOKATION"
+
+.PP
+ \fBglib-mkenums\fR takes a list of valid C code files as input\&. The options specified control the text that is output, certain substitutions are performed on the text templates for keywords enclosed in @ characters\&.
+
+.SS "Options"
+
+.TP
+\fB--fhead\fR \fItext\fR
+Put out \fItext\fR prior to processing input files\&.
+
+.TP
+\fB--fprod\fR \fItext\fR
+Put out \fItext\fR everytime a new input file is being processed\&.
+
+.TP
+\fB--ftail\fR \fItext\fR
+Put out \fItext\fR after all input files have been processed\&.
+
+.TP
+\fB--eprod\fR \fItext\fR
+Put out \fItext\fR everytime an enum is encountered in the input files\&.
+
+.TP
+\fB--vhead\fR \fItext\fR
+Put out \fItext\fR before iterating over the set of values of an enum\&.
+
+.TP
+\fB--vprod\fR \fItext\fR
+Put out \fItext\fR for every value of an enum\&.
+
+.TP
+\fB--vtail\fR \fItext\fR
+Put out \fItext\fR after iterating over all values of an enum\&.
+
+.TP
+\fB--comments\fR \fItext\fR
+Template for auto-generated comments, the default (for C code generations) is "/* @comment@ */"\&.
+
+.TP
+\fB--template\fR \fIfile\fR
+Read templates from the given file\&. The templates are enclosed in specially-formatted C comments .nf /*** BEGIN section ***/ /*** END section ***/ .fi where section may be file-header, file-production, file-tail, enumeration-production, value-header, value-production, value-tail or comment\&.
+
+.TP
+\fB--help\fR
+Print brief help and exit\&.
+
+.TP
+\fB--version\fR
+Print version and exit\&.
+
+.SS "Production text substitutions"
+
+.PP
+Certain keywords enclosed in @ characters will be substituted in the emitted text\&. For the substitution examples of the keywords below, the following example enum definition is assumed: 
+
+.nf
+
+typedef enum
+{
+  PREFIX_THE_XVALUE    = 1 << 3,
+  PREFIX_ANOTHER_VALUE = 1 << 4
+} PrefixTheXEnum;
+
+.fi
+  
+
+.TP
+@EnumName@
+The name of the enum currently being processed, enum names are assumed to be properly namespaced and to use mixed capitalization to separate words (e\&.g\&. PrefixTheXEnum)\&.
+
+.TP
+@enum_name@
+The enum name with words lowercase and word-separated by underscores (e\&.g\&. prefix_the_xenum)\&.
+
+.TP
+@ENUMNAME@
+The enum name with words uppercase and word-separated by underscores (e\&.g\&. PREFIX_THE_XENUM)\&.
+
+.TP
+@ENUMSHORT@
+The enum name with words uppercase and word-separated by underscores, prefix stripped (e\&.g\&. THE_XENUM)\&.
+
+.TP
+@VALUENAME@
+The enum value name currently being processed with words uppercase and word-separated by underscores, this is the assumed literal notation of enum values in the C sources (e\&.g\&. PREFIX_THE_XVALUE)\&.
+
+.TP
+@valuenick@
+A nick name for the enum value currently being processed, this is usually generated by stripping common prefix words of all the enum values of the current enum, the words are lowercase and underscores are substituted by a minus (e\&.g\&. the-xvalue)\&.
+
+.TP
+@type@
+This is substituted either by "enum" or "flags", depending on whether the enum value definitions contained bit-shift operators or not (e\&.g\&. flags)\&.
+
+.TP
+@Type@
+The same as @type@ with the first letter capitalized (e\&.g\&. Flags)\&.
+
+.TP
+@TYPE@
+The same as @type@ with all letters uppercased (e\&.g\&. FLAGS)\&.
+
+.TP
+@filename@
+The name of the input file currently being processed (e\&.g\&. foo\&.h)\&.
+
+.SS "Trigraph extensions"
+
+.PP
+Some C comments are treated specially in the parsed enum definitions, such comments start out with the trigraph sequence /*< and end with the trigraph sequence >*/\&. Per enum definition, the options "skip" and "flags" can be specified, to indicate this enum definition to be skipped, or for it to be treated as a flags definition, or to specify the common prefix to be stripped from all values to generate value nicknames, respectively\&. Per value definition, the options "skip" and "nick" are supported\&. The former causes the value to be skipped, and the latter can be used to specify the otherwise auto-generated nickname\&. Examples: 
+
+.nf
+
+typedef enum /*< skip >*/
+{
+  PREFIX_FOO
+} PrefixThisEnumWillBeSkipped;
+typedef enum /*< flags,prefix=PREFIX >*/
+{
+  PREFIX_THE_ZEROTH_VALUE,     /*< skip >*/
+  PREFIX_THE_FIRST_VALUE,
+  PREFIX_THE_SECOND_VALUE,
+  PREFIX_THE_THIRD_VALUE,      /*< nick=the-last-value >*/
+} PrefixTheFlagsEnum;
+
+.fi
+
+.SH "SEE ALSO"
+
+.PP
+ \fBglib-genmarshal\fR(1)
+
diff --git a/docs/reference/gobject/glib-mkenums.xml b/docs/reference/gobject/glib-mkenums.xml
new file mode 100644 (file)
index 0000000..b8e4032
--- /dev/null
@@ -0,0 +1,271 @@
+<refentry id="glib-mkenums">
+
+<refmeta>
+<refentrytitle>glib-mkenums</refentrytitle>
+<manvolnum>1</manvolnum>
+</refmeta>
+
+<refnamediv>
+<refname>glib-mkenums</refname>
+<refpurpose>C language enum description generation utility</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+<cmdsynopsis>
+<command>glib-mkenums</command>
+<arg choice="opt" rep="repeat">options</arg>
+<arg choice="opt" rep="repeat">files</arg>
+</cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1><title>Description</title>
+<para>
+<command>glib-mkenums</command> is a small perl-script utility that parses C
+code to extract enum definitions and produces enum descriptions based on text
+templates specified by the user. Most frequently this script is used to 
+produce C code that contains enum values as strings so programs can provide 
+value name strings for introspection.
+</para>
+</refsect1>
+
+<refsect1><title>Invokation</title>
+<para>
+<command>glib-mkenums</command> takes a list of valid C code files as
+input. The options specified control the text that is output, certain 
+substitutions are performed on the text templates for keywords enclosed 
+in @ characters.
+</para>
+
+<refsect2><title>Options</title>
+<variablelist>
+
+<varlistentry>
+<term><option>--fhead</option> <replaceable>text</replaceable></term>
+<listitem><para>
+Put out <replaceable>text</replaceable> prior to processing input files.
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>--fprod</option> <replaceable>text</replaceable></term>
+<listitem><para>
+Put out <replaceable>text</replaceable> everytime a new input file 
+is being processed.
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>--ftail</option> <replaceable>text</replaceable></term>
+<listitem><para>
+Put out <replaceable>text</replaceable> after all input files have been 
+processed.
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>--eprod</option> <replaceable>text</replaceable></term>
+<listitem><para>
+Put out <replaceable>text</replaceable> everytime an enum is encountered 
+in the input files.
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>--vhead</option> <replaceable>text</replaceable></term>
+<listitem><para>
+Put out <replaceable>text</replaceable> before iterating over the set of 
+values of an enum.
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>--vprod</option> <replaceable>text</replaceable></term>
+<listitem><para>
+Put out <replaceable>text</replaceable> for every value of an enum.
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>--vtail</option> <replaceable>text</replaceable></term>
+<listitem><para>
+Put out <replaceable>text</replaceable> after iterating over all values 
+of an enum.
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>--comments</option> <replaceable>text</replaceable></term>
+<listitem><para>
+Template for auto-generated comments, the default (for C code generations) is
+<literal>"/* @comment@ */"</literal>.
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>--template</option> <replaceable>file</replaceable></term>
+<listitem><para>
+Read templates from the given file. The templates are enclosed in
+specially-formatted C comments
+<programlisting>
+/*** BEGIN section ***/
+/*** END section ***/
+</programlisting>
+where section may be <literal>file-header</literal>, 
+<literal>file-production</literal>, <literal>file-tail</literal>,
+<literal>enumeration-production</literal>, <literal>value-header</literal>, 
+<literal>value-production</literal>, <literal>value-tail</literal> or
+<literal>comment</literal>.
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>--help</option></term>
+<listitem><para>
+Print brief help and exit.
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>--version</option></term>
+<listitem><para>
+Print version and exit.
+</para></listitem>
+</varlistentry>
+
+</variablelist>
+</refsect2>
+
+<refsect2><title>Production text substitutions</title>
+<para>
+Certain keywords enclosed in @ characters will be substituted in the 
+emitted text. For the substitution examples of the keywords below, 
+the following example enum definition is assumed:
+<programlisting>
+typedef enum
+{
+  PREFIX_THE_XVALUE    = 1 &lt;&lt; 3,
+  PREFIX_ANOTHER_VALUE = 1 &lt;&lt; 4
+} PrefixTheXEnum;
+</programlisting>
+<variablelist>
+<varlistentry>
+<term>@EnumName@</term>
+<listitem><para>
+The name of the enum currently being processed, enum names are assumed to be
+properly namespaced and to use mixed capitalization to separate
+words (e.g. PrefixTheXEnum).
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term>@enum_name@</term>
+<listitem><para>
+The enum name with words lowercase and word-separated by underscores 
+(e.g. prefix_the_xenum).
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term>@ENUMNAME@</term>
+<listitem><para>
+The enum name with words uppercase and word-separated by underscores 
+(e.g. PREFIX_THE_XENUM).
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term>@ENUMSHORT@</term>
+<listitem><para>
+The enum name with words uppercase and word-separated by underscores, 
+prefix stripped (e.g. THE_XENUM).
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term>@VALUENAME@</term>
+<listitem><para>
+The enum value name currently being processed with words uppercase and 
+word-separated by underscores,
+this is the assumed literal notation of enum values in the C sources 
+(e.g. PREFIX_THE_XVALUE).
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term>@valuenick@</term>
+<listitem><para>
+A nick name for the enum value currently being processed, this is usually 
+generated by stripping common prefix words of all the enum values of the 
+current enum, the words are lowercase and underscores are substituted by a 
+minus (e.g. the-xvalue).
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term>@type@</term>
+<listitem><para>
+This is substituted either by "enum" or "flags", depending on whether the 
+enum value definitions contained bit-shift operators or not (e.g. flags).
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term>@Type@</term>
+<listitem><para>
+The same as <literal>@type@</literal> with the first letter capitalized (e.g. Flags).
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term>@TYPE@</term>
+<listitem><para>
+The same as <literal>@type@</literal> with all letters uppercased (e.g. FLAGS).
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term>@filename@</term>
+<listitem><para>
+The name of the input file currently being processed (e.g. foo.h).
+</para></listitem>
+</varlistentry>
+</variablelist>
+</para>
+</refsect2>
+<refsect2><title>Trigraph extensions</title>
+<para>
+Some C comments are treated specially in the parsed enum definitions, 
+such comments start out with the trigraph sequence <literal>/*&lt;</literal> 
+and end with the trigraph sequence <literal>&gt;*/</literal>.
+Per enum definition, the options "skip" and "flags" can be specified, to 
+indicate this enum definition to be skipped, or for it to be treated as 
+a flags definition, or to specify the common prefix to be stripped from 
+all values to generate value nicknames, respectively.
+Per value definition, the options "skip" and "nick" are supported. 
+The former causes the value to be skipped, and the latter can be used to 
+specify the otherwise auto-generated nickname.
+Examples:
+<programlisting>
+typedef enum /*&lt; skip &gt;*/
+{
+  PREFIX_FOO
+} PrefixThisEnumWillBeSkipped;
+typedef enum /*&lt; flags,prefix=PREFIX &gt;*/
+{
+  PREFIX_THE_ZEROTH_VALUE,     /*&lt; skip &gt;*/
+  PREFIX_THE_FIRST_VALUE,
+  PREFIX_THE_SECOND_VALUE,
+  PREFIX_THE_THIRD_VALUE,      /*&lt; nick=the-last-value &gt;*/
+} PrefixTheFlagsEnum;
+</programlisting>
+</para>
+</refsect2>
+</refsect1>
+<refsect1><title>See also</title>
+<para>
+<command>glib-genmarshal</command>(1)
+</para>
+</refsect1>
+</refentry>
+
+
index bc14ff50156a6daf324b0c8c3888924bbc414e92..691d5d3e0a5fa9d6276e79a33adb12d828036ea2 100644 (file)
@@ -14,6 +14,9 @@
 <!ENTITY gobject-Signals SYSTEM "xml/signals.xml">
 <!ENTITY gobject-Closures SYSTEM "xml/gclosure.xml">
 <!ENTITY gobject-Value-Arrays SYSTEM "xml/value_arrays.xml">
+<!ENTITY glib-mkenums SYSTEM "glib-mkenums.xml">
+<!ENTITY glib-genmarshal SYSTEM "glib-genmarshal.xml">
+<!ENTITY gobject-query SYSTEM "gobject-query.xml">
 <!ENTITY version SYSTEM "version.xml">
 ]>
 <book id="index">
       &gobject-Value-Arrays;
       
   </reference>
+  <reference>
+    <title>Tools Reference</title>
+
+    &glib-mkenums;
+    &glib-genmarshal;
+    &gobject-query;
+  </reference>
+
 
   <index/>
   
diff --git a/docs/reference/gobject/gobject-query.1 b/docs/reference/gobject/gobject-query.1
new file mode 100644 (file)
index 0000000..b8ae5db
--- /dev/null
@@ -0,0 +1,80 @@
+.\"Generated by db2man.xsl. Don't modify this, modify the source.
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "GOBJECT-QUERY" 1 "" "" ""
+.SH NAME
+gobject-query \- display a tree of types
+.SH "SYNOPSIS"
+
+.nf
+\fBgobject-query\fR froots [options...]
+.fi
+
+.nf
+\fBgobject-query\fR tree [options...]
+.fi
+
+.SH "DESCRIPTION"
+
+.PP
+ \fBgobject-query\fR is a small utility that draws a tree of types\&.
+
+.SH "INVOKATION"
+
+.PP
+ \fBgobject-query\fR takes a mandatory argument that specifies whether it should iterate over the fundamental types or print a type tree\&.
+
+.SS "Options"
+
+.TP
+\fBfroots\fR
+iterate over fundamental roots
+
+.TP
+\fBtree\fR
+print type tree
+
+.TP
+\fB-r\fR \fItype\fR
+specify the root type
+
+.TP
+\fB-n\fR
+don't descend type tree
+
+.TP
+\fB-b\fR \fIstring\fR
+specify indent string
+
+.TP
+\fB-i\fR \fIstring\fR
+specify incremental indent string
+
+.TP
+\fB-s\fR \fInumber\fR
+specify line spacing
+
+.TP
+\fB-h\fR, \fB--help\fR
+Print brief help and exit\&.
+
+.TP
+\fB-v\fR, \fB--version\fR
+Print version and exit\&.
+
diff --git a/docs/reference/gobject/gobject-query.xml b/docs/reference/gobject/gobject-query.xml
new file mode 100644 (file)
index 0000000..a2fbf27
--- /dev/null
@@ -0,0 +1,111 @@
+<refentry id="gobject-query">
+
+<refmeta>
+<refentrytitle>gobject-query</refentrytitle>
+<manvolnum>1</manvolnum>
+</refmeta>
+
+<refnamediv>
+<refname>gobject-query</refname>
+<refpurpose>display a tree of types</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+<cmdsynopsis>
+<command>gobject-query</command>
+<arg choice="plain">froots</arg>
+<arg choice="opt" rep="repeat">options</arg>
+</cmdsynopsis>
+<cmdsynopsis>
+<command>gobject-query</command>
+<arg choice="plain">tree</arg>
+<arg choice="opt" rep="repeat">options</arg>
+</cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1><title>Description</title>
+<para>
+<command>gobject-query</command> is a small utility that draws a tree of 
+types.
+</para>
+</refsect1>
+
+<refsect1><title>Invokation</title>
+<para>
+<command>gobject-query</command> takes a mandatory argument that specifies
+whether it should iterate over the fundamental types or print a type tree.
+</para>
+
+<refsect2><title>Options</title>
+<variablelist>
+
+<varlistentry>
+<term><option>froots</option></term>
+<listitem><para>
+iterate over fundamental roots
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>tree</option></term>
+<listitem><para>
+print type tree
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>-r</option> <replaceable>type</replaceable></term>
+<listitem><para>
+specify the root type
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>-n</option></term>
+<listitem><para>
+don't descend type tree
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>-b</option> <replaceable>string</replaceable></term>
+<listitem><para>
+specify indent string
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>-i</option> <replaceable>string</replaceable></term>
+<listitem><para>
+specify incremental indent string
+</para></listitem>
+</varlistentry>
+
+
+<varlistentry>
+<term><option>-s</option> <replaceable>number</replaceable></term>
+<listitem><para>
+specify line spacing
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>-h</option>, <option>--help</option></term>
+<listitem><para>
+Print brief help and exit.
+</para></listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>-v</option>, <option>--version</option></term>
+<listitem><para>
+Print version and exit.
+</para></listitem>
+</varlistentry>
+
+</variablelist>
+</refsect2>
+</refsect1>
+</refentry>
+
+
index 2489052c9c364494dbe4415bd2e52869bb1d5fa8..20e78b580aba9eaf7969c2934c85856074b07ca6 100644 (file)
@@ -190,11 +190,6 @@ gobject_query_LDADD = $(progs_LDADD)
 testgobject_LDADD = $(progs_LDADD)
 testoverride_LDADD = $(progs_LDADD)
 
-#
-# manual pages to install
-#
-man_MANS = glib-genmarshal.1 glib-mkenums.1
-
 #
 # auxillary files
 #