New macros to check for XML catalog contents and path, borrowed from

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.
This commit is contained in:
Matthias Clasen 2003-06-17 23:08:37 +00:00 committed by Matthias Clasen
parent 6411bedd01
commit 54f796b1b6
22 changed files with 1612 additions and 8 deletions

View 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> 2003-06-15 Tor Lillqvist <tml@iki.fi>
* glib-zip.in (DLLDIR): Test where the DLLs actually are. * glib-zip.in (DLLDIR): Test where the DLLs actually are.

View 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> 2003-06-15 Tor Lillqvist <tml@iki.fi>
* glib-zip.in (DLLDIR): Test where the DLLs actually are. * glib-zip.in (DLLDIR): Test where the DLLs actually are.

View 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> 2003-06-15 Tor Lillqvist <tml@iki.fi>
* glib-zip.in (DLLDIR): Test where the DLLs actually are. * glib-zip.in (DLLDIR): Test where the DLLs actually are.

View 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> 2003-06-15 Tor Lillqvist <tml@iki.fi>
* glib-zip.in (DLLDIR): Test where the DLLs actually are. * glib-zip.in (DLLDIR): Test where the DLLs actually are.

View 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> 2003-06-15 Tor Lillqvist <tml@iki.fi>
* glib-zip.in (DLLDIR): Test where the DLLs actually are. * glib-zip.in (DLLDIR): Test where the DLLs actually are.

View 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> 2003-06-15 Tor Lillqvist <tml@iki.fi>
* glib-zip.in (DLLDIR): Test where the DLLs actually are. * glib-zip.in (DLLDIR): Test where the DLLs actually are.

View File

@ -73,6 +73,52 @@ if test $ac_cv_func_printf_unix98 = yes; then
fi fi
])# AC_FUNC_PRINTF_UNIX98 ])# 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
])

View File

@ -1896,6 +1896,26 @@ dnl **************************
GTK_DOC_CHECK([1.0]) 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 ******************************
dnl *** output the whole stuff *** dnl *** output the whole stuff ***
dnl ****************************** dnl ******************************

View 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> 2003-06-17 Matthias Clasen <mc2@YAST_ASK>
* gobject/gobject-docs.sgml: * gobject/gobject-docs.sgml:

View File

@ -48,11 +48,21 @@ content_files = \
changes.sgml \ changes.sgml \
compiling.sgml \ compiling.sgml \
resources.sgml \ resources.sgml \
version.xml version.xml \
glib-gettextize.xml
# Extra options to supply to gtkdoc-fixref # Extra options to supply to gtkdoc-fixref
FIXXREF_OPTIONS= 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 common portion ...
include $(top_srcdir)/gtk-doc.make include $(top_srcdir)/gtk-doc.make

View File

@ -61,6 +61,8 @@
<!ENTITY glib-Resources SYSTEM "resources.sgml"> <!ENTITY glib-Resources SYSTEM "resources.sgml">
<!ENTITY glib-Changes SYSTEM "changes.sgml"> <!ENTITY glib-Changes SYSTEM "changes.sgml">
<!ENTITY glib-gettextize SYSTEM "glib-gettextize.xml">
<!ENTITY version SYSTEM "version.xml"> <!ENTITY version SYSTEM "version.xml">
]> ]>
<book id="index"> <book id="index">
@ -155,7 +157,13 @@ OS/2 and BeOS. GLib is released under the GNU Library General Public License
&glib-Caches; &glib-Caches;
&glib-Memory-Allocators; &glib-Memory-Allocators;
</chapter> </chapter>
<chapter id="tools">
<title>GLib Tools</title>
&glib-gettextize;
</chapter>
<index/> <index/>
</book> </book>

View File

@ -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)

View File

@ -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>

View File

@ -28,12 +28,29 @@ MKDB_OPTIONS=
HTML_IMAGES = HTML_IMAGES =
# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE) # 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 # Extra options to supply to gtkdoc-fixref
FIXXREF_OPTIONS=--extra-dir=$(srcdir)/../glib/html 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 include $(top_srcdir)/gtk-doc.make
# Other files to distribute # Other files to distribute
EXTRA_DIST += version.xml.in EXTRA_DIST += version.xml.in

View File

@ -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>\&.

View File

@ -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>

View File

@ -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)

View File

@ -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>

View File

@ -14,6 +14,9 @@
<!ENTITY gobject-Signals SYSTEM "xml/signals.xml"> <!ENTITY gobject-Signals SYSTEM "xml/signals.xml">
<!ENTITY gobject-Closures SYSTEM "xml/gclosure.xml"> <!ENTITY gobject-Closures SYSTEM "xml/gclosure.xml">
<!ENTITY gobject-Value-Arrays SYSTEM "xml/value_arrays.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"> <!ENTITY version SYSTEM "version.xml">
]> ]>
<book id="index"> <book id="index">
@ -84,6 +87,14 @@
&gobject-Value-Arrays; &gobject-Value-Arrays;
</reference> </reference>
<reference>
<title>Tools Reference</title>
&glib-mkenums;
&glib-genmarshal;
&gobject-query;
</reference>
<index/> <index/>

View File

@ -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\&.

View File

@ -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>

View File

@ -190,11 +190,6 @@ gobject_query_LDADD = $(progs_LDADD)
testgobject_LDADD = $(progs_LDADD) testgobject_LDADD = $(progs_LDADD)
testoverride_LDADD = $(progs_LDADD) testoverride_LDADD = $(progs_LDADD)
#
# manual pages to install
#
man_MANS = glib-genmarshal.1 glib-mkenums.1
# #
# auxillary files # auxillary files
# #