mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-25 01:30:38 +00:00
ipcpipeline: Rework compiler checks
`pipe()` isn't used since 15927b6511
,
and `socketpair()` from `#include <sys/socket.h>` is used only in the
examples. In practice, you can use probably also use anything that
allows you to create fd pairs, such as named pipes or anonymous pipes.
We use the cross-platform GstPollFD API in the plugin.
This commit is contained in:
parent
f72aaed9c7
commit
c8db7a9127
2 changed files with 22 additions and 27 deletions
|
@ -10,29 +10,13 @@ if get_option('ipcpipeline').disabled()
|
||||||
subdir_done()
|
subdir_done()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
have_socket_h = cc.has_header('sys/socket.h')
|
gstipcpipeline = library('gstipcpipeline',
|
||||||
if not have_socket_h and get_option('ipcpipeline').enabled()
|
ipcpipeline_sources,
|
||||||
error('ipcpipeline plugin enabled but socket.h not found')
|
c_args : gst_plugins_bad_args,
|
||||||
endif
|
include_directories : [configinc],
|
||||||
have_pipe = cc.has_function('pipe')
|
dependencies : [gstbase_dep],
|
||||||
if not have_pipe and get_option('ipcpipeline').enabled()
|
install : true,
|
||||||
error('ipcpipeline plugin enabled but pipe() not found')
|
install_dir : plugins_install_dir,
|
||||||
endif
|
)
|
||||||
have_socketpair = cc.has_function('socketpair')
|
pkgconfig.generate(gstipcpipeline, install_dir : plugins_pkgconfig_install_dir)
|
||||||
if not have_socketpair and get_option('ipcpipeline').enabled()
|
plugins += [gstipcpipeline]
|
||||||
error('ipcpipeline plugin enabled but socketpair() not found')
|
|
||||||
endif
|
|
||||||
|
|
||||||
build_ipcpipeline = have_socket_h and have_pipe and have_socketpair
|
|
||||||
if build_ipcpipeline
|
|
||||||
gstipcpipeline = library('gstipcpipeline',
|
|
||||||
ipcpipeline_sources,
|
|
||||||
c_args : gst_plugins_bad_args,
|
|
||||||
include_directories : [configinc],
|
|
||||||
dependencies : [gstbase_dep],
|
|
||||||
install : true,
|
|
||||||
install_dir : plugins_install_dir,
|
|
||||||
)
|
|
||||||
pkgconfig.generate(gstipcpipeline, install_dir : plugins_pkgconfig_install_dir)
|
|
||||||
plugins += [gstipcpipeline]
|
|
||||||
endif
|
|
||||||
|
|
|
@ -1,4 +1,15 @@
|
||||||
if get_option('ipcpipeline').disabled() or not build_ipcpipeline
|
if get_option('ipcpipeline').disabled()
|
||||||
|
subdir_done()
|
||||||
|
endif
|
||||||
|
|
||||||
|
build_ipcpipeline_example = cc.has_header('sys/socket.h')
|
||||||
|
foreach f : ['kill', 'socketpair', 'fcntl', 'fork']
|
||||||
|
if build_ipcpipeline_example
|
||||||
|
build_ipcpipeline_example = cc.has_function(f)
|
||||||
|
endif
|
||||||
|
endforeach
|
||||||
|
|
||||||
|
if not build_ipcpipeline_example
|
||||||
subdir_done()
|
subdir_done()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue