On Mon, Sep 24, 2012 at 01:18:38PM +0200, David Herrmann wrote: > This adds a man-page infrastructure based on Docbook XML files. This > allows us to integrate the man-pages into the publican books later. An > example page for wl_display_connect() (with an alias > wl_display_connect_to_fd()) is also added. > > Feel free to add more man-pages. Function calls are put in man3 and > overview pages into man7. All pages (including aliases) have to be added > to the Makefile. > > Docbook does generate aliases automatically from the additional names that > were put in the XML file. However, a small SED script is needed to fixup > the include-paths in the generated troff files. If someone knows how to > avoid that (or even install them gzip'ped), please fix it up.
Very nice, thanks for starting this. Kristian > Signed-off-by: David Herrmann <[email protected]> > --- > .gitignore | 2 + > configure.ac | 1 + > doc/Makefile.am | 2 +- > doc/man/Makefile.am | 45 +++++++++++++++++++++ > doc/man/wl_display_connect.xml | 88 > ++++++++++++++++++++++++++++++++++++++++++ > 5 files changed, 137 insertions(+), 1 deletion(-) > create mode 100644 doc/man/Makefile.am > create mode 100644 doc/man/wl_display_connect.xml > > diff --git a/.gitignore b/.gitignore > index 0f449f5..4f7a934 100644 > --- a/.gitignore > +++ b/.gitignore > @@ -6,6 +6,8 @@ > *.pc > *.so > *.swp > +*.3 > +*.7 > *~ > .libs > cscope.out > diff --git a/configure.ac b/configure.ac > index 46b3cdf..4261ae6 100644 > --- a/configure.ac > +++ b/configure.ac > @@ -88,6 +88,7 @@ AC_CONFIG_FILES([Makefile > cursor/wayland-cursor-uninstalled.pc > doc/Makefile > doc/Wayland/Makefile > + doc/man/Makefile > src/Makefile > src/wayland-server-uninstalled.pc > src/wayland-client-uninstalled.pc > diff --git a/doc/Makefile.am b/doc/Makefile.am > index f8046e7..f7d7813 100644 > --- a/doc/Makefile.am > +++ b/doc/Makefile.am > @@ -1 +1 @@ > -SUBDIRS = Wayland > +SUBDIRS = Wayland man > diff --git a/doc/man/Makefile.am b/doc/man/Makefile.am > new file mode 100644 > index 0000000..7d00b06 > --- /dev/null > +++ b/doc/man/Makefile.am > @@ -0,0 +1,45 @@ > +# > +# This generates man-pages out of the Docbook XML files. Simply add your > files > +# to the $MANPAGES array. If aliases are created, please add them to the > +# MANPAGES_ALIASES array so they get installed correctly. > +# > + > +MANPAGES = \ > + wl_display_connect.3 > +MANPAGES_ALIASES = \ > + wl_display_connect_to_fd.3 > + > +wl_display_connect_to_fd.3: wl_display_connect.3 > + > +XML_FILES = \ > + ${patsubst %.1,%.xml,${patsubst %.3,%.xml,${patsubst > %.5,%.xml,${patsubst %.7,%.xml,$(MANPAGES)}}}} > +CLEANFILES = $(MANPAGES) $(MANPAGES_ALIASES) > +EXTRA_DIST = $(MANPAGES) $(MANPAGES_ALIASES) $(XML_FILES) > +man_MANS = $(MANPAGES) $(MANPAGES_ALIASES) > + > +if HAVE_XSLTPROC > + > +XSLTPROC_FLAGS = \ > + --stringparam man.authors.section.enabled 0 \ > + --stringparam man.copyright.section.enabled 0 \ > + --stringparam funcsynopsis.style ansi \ > + --stringparam man.output.quietly 1 > + > +XSLTPROC_PROCESS_MAN = \ > + $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \ > + $(XSLTPROC) -o $@ $(XSLTPROC_FLAGS) > http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< && > \ > + $(SED) -i -e 's/^\.so \(.*\)\.\(.\)$$/\.so man\2\/\1\.\2/' > $(MANPAGES_ALIASES) > + > +%.1: %.xml > + $(XSLTPROC_PROCESS_MAN) > + > +%.3: %.xml > + $(XSLTPROC_PROCESS_MAN) > + > +%.5: %.xml > + $(XSLTPROC_PROCESS_MAN) > + > +%.7: %.xml > + $(XSLTPROC_PROCESS_MAN) > + > +endif # HAVE_XSLTPROC > diff --git a/doc/man/wl_display_connect.xml b/doc/man/wl_display_connect.xml > new file mode 100644 > index 0000000..b02abf0 > --- /dev/null > +++ b/doc/man/wl_display_connect.xml > @@ -0,0 +1,88 @@ > +<?xml version='1.0'?> <!--*-nxml-*--> > +<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" > + "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"> > + > +<!-- > + Written 2012 by David Herrmann <[email protected]> > + Dedicated to the Public Domain > +--> > + > +<refentry id="wl_display_connect"> > + <refentryinfo> > + <title>wl_display_connect</title> > + <productname>wayland-client</productname> > + <date>September 2012</date> > + <authorgroup> > + <author> > + <contrib>Developer</contrib> > + <firstname>David</firstname> > + <surname>Herrmann</surname> > + <email>[email protected]</email> > + </author> > + </authorgroup> > + </refentryinfo> > + > + <refmeta> > + <refentrytitle>wl_display_connect</refentrytitle> > + <manvolnum>3</manvolnum> > + </refmeta> > + > + <refnamediv> > + <refname>wl_display_connect</refname> > + <refname>wl_display_connect_to_fd</refname> > + <refpurpose>Connect to a wayland socket</refpurpose> > + </refnamediv> > + > + <refsynopsisdiv> > + <funcsynopsis> > + > + <funcsynopsisinfo>#include <wayland-client.h></funcsynopsisinfo> > + > + <funcprototype> > + <funcdef>struct wl_display > *<function>wl_display_connect</function></funcdef> > + <paramdef>const char *<parameter>name</parameter></paramdef> > + </funcprototype> > + > + <funcprototype> > + <funcdef>struct wl_display > *<function>wl_display_connect_to_fd</function></funcdef> > + <paramdef>int <parameter>fd</parameter></paramdef> > + </funcprototype> > + > + </funcsynopsis> > + </refsynopsisdiv> > + > + <refsect1> > + <title>Description</title> > + <para><function>wl_display_connect</function> connects to a wayland > socket > + that was previously opened by a wayland server. The server socket > must > + be placed in <envar>XDG_RUNTIME_DIR</envar> for this function to > + find it. The <varname>name</varname> argument specifies the name of > + the socket or <constant>NULL</constant> to use the default (which > is > + <constant>"wayland-0"</constant>). The environment variable > + <envar>WAYLAND_DISPLAY</envar> replaces the default value. If > + <envar>WAYLAND_SOCKET</envar> is set, this function behaves like > + <function>wl_display_connect_to_fd</function> with the > file-descriptor > + number taken from the environment variable.</para> > + > + <para><function>wl_display_connect_to_fd</function> connects to a wayland > + socket with an explicit file-descriptor. The file-descriptor is > passed > + as argument <varname>fd</varname>.</para> > + </refsect1> > + > + <refsect1> > + <title>Return Value</title> > + <para><function>wl_display_connect</function> and > + <function>wl_display_connect_to_fd</function> return a new display > + context object or NULL on failure. <varname>errno</varname> is set > + correspondingly.</para> > + </refsect1> > + > + <refsect1> > + <title>See Also</title> > + <para> > + > <citerefentry><refentrytitle>wayland-client</refentrytitle><manvolnum>7</manvolnum></citerefentry>, > + > <citerefentry><refentrytitle>wl_display_disconnect</refentrytitle><manvolnum>3</manvolnum></citerefentry>, > + > <citerefentry><refentrytitle>wl_display_iterate</refentrytitle><manvolnum>3</manvolnum></citerefentry> > + </para> > + </refsect1> > +</refentry> > -- > 1.7.12.1 > _______________________________________________ wayland-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/wayland-devel
