From c8db7a91273d13e3eaf6e450aac99a6d461d0e58 Mon Sep 17 00:00:00 2001 From: Nirbheek Chauhan Date: Sat, 11 Jan 2020 14:47:13 +0530 Subject: [PATCH] ipcpipeline: Rework compiler checks `pipe()` isn't used since 15927b6511bc8304ae144a45c9fbfca88e5dd641, and `socketpair()` from `#include ` 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. --- sys/ipcpipeline/meson.build | 36 ++++++++++------------------------ tests/examples/ipcpipeline/meson.build | 13 +++++++++++- 2 files changed, 22 insertions(+), 27 deletions(-) diff --git a/sys/ipcpipeline/meson.build b/sys/ipcpipeline/meson.build index 158f789..aa7ce39 100644 --- a/sys/ipcpipeline/meson.build +++ b/sys/ipcpipeline/meson.build @@ -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] diff --git a/tests/examples/ipcpipeline/meson.build b/tests/examples/ipcpipeline/meson.build index 03ca196..73583e6 100644 --- a/tests/examples/ipcpipeline/meson.build +++ b/tests/examples/ipcpipeline/meson.build @@ -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() endif -- 2.7.4