summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorJens Georg <mail@jensge.org>2020-12-26 18:40:51 +0100
committerJens Georg <mail@jensge.org>2020-12-27 14:23:48 +0100
commit5a54c5bb1c9609b7bffe6b3e05f934030e4e990e (patch)
tree03b47806c9f7d5ff762707e0ca194667c7805f24 /doc
parent66ff912d8fbe8ccd787006d75b91d1c19472893e (diff)
downloadrygel-5a54c5bb1c9609b7bffe6b3e05f934030e4e990e.tar.gz
build: Add man_pages build options
Check if xsltproc runs succesfully and fail otherwise Fixes #192
Diffstat (limited to 'doc')
-rw-r--r--doc/man/meson.build98
-rw-r--r--doc/meson.build5
2 files changed, 63 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')