Commit c8db7a91 authored by Nirbheek Chauhan's avatar Nirbheek Chauhan 🐜

ipcpipeline: Rework compiler checks

`pipe()` isn't used since 15927b65,
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.
parent f72aaed9
......@@ -10,29 +10,13 @@ if get_option('ipcpipeline').disabled()
subdir_done()
endif
have_socket_h = cc.has_header('sys/socket.h')
if not have_socket_h and get_option('ipcpipeline').enabled()
error('ipcpipeline plugin enabled but socket.h not found')
endif
have_pipe = cc.has_function('pipe')
if not have_pipe and get_option('ipcpipeline').enabled()
error('ipcpipeline plugin enabled but pipe() not found')
endif
have_socketpair = cc.has_function('socketpair')
if not have_socketpair and get_option('ipcpipeline').enabled()
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
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]
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()
endif
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment