[libcamera-devel] [PATCH] gst: Silence -Wunused-function warning for older GLib versions

Laurent Pinchart laurent.pinchart at ideasonboard.com
Sat Mar 7 00:11:41 CET 2020


The G_DECLARE_FINAL_TYPE macro from GLib creates static inline functions
that, prior to GLib v2.63.0, were not marked as possibly unused. This
causes clang to complain about the ones we are not using. Silence the
-Wunused-function warning in that case.

Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
---
 src/gstreamer/meson.build | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/src/gstreamer/meson.build b/src/gstreamer/meson.build
index ca64bf110dde..a144d7d2b4eb 100644
--- a/src/gstreamer/meson.build
+++ b/src/gstreamer/meson.build
@@ -13,13 +13,23 @@ libcamera_gst_c_args = [
     '-DPACKAGE="@0@"'.format(meson.project_name()),
 ]
 
+glib_dep = dependency('glib', required : get_option('gstreamer'))
+
 gst_dep_version = '>=1.14.0'
 gstvideo_dep = dependency('gstreamer-video-1.0', version : gst_dep_version,
                           required : get_option('gstreamer'))
 gstallocator_dep = dependency('gstreamer-allocators-1.0', version : gst_dep_version,
                               required : get_option('gstreamer'))
 
-if gstvideo_dep.found() and gstallocator_dep.found()
+if glib_dep.found() and gstvideo_dep.found() and gstallocator_dep.found()
+    # The G_DECLARE_FINAL_TYPE macro from GLib creates static inline functions
+    # that, prior to GLib v2.63.0, were not marked as possibly unused. This
+    # causes clang to 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' ]
+    endif
+
     libcamera_gst = shared_library('gstlibcamera',
         libcamera_gst_sources,
         c_args : libcamera_gst_c_args,
-- 
Regards,

Laurent Pinchart



More information about the libcamera-devel mailing list