xref: /third_party/pulseaudio/man/meson.build (revision 53a5a1b3)
153a5a1b3Sopenharmony_ci
253a5a1b3Sopenharmony_ci# man page name, section, [aliases]
353a5a1b3Sopenharmony_cimanpages = []
453a5a1b3Sopenharmony_ci
553a5a1b3Sopenharmony_ciif get_option('daemon')
653a5a1b3Sopenharmony_ci  manpages += [
753a5a1b3Sopenharmony_ci    ['default.pa', '5'],
853a5a1b3Sopenharmony_ci    ['pacmd', '1'],
953a5a1b3Sopenharmony_ci    ['pasuspender', '1'],
1053a5a1b3Sopenharmony_ci    ['pulse-cli-syntax', '5'],
1153a5a1b3Sopenharmony_ci    ['pulse-daemon.conf', '5'],
1253a5a1b3Sopenharmony_ci    ['pulseaudio', '1'],
1353a5a1b3Sopenharmony_ci    ['start-pulseaudio-x11', '1'],
1453a5a1b3Sopenharmony_ci  ]
1553a5a1b3Sopenharmony_ciendif
1653a5a1b3Sopenharmony_ci
1753a5a1b3Sopenharmony_ciif get_option('client')
1853a5a1b3Sopenharmony_ci  manpages += [
1953a5a1b3Sopenharmony_ci    ['pacat', '1', ['paplay', 'parec', 'parecord', 'pamon']],
2053a5a1b3Sopenharmony_ci    ['pactl', '1'],
2153a5a1b3Sopenharmony_ci    ['pulse-client.conf', '5'],
2253a5a1b3Sopenharmony_ci  ]
2353a5a1b3Sopenharmony_ci
2453a5a1b3Sopenharmony_ci  if cdata.has('HAVE_OSS_WRAPPER')
2553a5a1b3Sopenharmony_ci    manpages += [
2653a5a1b3Sopenharmony_ci      ['padsp', '1'],
2753a5a1b3Sopenharmony_ci    ]
2853a5a1b3Sopenharmony_ci  endif
2953a5a1b3Sopenharmony_ci
3053a5a1b3Sopenharmony_ci  if x11_dep.found()
3153a5a1b3Sopenharmony_ci    manpages += [
3253a5a1b3Sopenharmony_ci      ['pax11publish', '1'],
3353a5a1b3Sopenharmony_ci    ]
3453a5a1b3Sopenharmony_ci  endif
3553a5a1b3Sopenharmony_ciendif
3653a5a1b3Sopenharmony_ci
3753a5a1b3Sopenharmony_ci# FIXME: Add esdcompat if HAVE_ESOUND
3853a5a1b3Sopenharmony_ci#manpages += ['esdcompat', '1'],
3953a5a1b3Sopenharmony_ci
4053a5a1b3Sopenharmony_ciman_data = configuration_data()
4153a5a1b3Sopenharmony_ciman_data.set('PACKAGE_URL', 'http://pulseaudio.org/')
4253a5a1b3Sopenharmony_ciman_data.set('PACKAGE_BUGREPORT', 'pulseaudio-discuss (at) lists (dot) freedesktop (dot) org')
4353a5a1b3Sopenharmony_ciman_data.set('PA_DEFAULT_CONFIG_DIR', cdata.get_unquoted('PA_DEFAULT_CONFIG_DIR'))
4453a5a1b3Sopenharmony_ci
4553a5a1b3Sopenharmony_ciperl = find_program('perl', required: true)
4653a5a1b3Sopenharmony_cixmltoman_cmd = [perl, join_paths(meson.current_source_dir(), 'xmltoman')]
4753a5a1b3Sopenharmony_cixmllint = find_program('xmllint', required: false)
4853a5a1b3Sopenharmony_ci
4953a5a1b3Sopenharmony_ciforeach tuple : manpages
5053a5a1b3Sopenharmony_ci  stem = tuple[0]
5153a5a1b3Sopenharmony_ci  section = tuple[1]
5253a5a1b3Sopenharmony_ci  aliases = tuple.get(2, [])
5353a5a1b3Sopenharmony_ci
5453a5a1b3Sopenharmony_ci  man = stem + '.' + section
5553a5a1b3Sopenharmony_ci  xmlin = man + '.xml.in'
5653a5a1b3Sopenharmony_ci  xml = man + '.xml'
5753a5a1b3Sopenharmony_ci
5853a5a1b3Sopenharmony_ci  xml_file = configure_file(
5953a5a1b3Sopenharmony_ci    input : xmlin,
6053a5a1b3Sopenharmony_ci    output : xml,
6153a5a1b3Sopenharmony_ci    configuration : man_data,
6253a5a1b3Sopenharmony_ci  )
6353a5a1b3Sopenharmony_ci
6453a5a1b3Sopenharmony_ci  mandirn = join_paths(mandir, 'man' + section)
6553a5a1b3Sopenharmony_ci
6653a5a1b3Sopenharmony_ci  custom_target(
6753a5a1b3Sopenharmony_ci    man + '-target',
6853a5a1b3Sopenharmony_ci    input : xml_file,
6953a5a1b3Sopenharmony_ci    output : man,
7053a5a1b3Sopenharmony_ci    capture : true,
7153a5a1b3Sopenharmony_ci    command : xmltoman_cmd + ['@INPUT@'],
7253a5a1b3Sopenharmony_ci    install : true,
7353a5a1b3Sopenharmony_ci    install_dir : mandirn,
7453a5a1b3Sopenharmony_ci  )
7553a5a1b3Sopenharmony_ci
7653a5a1b3Sopenharmony_ci  foreach alias_stem : aliases
7753a5a1b3Sopenharmony_ci    alias = alias_stem + '.' + section
7853a5a1b3Sopenharmony_ci    dst = join_paths(mandirn, alias)
7953a5a1b3Sopenharmony_ci    cmd = 'ln -fs @0@ $DESTDIR@1@'.format(man, dst)
8053a5a1b3Sopenharmony_ci    meson.add_install_script('sh', '-c', cmd)
8153a5a1b3Sopenharmony_ci  endforeach
8253a5a1b3Sopenharmony_ci
8353a5a1b3Sopenharmony_ci  if xmllint.found()
8453a5a1b3Sopenharmony_ci    test(
8553a5a1b3Sopenharmony_ci      'Validate xml file ' + xml,
8653a5a1b3Sopenharmony_ci      xmllint,
8753a5a1b3Sopenharmony_ci      args : [
8853a5a1b3Sopenharmony_ci	'--noout', '--valid',
8953a5a1b3Sopenharmony_ci	'--path', meson.current_source_dir(),
9053a5a1b3Sopenharmony_ci	join_paths(meson.current_build_dir(), xml)]
9153a5a1b3Sopenharmony_ci    )
9253a5a1b3Sopenharmony_ci  endif
9353a5a1b3Sopenharmony_ciendforeach
94