[rygel] build: Add man_pages build options
- From: Jens Georg <jensgeorg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [rygel] build: Add man_pages build options
- Date: Sun, 27 Dec 2020 13:25:04 +0000 (UTC)
commit 5a54c5bb1c9609b7bffe6b3e05f934030e4e990e
Author: Jens Georg <mail jensge org>
Date: Sat Dec 26 18:40:51 2020 +0100
build: Add man_pages build options
Check if xsltproc runs succesfully and fail otherwise
Fixes #192
doc/man/meson.build | 98 ++++++++++++++++++++++++++++++++---------------------
doc/meson.build | 5 ++-
meson_options.txt | 1 +
3 files changed, 64 insertions(+), 40 deletions(-)
---
diff --git a/doc/man/meson.build b/doc/man/meson.build
index ef3fcfbf..4c92eab2 100644
--- a/doc/man/meson.build
+++ b/doc/man/meson.build
@@ -1,43 +1,63 @@
xsltproc = find_program('xsltproc', required: false)
if xsltproc.found()
- xlstproc_flags = [
- '--nonet',
- '--stringparam', 'man.output.quietly', '1',
- '--stringparam', 'funcsynopsis.style', 'ansi',
- '--stringparam', 'man.authors.section.enabled', '1',
- '--stringparam', 'man.copyright.section.enabled', '1',
- ]
-
- xsltproc_args = [
- xsltproc,
- xlstproc_flags,
- '-o', '@OUTPUT@',
- 'http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl',
- '@INPUT@',
- ]
-
- man_input_files = [
- 'rygel.xml',
- 'rygel.conf.xml'
- ]
-
- man_output_files = [
- 'rygel.1',
- 'rygel.conf.5'
- ]
-
- custom_target('man 1 pages',
- input: 'rygel.xml',
- output: 'rygel.1',
- command: xsltproc_args,
- install: true,
- install_dir: join_paths(get_option('mandir'), 'man1'))
-
- custom_target('man 5 pages',
- input: 'rygel.conf.xml',
- output: 'rygel.conf.5',
- command: xsltproc_args,
- install: true,
- install_dir: join_paths(get_option('mandir'), 'man5'))
+ stylesheet = 'http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl'
+
+ xlstproc_flags = [
+ '--nonet',
+ '--stringparam', 'man.output.quietly', '1',
+ '--stringparam', 'funcsynopsis.style', 'ansi',
+ '--stringparam', 'man.authors.section.enabled', '1',
+ '--stringparam', 'man.copyright.section.enabled', '1',
+ ]
+
+ xsltproc_args = [
+ xsltproc,
+ xlstproc_flags,
+ '-o', '@OUTPUT@',
+ stylesheet,
+ '@INPUT@',
+ ]
+
+ man_input_files = [
+ 'rygel.xml',
+ 'rygel.conf.xml'
+ ]
+
+ man_output_files = [
+ 'rygel.1',
+ 'rygel.conf.5'
+ ]
+
+ r = run_command(
+ [
+ xsltproc,
+ xlstproc_flags,
+ '-o', '/dev/null',
+ stylesheet,
+ 'rygel.xml'
+ ]
+ )
+
+ if (r.returncode() == 0)
+ custom_target(
+ 'man 1 pages',
+ input: 'rygel.xml',
+ output: 'rygel.1',
+ command: xsltproc_args,
+ install: true,
+ install_dir: join_paths(get_option('mandir'), 'man1')
+ )
+
+ custom_target(
+ 'man 5 pages',
+ input: 'rygel.conf.xml',
+ output: 'rygel.conf.5',
+ command: xsltproc_args,
+ install: true,
+ install_dir: join_paths(get_option('mandir'), 'man5')
+ )
+ else
+ error('Cannot bulid man pages, failed to run xsltproc')
+ endif
endif
diff --git a/doc/meson.build b/doc/meson.build
index 41c733e5..91c08fae 100644
--- a/doc/meson.build
+++ b/doc/meson.build
@@ -1,2 +1,5 @@
-subdir('man')
+if get_option('man_pages')
+ subdir('man')
+endif
+
subdir('reference')
diff --git a/meson_options.txt b/meson_options.txt
index cb604c4e..c60ff1a9 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -1,5 +1,6 @@
option('uninstalled', type: 'boolean', value: 'false', description: 'Run Rygel from build directory only')
option('api-docs', type: 'boolean', value: 'false', description: 'Build the API documentation')
+option('man_pages', type: 'boolean', value: 'true', description: 'Build the man pages')
option('systemd-user-units-dir', type : 'string', value : 'auto', description : 'Where to install the
systemd user unit (use special values "auto" or "none", or pass a path')
option('plugins', type : 'array', choices : ['external', 'gst-launch', 'lms', 'media-export', 'mpris',
'playbin', 'ruih', 'tracker', 'tracker3'])
option('engines', type : 'array', choices : ['simple', 'gstreamer'])
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]