mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-10-29 05:40:27 -04:00
On FreeBSD, add dependency on epoll-shim library.
FreeBSD doesn't provide timerfd and eventfd functions. These are implemented in 3rd party library called epoll-shim. Link targets requiring these functions to this library.
This commit is contained in:
parent
68e94a2e7e
commit
fd937fa378
12 changed files with 26 additions and 17 deletions
|
|
@ -207,8 +207,12 @@ if get_option('gstreamer')
|
|||
dependency('gstreamer-allocators-1.0'),]
|
||||
endif
|
||||
|
||||
subdir('spa')
|
||||
# On FreeBSD, epoll-shim library is required for eventfd() and timerfd()
|
||||
epoll_shim_dep = (build_machine.system() == 'freebsd'
|
||||
? dependency('epoll-shim', required: true)
|
||||
: dependency('', required: false))
|
||||
|
||||
subdir('spa')
|
||||
subdir('src')
|
||||
|
||||
if get_option('pipewire-jack')
|
||||
|
|
|
|||
|
|
@ -7,5 +7,5 @@ endif
|
|||
|
||||
executable('example-control', 'example-control.c',
|
||||
include_directories : [spa_inc ],
|
||||
dependencies : [dl_lib, pthread_lib, mathlib],
|
||||
dependencies : [dl_lib, pthread_lib, mathlib, epoll_shim_dep],
|
||||
install : false)
|
||||
|
|
|
|||
|
|
@ -10,6 +10,6 @@ spa_alsa_sources = ['alsa.c',
|
|||
spa_alsa = shared_library('spa-alsa',
|
||||
spa_alsa_sources,
|
||||
include_directories : [spa_inc],
|
||||
dependencies : [ alsa_dep, libudev_dep, mathlib ],
|
||||
dependencies : [ alsa_dep, libudev_dep, mathlib, epoll_shim_dep ],
|
||||
install : true,
|
||||
install_dir : '@0@/spa/alsa'.format(get_option('libdir')))
|
||||
|
|
|
|||
|
|
@ -3,6 +3,6 @@ audiotestsrc_sources = ['audiotestsrc.c', 'plugin.c']
|
|||
audiotestsrclib = shared_library('spa-audiotestsrc',
|
||||
audiotestsrc_sources,
|
||||
include_directories : [spa_inc],
|
||||
dependencies : mathlib,
|
||||
dependencies : [mathlib, epoll_shim_dep],
|
||||
install : true,
|
||||
install_dir : '@0@/spa/audiotestsrc'.format(get_option('libdir')))
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ spa_support_lib = shared_library('spa-support',
|
|||
spa_support_sources,
|
||||
c_args : [ '-D_GNU_SOURCE' ],
|
||||
include_directories : [ spa_inc ],
|
||||
dependencies : [ pthread_lib ],
|
||||
dependencies : [ pthread_lib, epoll_shim_dep ],
|
||||
install : true,
|
||||
install_dir : '@0@/spa/support'.format(get_option('libdir')))
|
||||
|
||||
|
|
@ -35,6 +35,6 @@ spa_dbus_sources = ['dbus.c']
|
|||
spa_dbus_lib = shared_library('spa-dbus',
|
||||
spa_dbus_sources,
|
||||
include_directories : [ spa_inc],
|
||||
dependencies : dbus_dep,
|
||||
dependencies : [dbus_dep, epoll_shim_dep],
|
||||
install : true,
|
||||
install_dir : '@0@/spa/support'.format(get_option('libdir')))
|
||||
|
|
|
|||
|
|
@ -3,6 +3,6 @@ test_sources = ['fakesrc.c', 'fakesink.c', 'plugin.c']
|
|||
testlib = shared_library('spa-test',
|
||||
test_sources,
|
||||
include_directories : [ spa_inc],
|
||||
dependencies : pthread_lib,
|
||||
dependencies : [pthread_lib, epoll_shim_dep],
|
||||
install : true,
|
||||
install_dir : '@0@/spa/test'.format(get_option('libdir')))
|
||||
|
|
|
|||
|
|
@ -6,6 +6,6 @@ v4l2_sources = ['v4l2.c',
|
|||
v4l2lib = shared_library('spa-v4l2',
|
||||
v4l2_sources,
|
||||
include_directories : [ spa_inc ],
|
||||
dependencies : [ libudev_dep ],
|
||||
dependencies : [ libudev_dep, epoll_shim_dep ],
|
||||
install : true,
|
||||
install_dir : '@0@/spa/v4l2'.format(get_option('libdir')))
|
||||
|
|
|
|||
|
|
@ -3,6 +3,6 @@ videotestsrc_sources = ['videotestsrc.c', 'plugin.c']
|
|||
videotestsrclib = shared_library('spa-videotestsrc',
|
||||
videotestsrc_sources,
|
||||
include_directories : [ spa_inc],
|
||||
dependencies : pthread_lib,
|
||||
dependencies : [pthread_lib, epoll_shim_dep],
|
||||
install : true,
|
||||
install_dir : '@0@/spa/videotestsrc'.format(get_option('libdir')))
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ endforeach
|
|||
if have_cpp
|
||||
test_cpp = executable('spa-test-cpp', 'test-cpp.cpp',
|
||||
include_directories : [spa_inc ],
|
||||
dependencies : [],
|
||||
dependencies : [epoll_shim_dep],
|
||||
install : false)
|
||||
test('spa-test-cpp', test_cpp)
|
||||
endif
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
executable('spa-inspect', 'spa-inspect.c',
|
||||
include_directories : [spa_inc],
|
||||
dependencies : [dl_lib],
|
||||
dependencies : [dl_lib, epoll_shim_dep],
|
||||
install : true)
|
||||
|
||||
executable('spa-monitor', 'spa-monitor.c',
|
||||
include_directories : [spa_inc],
|
||||
dependencies : [dl_lib],
|
||||
dependencies : [dl_lib, epoll_shim_dep],
|
||||
install : true)
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ executable('pipewire',
|
|||
install: true,
|
||||
c_args : pipewire_c_args,
|
||||
include_directories : [configinc, spa_inc],
|
||||
dependencies : [pipewire_dep],
|
||||
dependencies : [pipewire_dep, epoll_shim_dep],
|
||||
)
|
||||
|
||||
if get_option('systemd') and systemd.found()
|
||||
|
|
|
|||
|
|
@ -75,10 +75,15 @@ install_headers(pipewire_headers, subdir : 'pipewire')
|
|||
|
||||
libpipewire_c_args = [
|
||||
'-DHAVE_CONFIG_H',
|
||||
'-D_GNU_SOURCE',
|
||||
'-D_POSIX_C_SOURCE',
|
||||
]
|
||||
|
||||
if build_machine.system() != 'freebsd'
|
||||
libpipewire_c_args += [
|
||||
'-D_GNU_SOURCE',
|
||||
'-D_POSIX_C_SOURCE'
|
||||
]
|
||||
endif
|
||||
|
||||
libpipewire_name = 'pipewire-@0@'.format(apiversion)
|
||||
libpipewire = shared_library(libpipewire_name, pipewire_sources,
|
||||
version : libversion,
|
||||
|
|
@ -86,12 +91,12 @@ libpipewire = shared_library(libpipewire_name, pipewire_sources,
|
|||
c_args : libpipewire_c_args,
|
||||
include_directories : [pipewire_inc, configinc, spa_inc],
|
||||
install : true,
|
||||
dependencies : [dl_lib, mathlib, pthread_lib],
|
||||
dependencies : [dl_lib, mathlib, pthread_lib, epoll_shim_dep],
|
||||
)
|
||||
|
||||
pipewire_dep = declare_dependency(link_with : libpipewire,
|
||||
include_directories : [pipewire_inc, configinc, spa_inc],
|
||||
dependencies : [pthread_lib],
|
||||
dependencies : [pthread_lib, epoll_shim_dep],
|
||||
)
|
||||
|
||||
pkgconfig.generate(filebase : 'lib@0@'.format(libpipewire_name),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue