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'),]
|
dependency('gstreamer-allocators-1.0'),]
|
||||||
endif
|
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')
|
subdir('src')
|
||||||
|
|
||||||
if get_option('pipewire-jack')
|
if get_option('pipewire-jack')
|
||||||
|
|
|
||||||
|
|
@ -7,5 +7,5 @@ endif
|
||||||
|
|
||||||
executable('example-control', 'example-control.c',
|
executable('example-control', 'example-control.c',
|
||||||
include_directories : [spa_inc ],
|
include_directories : [spa_inc ],
|
||||||
dependencies : [dl_lib, pthread_lib, mathlib],
|
dependencies : [dl_lib, pthread_lib, mathlib, epoll_shim_dep],
|
||||||
install : false)
|
install : false)
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,6 @@ spa_alsa_sources = ['alsa.c',
|
||||||
spa_alsa = shared_library('spa-alsa',
|
spa_alsa = shared_library('spa-alsa',
|
||||||
spa_alsa_sources,
|
spa_alsa_sources,
|
||||||
include_directories : [spa_inc],
|
include_directories : [spa_inc],
|
||||||
dependencies : [ alsa_dep, libudev_dep, mathlib ],
|
dependencies : [ alsa_dep, libudev_dep, mathlib, epoll_shim_dep ],
|
||||||
install : true,
|
install : true,
|
||||||
install_dir : '@0@/spa/alsa'.format(get_option('libdir')))
|
install_dir : '@0@/spa/alsa'.format(get_option('libdir')))
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,6 @@ audiotestsrc_sources = ['audiotestsrc.c', 'plugin.c']
|
||||||
audiotestsrclib = shared_library('spa-audiotestsrc',
|
audiotestsrclib = shared_library('spa-audiotestsrc',
|
||||||
audiotestsrc_sources,
|
audiotestsrc_sources,
|
||||||
include_directories : [spa_inc],
|
include_directories : [spa_inc],
|
||||||
dependencies : mathlib,
|
dependencies : [mathlib, epoll_shim_dep],
|
||||||
install : true,
|
install : true,
|
||||||
install_dir : '@0@/spa/audiotestsrc'.format(get_option('libdir')))
|
install_dir : '@0@/spa/audiotestsrc'.format(get_option('libdir')))
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ spa_support_lib = shared_library('spa-support',
|
||||||
spa_support_sources,
|
spa_support_sources,
|
||||||
c_args : [ '-D_GNU_SOURCE' ],
|
c_args : [ '-D_GNU_SOURCE' ],
|
||||||
include_directories : [ spa_inc ],
|
include_directories : [ spa_inc ],
|
||||||
dependencies : [ pthread_lib ],
|
dependencies : [ pthread_lib, epoll_shim_dep ],
|
||||||
install : true,
|
install : true,
|
||||||
install_dir : '@0@/spa/support'.format(get_option('libdir')))
|
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_lib = shared_library('spa-dbus',
|
||||||
spa_dbus_sources,
|
spa_dbus_sources,
|
||||||
include_directories : [ spa_inc],
|
include_directories : [ spa_inc],
|
||||||
dependencies : dbus_dep,
|
dependencies : [dbus_dep, epoll_shim_dep],
|
||||||
install : true,
|
install : true,
|
||||||
install_dir : '@0@/spa/support'.format(get_option('libdir')))
|
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',
|
testlib = shared_library('spa-test',
|
||||||
test_sources,
|
test_sources,
|
||||||
include_directories : [ spa_inc],
|
include_directories : [ spa_inc],
|
||||||
dependencies : pthread_lib,
|
dependencies : [pthread_lib, epoll_shim_dep],
|
||||||
install : true,
|
install : true,
|
||||||
install_dir : '@0@/spa/test'.format(get_option('libdir')))
|
install_dir : '@0@/spa/test'.format(get_option('libdir')))
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,6 @@ v4l2_sources = ['v4l2.c',
|
||||||
v4l2lib = shared_library('spa-v4l2',
|
v4l2lib = shared_library('spa-v4l2',
|
||||||
v4l2_sources,
|
v4l2_sources,
|
||||||
include_directories : [ spa_inc ],
|
include_directories : [ spa_inc ],
|
||||||
dependencies : [ libudev_dep ],
|
dependencies : [ libudev_dep, epoll_shim_dep ],
|
||||||
install : true,
|
install : true,
|
||||||
install_dir : '@0@/spa/v4l2'.format(get_option('libdir')))
|
install_dir : '@0@/spa/v4l2'.format(get_option('libdir')))
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,6 @@ videotestsrc_sources = ['videotestsrc.c', 'plugin.c']
|
||||||
videotestsrclib = shared_library('spa-videotestsrc',
|
videotestsrclib = shared_library('spa-videotestsrc',
|
||||||
videotestsrc_sources,
|
videotestsrc_sources,
|
||||||
include_directories : [ spa_inc],
|
include_directories : [ spa_inc],
|
||||||
dependencies : pthread_lib,
|
dependencies : [pthread_lib, epoll_shim_dep],
|
||||||
install : true,
|
install : true,
|
||||||
install_dir : '@0@/spa/videotestsrc'.format(get_option('libdir')))
|
install_dir : '@0@/spa/videotestsrc'.format(get_option('libdir')))
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ endforeach
|
||||||
if have_cpp
|
if have_cpp
|
||||||
test_cpp = executable('spa-test-cpp', 'test-cpp.cpp',
|
test_cpp = executable('spa-test-cpp', 'test-cpp.cpp',
|
||||||
include_directories : [spa_inc ],
|
include_directories : [spa_inc ],
|
||||||
dependencies : [],
|
dependencies : [epoll_shim_dep],
|
||||||
install : false)
|
install : false)
|
||||||
test('spa-test-cpp', test_cpp)
|
test('spa-test-cpp', test_cpp)
|
||||||
endif
|
endif
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
executable('spa-inspect', 'spa-inspect.c',
|
executable('spa-inspect', 'spa-inspect.c',
|
||||||
include_directories : [spa_inc],
|
include_directories : [spa_inc],
|
||||||
dependencies : [dl_lib],
|
dependencies : [dl_lib, epoll_shim_dep],
|
||||||
install : true)
|
install : true)
|
||||||
|
|
||||||
executable('spa-monitor', 'spa-monitor.c',
|
executable('spa-monitor', 'spa-monitor.c',
|
||||||
include_directories : [spa_inc],
|
include_directories : [spa_inc],
|
||||||
dependencies : [dl_lib],
|
dependencies : [dl_lib, epoll_shim_dep],
|
||||||
install : true)
|
install : true)
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,7 @@ executable('pipewire',
|
||||||
install: true,
|
install: true,
|
||||||
c_args : pipewire_c_args,
|
c_args : pipewire_c_args,
|
||||||
include_directories : [configinc, spa_inc],
|
include_directories : [configinc, spa_inc],
|
||||||
dependencies : [pipewire_dep],
|
dependencies : [pipewire_dep, epoll_shim_dep],
|
||||||
)
|
)
|
||||||
|
|
||||||
if get_option('systemd') and systemd.found()
|
if get_option('systemd') and systemd.found()
|
||||||
|
|
|
||||||
|
|
@ -75,10 +75,15 @@ install_headers(pipewire_headers, subdir : 'pipewire')
|
||||||
|
|
||||||
libpipewire_c_args = [
|
libpipewire_c_args = [
|
||||||
'-DHAVE_CONFIG_H',
|
'-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_name = 'pipewire-@0@'.format(apiversion)
|
||||||
libpipewire = shared_library(libpipewire_name, pipewire_sources,
|
libpipewire = shared_library(libpipewire_name, pipewire_sources,
|
||||||
version : libversion,
|
version : libversion,
|
||||||
|
|
@ -86,12 +91,12 @@ libpipewire = shared_library(libpipewire_name, pipewire_sources,
|
||||||
c_args : libpipewire_c_args,
|
c_args : libpipewire_c_args,
|
||||||
include_directories : [pipewire_inc, configinc, spa_inc],
|
include_directories : [pipewire_inc, configinc, spa_inc],
|
||||||
install : true,
|
install : true,
|
||||||
dependencies : [dl_lib, mathlib, pthread_lib],
|
dependencies : [dl_lib, mathlib, pthread_lib, epoll_shim_dep],
|
||||||
)
|
)
|
||||||
|
|
||||||
pipewire_dep = declare_dependency(link_with : libpipewire,
|
pipewire_dep = declare_dependency(link_with : libpipewire,
|
||||||
include_directories : [pipewire_inc, configinc, spa_inc],
|
include_directories : [pipewire_inc, configinc, spa_inc],
|
||||||
dependencies : [pthread_lib],
|
dependencies : [pthread_lib, epoll_shim_dep],
|
||||||
)
|
)
|
||||||
|
|
||||||
pkgconfig.generate(filebase : 'lib@0@'.format(libpipewire_name),
|
pkgconfig.generate(filebase : 'lib@0@'.format(libpipewire_name),
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue