wpe: Clean up build script
authorJan Alexander Steffens (heftig) <heftig@archlinux.org>
Tue, 8 Feb 2022 14:23:17 +0000 (15:23 +0100)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Sun, 20 Feb 2022 14:34:12 +0000 (14:34 +0000)
Use feature.require to check for gstgl and exit early if 'wpe' is
disabled (don't even check for wpe-webkit-1.1).

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1668>

subprojects/gst-plugins-bad/ext/wpe/meson.build

index 7637cb2..7d7edcf 100644 (file)
@@ -1,31 +1,33 @@
+wpe_feat = get_option('wpe').require(gstgl_dep.found(),
+  error_message : 'wpe plugin enabled but GL support was not detected')
 
-if not gstgl_dep.found()
-  if get_option('wpe').enabled()
-    error('wpe plugin enabled but GL support was not detected')
-  endif
+if not wpe_feat.allowed()
   subdir_done()
 endif
 
 wpe_dep = dependency('wpe-webkit-1.1', version : '>= 2.28', required : false)
 if not wpe_dep.found()
-  wpe_dep = dependency('wpe-webkit-1.0', version : '>= 2.28', required : get_option('wpe'))
+  wpe_dep = dependency('wpe-webkit-1.0', version : '>= 2.28', required : wpe_feat)
 endif
-wpe_fdo_dep = dependency('wpebackend-fdo-1.0', version : '>= 1.8', required : get_option('wpe'))
-egl_dep = dependency('egl', required : get_option('wpe'))
-xkbcommon_dep = dependency('xkbcommon', version : '>= 0.8', required : get_option('wpe'))
-wl_server_dep = dependency('wayland-server', required : get_option('wpe'))
+wpe_fdo_dep = dependency('wpebackend-fdo-1.0', version : '>= 1.8', required : wpe_feat)
+egl_dep = dependency('egl', required : wpe_feat)
+xkbcommon_dep = dependency('xkbcommon', version : '>= 0.8', required : wpe_feat)
+wl_server_dep = dependency('wayland-server', required : wpe_feat)
 
-if not wpe_dep.found() or not wpe_fdo_dep.found() or not egl_dep.found() or not xkbcommon_dep.found()
+if not (wpe_dep.found() and wpe_fdo_dep.found() and egl_dep.found() and xkbcommon_dep.found())
   subdir_done()
 endif
 
+giounix_dep = dependency('gio-unix-2.0', required: false)
+
 wpe_extension_install_dir = get_option('prefix') / get_option('libdir') / meson.project_name() / 'wpe-extension'
 
-giounix_dep = dependency('gio-unix-2.0', required: false)
 gstwpe = library('gstwpe',
   ['WPEThreadedView.cpp', 'gstwpe.cpp', 'gstwpevideosrc.cpp', 'gstwpesrcbin.cpp'],
-  dependencies : [egl_dep, wpe_dep, wpe_fdo_dep, gstallocators_dep, gstaudio_dep, gstvideo_dep, gstbase_dep, gstgl_dep, xkbcommon_dep, wl_server_dep, giounix_dep],
-  cpp_args : gst_plugins_bad_args + ['-DHAVE_CONFIG_H=1', '-DWPE_EXTENSION_INSTALL_DIR=' + wpe_extension_install_dir],
+  dependencies : [egl_dep, wpe_dep, wpe_fdo_dep, gstallocators_dep, gstaudio_dep, gstvideo_dep,
+    gstbase_dep, gstgl_dep, xkbcommon_dep, wl_server_dep, giounix_dep],
+  cpp_args : gst_plugins_bad_args + ['-DHAVE_CONFIG_H=1',
+    '-DWPE_EXTENSION_INSTALL_DIR=' + wpe_extension_install_dir],
   include_directories : [configinc],
   install : true,
   install_dir : plugins_install_dir)
@@ -33,5 +35,6 @@ gstwpe = library('gstwpe',
 if giounix_dep.found()
   subdir('wpe-extension')
 endif
+
 pkgconfig.generate(gstwpe, install_dir : plugins_pkgconfig_install_dir)
 plugins += [gstwpe]