diff options
author | Jens Georg <mail@jensge.org> | 2020-12-26 18:40:51 +0100 |
---|---|---|
committer | Jens Georg <mail@jensge.org> | 2020-12-26 18:45:59 +0100 |
commit | ee68c4597f3f50aa38251f0c74452f046b5e4782 (patch) | |
tree | 03b47806c9f7d5ff762707e0ca194667c7805f24 /doc | |
parent | 774475787e7cf59b8d10a104f12904560bf31b88 (diff) | |
download | rygel-ee68c4597f3f50aa38251f0c74452f046b5e4782.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.build | 98 | ||||
-rw-r--r-- | doc/meson.build | 5 |
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') |