mirror of
				https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
				synced 2025-11-03 09:01:50 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			91 lines
		
	
	
	
		
			2 KiB
		
	
	
	
		
			Meson
		
	
	
	
	
	
			
		
		
	
	
			91 lines
		
	
	
	
		
			2 KiB
		
	
	
	
		
			Meson
		
	
	
	
	
	
 | 
						|
# man page name, section, [aliases]
 | 
						|
manpages = []
 | 
						|
 | 
						|
if get_option('daemon')
 | 
						|
  manpages += [
 | 
						|
    ['default.pa', '5'],
 | 
						|
    ['pacmd', '1'],
 | 
						|
    ['pasuspender', '1'],
 | 
						|
    ['pulse-cli-syntax', '5'],
 | 
						|
    ['pulse-daemon.conf', '5'],
 | 
						|
    ['pulseaudio', '1'],
 | 
						|
    ['start-pulseaudio-x11', '1'],
 | 
						|
  ]
 | 
						|
endif
 | 
						|
 | 
						|
manpages += [
 | 
						|
  ['pacat', '1', ['paplay', 'parec', 'parecord', 'pamon']],
 | 
						|
  ['pactl', '1'],
 | 
						|
  ['pulse-client.conf', '5'],
 | 
						|
]
 | 
						|
 | 
						|
if cdata.has('HAVE_OSS_WRAPPER')
 | 
						|
  manpages += [
 | 
						|
    ['padsp', '1'],
 | 
						|
  ]
 | 
						|
endif
 | 
						|
 | 
						|
if x11_dep.found()
 | 
						|
  manpages += [
 | 
						|
    ['pax11publish', '1'],
 | 
						|
  ]
 | 
						|
endif
 | 
						|
 | 
						|
# 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
 |