mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-10-29 05:40:27 -04:00
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>
92 lines
2.3 KiB
Meson
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
|