meson: fix ladspa dependencies
authorPatrik Nilsson <asavartzeth@gmail.com>
Mon, 5 Mar 2018 16:43:26 +0000 (17:43 +0100)
committerSebastian Dröge <sebastian@centricular.com>
Thu, 22 Mar 2018 07:50:50 +0000 (09:50 +0200)
There are two issues, both related to dependency checking with the meson
support for the ladspa plugin.

With autotools, lrdf is handled like an optional dependency. But with
meson it is required. This makes the meson support less flexible and
inconsistent with autotools.

When autotools is used it properly checks if ladspa.h is available.
But with meson it does not, instead it treats lrdf as the main
dependency. This could cause a build failure if lrdf is installed, but
the ladspa sdk is not.

https://bugzilla.gnome.org/show_bug.cgi?id=794350

ext/ladspa/meson.build

index c0469ac..b8a3ca0 100644 (file)
@@ -6,14 +6,20 @@ ladspa_sources = [
   'gstladspautils.c',
 ]
 
-ladspa_dep = dependency('lrdf', required : false)
-if ladspa_dep.found()
-  gstrsvg = library('gstladspa',
+ladspa_cargs = []
+
+lrdf_dep = dependency('lrdf', required : false)
+if lrdf_dep.found()
+  ladspa_cargs = ['-DHAVE_LRDF']
+endif
+
+if cc.has_header('ladspa.h')
+  gstladspa = library('gstladspa',
     ladspa_sources,
-    c_args : gst_plugins_bad_args,
+    c_args : gst_plugins_bad_args + ladspa_cargs,
     link_args : noseh_link_args,
     include_directories : [configinc, libsinc],
-    dependencies : [gstaudio_dep, gstbase_dep, gmodule_dep, ladspa_dep, mathlib],
+    dependencies : [gstaudio_dep, gstbase_dep, gmodule_dep, mathlib],
     install : true,
     install_dir : plugins_install_dir,
   )