[libcamera-devel] [PATCH] gst: Fix GLib detection and warning disabling

Laurent Pinchart laurent.pinchart at ideasonboard.com
Sat Mar 7 01:33:10 CET 2020


Commit 17cccc68a88f ("Add GStreamer plugin and element skeleton") has
gained a last minute fix for a clang compilation error with GLib prior
to v2.63.0. The fix wasn't properly tested, and not only did it try to
silence the affected compiler warning for C files only, it also failed
to check the GLib dependency correctly. This resulted in compilation of
the GStreamer element to always be disabled.

Fix this by changing the GLib package name from 'glib' to 'glib-2.0',
and silence the compiler warning for C++ files.

Fixes: 17cccc68a88f ("Add GStreamer plugin and element skeleton")
Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
---
 src/gstreamer/meson.build | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/gstreamer/meson.build b/src/gstreamer/meson.build
index 1965b5041132..1b9dedd2528e 100644
--- a/src/gstreamer/meson.build
+++ b/src/gstreamer/meson.build
@@ -12,8 +12,9 @@ libcamera_gst_c_args = [
     '-DVERSION="@0@"'.format(libcamera_git_version),
     '-DPACKAGE="@0@"'.format(meson.project_name()),
 ]
+libcamera_gst_cpp_args = []
 
-glib_dep = dependency('glib', required : get_option('gstreamer'))
+glib_dep = dependency('glib-2.0', required : get_option('gstreamer'))
 
 gst_dep_version = '>=1.14.0'
 gstvideo_dep = dependency('gstreamer-video-1.0', version : gst_dep_version,
@@ -27,12 +28,13 @@ if glib_dep.found() and gstvideo_dep.found() and gstallocator_dep.found()
     # complain about the ones we are not using. Silence the -Wunused-function
     # warning in that case.
     if cc.get_id() == 'clang' and glib_dep.version().version_compare('<2.63.0')
-        libcamera_gst_c_args += [ '-Wno-unused-function' ]
+        libcamera_gst_cpp_args += [ '-Wno-unused-function' ]
     endif
 
     libcamera_gst = shared_library('gstlibcamera',
         libcamera_gst_sources,
         c_args : libcamera_gst_c_args,
+        cpp_args : libcamera_gst_cpp_args,
         dependencies : [libcamera_dep, gstvideo_dep, gstallocator_dep],
         install: true,
         install_dir : '@0@/gstreamer-1.0'.format(get_option('libdir')),
-- 
Regards,

Laurent Pinchart



More information about the libcamera-devel mailing list