pipewire/pipewire-jack/src/meson.build
Fabrice Fontaine fa64d93e64 fix linking with -latomic
Linking with -latomic has been added to pipewire-jack since
b8c58c74d8

However, this is not the right place to add this dependency, atomic_dep
should be added to pipewire_dep to avoid the following build failure:

/home/giuliobenetti/autobuild/run/instance-0/output-1/host/opt/ext-toolchain/bin/../lib/gcc/sparc-buildroot-linux-uclibc/9.3.0/../../../../sparc-buildroot-linux-uclibc/bin/ld: src/pipewire/libpipewire-0.3.so.0.326.0.p/filter.c.o: in function `impl_node_process':
filter.c:(.text+0xf28): undefined reference to `__atomic_fetch_add_4'

Indeed, atomic operation such as __atomic_fetch_add is used in libcamera
as well as in ./spa/plugins/libcamera/libcamera_wrapper.cpp,
./spa/include/spa/utils/ringbuffer.h and ./spa/include/spa/graph/graph.h

Fixes:
 - http://autobuild.buildroot.org/results/b5305e8e7dd1a5e8bfaba72b06251056ba7d1af1

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
2021-05-24 08:33:50 +00:00

92 lines
2.3 KiB
Meson

pipewire_jack_sources = [
'export.c',
'pipewire-jack.c',
'ringbuffer.c',
'uuid.c',
]
pipewire_jackserver_sources = pipewire_jack_sources
pipewire_jackserver_sources += [
'control.c',
]
pipewire_dummy_sources = [
'dummy.c',
]
pipewire_jack_c_args = [
'-DHAVE_CONFIG_H',
'-D_GNU_SOURCE',
'-DPIC',
]
libjack_path = get_option('libjack-path')
if libjack_path == ''
libjack_path = modules_install_dir / 'jack'
libjack_path_dlopen = modules_install_dir_dlopen / 'jack'
else
libjack_path_dlopen = libjack_path
endif
tools_config = configuration_data()
tools_config.set('LIBJACK_PATH', libjack_path_dlopen)
configure_file(input : 'pw-jack.in',
output : 'pw-jack',
configuration : tools_config,
install_dir : pipewire_bindir)
pipewire_jack = shared_library('jack',
pipewire_jack_sources,
soversion : soversion,
version : libversion,
c_args : pipewire_jack_c_args,
include_directories : [configinc, jack_inc],
dependencies : [pipewire_dep, mathlib],
install : true,
install_dir : libjack_path,
)
pipewire_jackserver = shared_library('jackserver',
pipewire_jackserver_sources,
soversion : soversion,
version : libversion,
c_args : pipewire_jack_c_args,
include_directories : [configinc, jack_inc],
dependencies : [pipewire_dep, mathlib],
install : true,
install_dir : libjack_path,
)
pipewire_jackserver = shared_library('jacknet',
pipewire_dummy_sources,
soversion : soversion,
version : libversion,
c_args : pipewire_jack_c_args,
include_directories : [configinc, jack_inc],
dependencies : [pipewire_dep, mathlib],
install : true,
install_dir : libjack_path,
)
if get_option('jack-devel').enabled()
pkgconfig.generate(filebase : 'jack',
libraries : [pipewire_jack, pipewire_jackserver],
name : 'jack',
description : 'PipeWire JACK API',
version : '1.9.17',
extra_cflags : '-D_REENTRANT',
variables: ['server_libs=-L${libdir} -ljackserver'])
endif
if sdl_dep.found()
executable('video-dsp-play',
'../examples/video-dsp-play.c',
c_args : [ '-D_GNU_SOURCE' ],
include_directories : [jack_inc],
install : installed_tests_enabled,
install_dir : installed_tests_execdir / 'examples' / 'jack',
dependencies : [sdl_dep, mathlib],
link_with: pipewire_jack,
)
endif