mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-12-23 22:16:16 +01:00
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:
parent
6411bedd01
commit
54f796b1b6
18
ChangeLog
18
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.
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
46
acinclude.m4
46
acinclude.m4
@ -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
|
||||
])
|
||||
|
||||
|
||||
|
||||
|
20
configure.in
20
configure.in
@ -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 ******************************
|
||||
|
@ -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:
|
||||
|
@ -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
|
||||
|
||||
|
@ -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>
|
||||
|
59
docs/reference/glib/glib-gettextize.1
Normal file
59
docs/reference/glib/glib-gettextize.1
Normal 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)
|
||||
|
78
docs/reference/glib/glib-gettextize.xml
Normal file
78
docs/reference/glib/glib-gettextize.xml
Normal 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>
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
253
docs/reference/gobject/glib-genmarshal.1
Normal file
253
docs/reference/gobject/glib-genmarshal.1
Normal 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>\&.
|
||||
|
336
docs/reference/gobject/glib-genmarshal.xml
Normal file
336
docs/reference/gobject/glib-genmarshal.xml
Normal 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>
|
||||
|
||||
|
168
docs/reference/gobject/glib-mkenums.1
Normal file
168
docs/reference/gobject/glib-mkenums.1
Normal 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)
|
||||
|
271
docs/reference/gobject/glib-mkenums.xml
Normal file
271
docs/reference/gobject/glib-mkenums.xml
Normal 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 << 3,
|
||||
PREFIX_ANOTHER_VALUE = 1 << 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>/*<</literal>
|
||||
and end with the trigraph sequence <literal>>*/</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 /*< 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;
|
||||
</programlisting>
|
||||
</para>
|
||||
</refsect2>
|
||||
</refsect1>
|
||||
<refsect1><title>See also</title>
|
||||
<para>
|
||||
<command>glib-genmarshal</command>(1)
|
||||
</para>
|
||||
</refsect1>
|
||||
</refentry>
|
||||
|
||||
|
@ -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">
|
||||
@ -84,6 +87,14 @@
|
||||
&gobject-Value-Arrays;
|
||||
|
||||
</reference>
|
||||
<reference>
|
||||
<title>Tools Reference</title>
|
||||
|
||||
&glib-mkenums;
|
||||
&glib-genmarshal;
|
||||
&gobject-query;
|
||||
</reference>
|
||||
|
||||
|
||||
<index/>
|
||||
|
||||
|
80
docs/reference/gobject/gobject-query.1
Normal file
80
docs/reference/gobject/gobject-query.1
Normal 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\&.
|
||||
|
111
docs/reference/gobject/gobject-query.xml
Normal file
111
docs/reference/gobject/gobject-query.xml
Normal 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>
|
||||
|
||||
|
@ -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
|
||||
#
|
||||
|
Loading…
Reference in New Issue
Block a user