When building a driver or library and a required internal dependency
is missing, the error message printed was:
Tried to get unknown variable "shared_rte_<libname>".
However, a better way to handle this is to catch the missing variable
earlier and convert it into a proper message, informing the user
that the required dependency is missing, and most importantly, what
library or driver wanted that dependency.
Signed-off-by: Bruce Richardson <[email protected]>
---
drivers/meson.build | 4 ++++
lib/meson.build | 4 ++++
2 files changed, 8 insertions(+)
diff --git a/drivers/meson.build b/drivers/meson.build
index 82cc8ed49..f94e2fe67 100644
--- a/drivers/meson.build
+++ b/drivers/meson.build
@@ -62,6 +62,10 @@ foreach class:driver_classes
shared_objs = []
static_objs = []
foreach d:deps
+ if not is_variable('shared_rte_' + d)
+ error('Missing dependency ' + d +
+ ' for driver ' + lib_name)
+ endif
shared_objs += [get_variable('shared_rte_' + d)]
static_objs += [get_variable('static_rte_' + d)]
endforeach
diff --git a/lib/meson.build b/lib/meson.build
index 4384813f8..71f35d162 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -69,6 +69,10 @@ foreach l:libraries
shared_deps = ext_deps
static_deps = ext_deps
foreach d:deps
+ if not is_variable('shared_rte_' + d)
+ error('Missing dependency ' + d +
+ ' for library ' + lib_name)
+ endif
shared_deps += [get_variable('shared_rte_' + d)]
static_deps += [get_variable('static_rte_' + d)]
endforeach
--
2.17.0