mirror of
				https://gitlab.freedesktop.org/pipewire/pipewire.git
				synced 2025-11-03 09:01:54 -05:00 
			
		
		
		
	Commit fa64d93e64 moved the atomic_dep
from pipewire-jack to pipewire_dep however atomic_dep should also be
added to spa_dev to avoid the following build failure when building
examples (which don't depend on pipewire_dep):
FAILED: spa/examples/adapter-control
/home/buildroot/autobuild/instance-0/output-1/host/bin/sparc-linux-gcc  -o spa/examples/adapter-control spa/examples/adapter-control.p/adapter-control.c.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,--start-group -lintl -ldl -pthread -lm -Wl,--end-group
/home/buildroot/autobuild/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/sparc-buildroot-linux-uclibc/10.3.0/../../../../sparc-buildroot-linux-uclibc/bin/ld: spa/examples/adapter-control.p/adapter-control.c.o: in function `spa_graph_node_trigger':
adapter-control.c:(.text+0xdf4): undefined reference to `__atomic_fetch_sub_4'
Fixes:
 - http://autobuild.buildroot.org/results/192f40a5c6e05fc11507494e19db52a47082fc35
		
	
			
		
			
				
	
	
		
			79 lines
		
	
	
	
		
			3.3 KiB
		
	
	
	
		
			Meson
		
	
	
	
	
	
			
		
		
	
	
			79 lines
		
	
	
	
		
			3.3 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_dep = declare_dependency(
 | 
						|
  include_directories : [
 | 
						|
    include_directories('include'),
 | 
						|
  ],
 | 
						|
  dependencies : [atomic_dep],
 | 
						|
  version : spaversion,
 | 
						|
  variables : {
 | 
						|
    'plugindir' : meson.current_build_dir() / 'plugins',
 | 
						|
    'datadir' : meson.current_source_dir() / 'plugins',
 | 
						|
  },
 | 
						|
)
 | 
						|
 | 
						|
meson.override_dependency('lib@0@'.format(spa_name), spa_dep)
 | 
						|
 | 
						|
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'],
 | 
						|
)
 | 
						|
 | 
						|
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')
 | 
						|
 | 
						|
  libcamera_dep = dependency('libcamera', required: get_option('libcamera'))
 | 
						|
  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
 |