[PATCH 4/4] meson: Generate man pages
Emmanuele Bassi
ebassi at gmail.com
Mon Apr 23 13:29:18 UTC 2018
From: Emmanuele Bassi <ebassi at gnome.org>
There are ancillary man pages not built by Doxygen that we need to
generate an install.
---
doc/man/meson.build | 64 +++++++++++++++++++++++++++++++++++++++++++++
doc/meson.build | 1 +
2 files changed, 65 insertions(+)
create mode 100644 doc/man/meson.build
diff --git a/doc/man/meson.build b/doc/man/meson.build
new file mode 100644
index 0000000..211dc20
--- /dev/null
+++ b/doc/man/meson.build
@@ -0,0 +1,64 @@
+xsltproc = find_program('xsltproc', required: false)
+
+manpage_xsl = 'http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl'
+man_pages = []
+
+if xsltproc.found()
+ cmd = run_command([xsltproc, '--nonet', manpage_xsl])
+ have_manpage_xsl = cmd.returncode() == 0
+else
+ warning('No docbook stylesheet found for generating man pages')
+ have_manpage_xsl = false
+endif
+
+if have_manpage_xsl
+ # man section, [ [ xml_file, name, alias ] ]
+ man_pages += [
+ [
+ '3', [
+ [ 'wl_display_connect.xml', 'wl_display_connect', 'wl_display_connect_to_fd' ],
+ ],
+ ]
+ ]
+endif
+
+xsltproc_opts = [
+ '--nonet',
+ '--stringparam', 'man.authors.section.enabled', '0',
+ '--stringparam', 'man.copyright.section.enabled', '0',
+ '--stringparam', 'funcsynopsis.style', 'ansi',
+ '--stringparam', 'man.output.quietly', '1',
+]
+
+foreach section: man_pages
+ section_number = section[0]
+ pages = section.get(1, [])
+
+ foreach page: pages
+ xml_input = page[0]
+ name = page[1]
+ alias = page.get(2, '')
+
+ man_output = name + '.' + section_number
+ if alias != ''
+ alias_output = alias + '.' + section_number
+ else
+ alias_output = []
+ endif
+
+ man_page = custom_target(name + '-man',
+ command: [
+ xsltproc,
+ xsltproc_opts,
+ '-o', '@OUTPUT0@',
+ manpage_xsl,
+ '@INPUT@',
+ ],
+ input: xml_input,
+ output: [ man_output, alias_output ],
+ install: true,
+ install_dir: join_paths(get_option('prefix'), get_option('mandir'), 'man' + section_number),
+ build_by_default: true,
+ )
+ endforeach
+endforeach
diff --git a/doc/meson.build b/doc/meson.build
index f05c57b..a192880 100644
--- a/doc/meson.build
+++ b/doc/meson.build
@@ -1 +1,2 @@
subdir('doxygen')
+subdir('man')
--
2.17.0
More information about the wayland-devel
mailing list