build: improve error message for missing dependency

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 <bruce.richardson@intel.com>
This commit is contained in:
Bruce Richardson 2018-07-20 14:28:25 +01:00 committed by Thomas Monjalon
parent c49825f895
commit 203b61dc5e
2 changed files with 8 additions and 0 deletions

View File

@ -61,6 +61,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

View File

@ -71,6 +71,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