| |
| # man page name, section, [aliases] |
| manpages = [ |
| ['default.pa', '5'], |
| ['pacat', '1', ['paplay', 'parec', 'parecord', 'pamon']], |
| ['pacmd', '1'], |
| ['pactl', '1'], |
| ['padsp', '1'], |
| ['pasuspender', '1'], |
| ['pax11publish', '1'], |
| ['pulse-cli-syntax', '5'], |
| ['pulse-client.conf', '5'], |
| ['pulse-daemon.conf', '5'], |
| ['pulseaudio', '1'], |
| ['start-pulseaudio-x11', '1'], |
| ] |
| |
| # FIXME: Add esdcompat if HAVE_ESOUND |
| #manpages += ['esdcompat', '1'], |
| |
| man_data = configuration_data() |
| man_data.set('PACKAGE_URL', 'http://pulseaudio.org/') |
| man_data.set('PACKAGE_BUGREPORT', 'pulseaudio-discuss (at) lists (dot) freedesktop (dot) org') |
| man_data.set('PA_DEFAULT_CONFIG_DIR', cdata.get_unquoted('PA_DEFAULT_CONFIG_DIR')) |
| |
| perl = find_program('perl', required: true) |
| xmltoman_cmd = [perl, join_paths(meson.current_source_dir(), 'xmltoman')] |
| xmllint = find_program('xmllint', required: false) |
| |
| foreach tuple : manpages |
| stem = tuple[0] |
| section = tuple[1] |
| aliases = tuple.get(2, []) |
| |
| man = stem + '.' + section |
| xmlin = man + '.xml.in' |
| xml = man + '.xml' |
| |
| xml_file = configure_file( |
| input : xmlin, |
| output : xml, |
| configuration : man_data, |
| ) |
| |
| mandirn = join_paths(mandir, 'man' + section) |
| |
| custom_target( |
| man + '-target', |
| input : xml_file, |
| output : man, |
| capture : true, |
| command : xmltoman_cmd + ['@INPUT@'], |
| install : true, |
| install_dir : mandirn, |
| ) |
| |
| foreach alias_stem : aliases |
| alias = alias_stem + '.' + section |
| dst = join_paths(mandirn, alias) |
| cmd = 'ln -fs @0@ $DESTDIR@1@'.format(man, dst) |
| meson.add_install_script('sh', '-c', cmd) |
| endforeach |
| |
| if xmllint.found() |
| test( |
| 'Validate xml file ' + xml, |
| xmllint, |
| args : [ |
| '--noout', '--valid', |
| '--path', meson.current_source_dir(), |
| join_paths(meson.current_build_dir(), xml)] |
| ) |
| endif |
| endforeach |