mirror of
				https://gitlab.freedesktop.org/pipewire/pipewire.git
				synced 2025-11-03 09:01:54 -05:00 
			
		
		
		
	libfreeaptx is a fork of libopenaptx prior to the dubious licensing situation was introduced to the library. As it's fully API compatible, let's use that instead for those who want to use aptX support. The library source is available at https://github.com/iamthehorker/libfreeaptx
		
			
				
	
	
		
			82 lines
		
	
	
	
		
			3.4 KiB
		
	
	
	
		
			Meson
		
	
	
	
	
	
			
		
		
	
	
			82 lines
		
	
	
	
		
			3.4 KiB
		
	
	
	
		
			Meson
		
	
	
	
	
	
#project('spa', 'c')
 | 
						|
 | 
						|
#cc = meson.get_compiler('c')
 | 
						|
#dl_lib = cc.find_library('dl', required : false)
 | 
						|
#pthread_lib = dependencies('threads')
 | 
						|
#mathlib = cc.find_library('m', required : false)
 | 
						|
 | 
						|
spa_inc = include_directories('include')
 | 
						|
 | 
						|
subdir('include')
 | 
						|
 | 
						|
if not get_option('spa-plugins').disabled()
 | 
						|
  udevrulesdir = get_option('udevrulesdir')
 | 
						|
  if udevrulesdir == ''
 | 
						|
    # absolute path, otherwise meson prepends the prefix
 | 
						|
    udevrulesdir = '/lib/udev/rules.d'
 | 
						|
  endif
 | 
						|
 | 
						|
  # plugin-specific dependencies
 | 
						|
  alsa_dep = dependency('alsa', required: get_option('alsa'))
 | 
						|
  summary({'ALSA': alsa_dep.found()}, bool_yn: true, section: 'Backend')
 | 
						|
  bluez_dep = dependency('bluez', version : '>= 4.101', required: get_option('bluez5'))
 | 
						|
  summary({'Bluetooth audio': bluez_dep.found()}, bool_yn: true, section: 'Backend')
 | 
						|
  if bluez_dep.found()
 | 
						|
    sbc_dep = dependency('sbc', required: get_option('bluez5'))
 | 
						|
    summary({'SBC': sbc_dep.found()}, bool_yn: true, section: 'Bluetooth audio codecs')
 | 
						|
    ldac_dep = dependency('ldacBT-enc', required : get_option('bluez5-codec-ldac'))
 | 
						|
    summary({'LDAC': ldac_dep.found()}, bool_yn: true, section: 'Bluetooth audio codecs')
 | 
						|
    ldac_abr_dep = dependency('ldacBT-abr', required : get_option('bluez5-codec-ldac'))
 | 
						|
    summary({'LDAC ABR': ldac_abr_dep.found()}, bool_yn: true, section: 'Bluetooth audio codecs')
 | 
						|
    aptx_dep = dependency('libfreeaptx', required : get_option('bluez5-codec-aptx'))
 | 
						|
    summary({'aptX': aptx_dep.found()}, bool_yn: true, section: 'Bluetooth audio codecs')
 | 
						|
    fdk_aac_dep = dependency('fdk-aac', required : get_option('bluez5-codec-aac'))
 | 
						|
    summary({'AAC': fdk_aac_dep.found()}, bool_yn: true, section: 'Bluetooth audio codecs')
 | 
						|
  endif
 | 
						|
  avcodec_dep = dependency('libavcodec', required: get_option('ffmpeg'))
 | 
						|
  jack_dep = dependency('jack', version : '>= 1.9.10', required: get_option('jack'))
 | 
						|
  summary({'JACK2': jack_dep.found()}, bool_yn: true, section: 'Backend')
 | 
						|
  vulkan_dep = dependency('vulkan', disabler : true, version : '>= 1.1.69', required: get_option('vulkan'))
 | 
						|
  vulkan_headers = cc.has_header('vulkan/vulkan.h', dependencies : vulkan_dep)
 | 
						|
  #summary({'Vulkan': vulkan_headers}, bool_yn: true, section: 'Misc dependencies')
 | 
						|
 | 
						|
  if not get_option('libcamera').disabled()
 | 
						|
    libcamera_dep = dependency('libcamera', required: false)
 | 
						|
    if not libcamera_dep.found()
 | 
						|
      libcamera_dep = dependency('camera', required: get_option('libcamera'))
 | 
						|
    endif
 | 
						|
  else
 | 
						|
    libcamera_dep = dependency('', required: false)
 | 
						|
  endif
 | 
						|
  summary({'libcamera': libcamera_dep.found()}, bool_yn: true, section: 'Backend')
 | 
						|
 | 
						|
  # common dependencies
 | 
						|
  libudev_dep = dependency('libudev', required: alsa_dep.found() or get_option('udev').enabled() or get_option('v4l2').enabled())
 | 
						|
  summary({'Udev': libudev_dep.found()}, bool_yn: true, section: 'Backend')
 | 
						|
 | 
						|
  subdir('plugins')
 | 
						|
endif
 | 
						|
 | 
						|
subdir('tools')
 | 
						|
subdir('tests')
 | 
						|
if not get_option('examples').disabled()
 | 
						|
  subdir('examples')
 | 
						|
endif
 | 
						|
 | 
						|
spa_dep = declare_dependency(
 | 
						|
  include_directories : [spa_inc],
 | 
						|
  version : spaversion,
 | 
						|
  variables : { 'plugindir' : meson.current_build_dir() / 'plugins' }
 | 
						|
)
 | 
						|
 | 
						|
pkgconfig.generate(filebase : 'lib@0@'.format(spa_name),
 | 
						|
  name : 'libspa',
 | 
						|
  subdirs : spa_name,
 | 
						|
  description : 'Simple Plugin API',
 | 
						|
  version : spaversion,
 | 
						|
  extra_cflags : '-D_REENTRANT',
 | 
						|
  variables : ['plugindir=${libdir}/@0@'.format(spa_name)],
 | 
						|
  uninstalled_variables : ['plugindir=${prefix}/spa/plugins'],
 | 
						|
)
 | 
						|
 | 
						|
meson.override_dependency('lib@0@'.format(spa_name), spa_dep)
 |