build: process dependencies before main build check
If we want to add support for turning off components because of missing dependencies, then we need to check for those dependencies before we make a determination as to whether a component should be built or not, assuming that the component says it should be built. Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Luca Boccassi <bluca@debian.org> Acked-by: Maxime Coquelin <maxime.coquelin@redhat.com>
This commit is contained in:
parent
e162b8e910
commit
7f8f7f4d0a
@ -59,6 +59,20 @@ foreach class:dpdk_driver_classes
|
||||
# pull in driver directory which should assign to each of the above
|
||||
subdir(drv_path)
|
||||
|
||||
if build
|
||||
# get dependency objs from strings
|
||||
shared_deps = ext_deps
|
||||
static_deps = ext_deps
|
||||
foreach d:deps
|
||||
if not is_variable('shared_rte_' + d)
|
||||
error('Missing internal dependency "@0@" for @1@ [@2@]'
|
||||
.format(d, name, 'drivers/' + drv_path))
|
||||
endif
|
||||
shared_deps += [get_variable('shared_rte_' + d)]
|
||||
static_deps += [get_variable('static_rte_' + d)]
|
||||
endforeach
|
||||
endif
|
||||
|
||||
if not build
|
||||
# some driver directories are placeholders which
|
||||
# are never built, so we allow suppression of the
|
||||
@ -78,19 +92,6 @@ foreach class:dpdk_driver_classes
|
||||
cflags += '-DALLOW_EXPERIMENTAL_API'
|
||||
endif
|
||||
|
||||
# get dependency objs from strings
|
||||
shared_deps = []
|
||||
static_deps = []
|
||||
foreach d:deps
|
||||
if not is_variable('shared_rte_' + d)
|
||||
error('Missing dependency ' + d +
|
||||
' for driver ' + lib_name)
|
||||
endif
|
||||
shared_deps += [get_variable('shared_rte_' + d)]
|
||||
static_deps += [get_variable('static_rte_' + d)]
|
||||
endforeach
|
||||
shared_deps += ext_deps
|
||||
static_deps += ext_deps
|
||||
dpdk_extra_ldflags += pkgconfig_extra_libs
|
||||
|
||||
# generate pmdinfo sources by building a temporary
|
||||
|
@ -66,6 +66,19 @@ foreach l:libraries
|
||||
dir_name = 'librte_' + l
|
||||
subdir(dir_name)
|
||||
|
||||
if build
|
||||
shared_deps = ext_deps
|
||||
static_deps = ext_deps
|
||||
foreach d:deps
|
||||
if not is_variable('shared_rte_' + d)
|
||||
error('Missing internal dependency "@0@" for @1@ [@2@]'
|
||||
.format(d, name, 'lib/' + dir_name))
|
||||
endif
|
||||
shared_deps += [get_variable('shared_rte_' + d)]
|
||||
static_deps += [get_variable('static_rte_' + d)]
|
||||
endforeach
|
||||
endif
|
||||
|
||||
if not build
|
||||
dpdk_libs_disabled += name
|
||||
set_variable(name.underscorify() + '_disable_reason', reason)
|
||||
@ -82,16 +95,6 @@ foreach l:libraries
|
||||
shared_dep = declare_dependency(include_directories: includes)
|
||||
static_dep = shared_dep
|
||||
else
|
||||
shared_deps = ext_deps
|
||||
static_deps = ext_deps
|
||||
foreach d:deps
|
||||
if not is_variable('shared_rte_' + d)
|
||||
error('Missing dependency ' + d +
|
||||
' for library ' + libname)
|
||||
endif
|
||||
shared_deps += [get_variable('shared_rte_' + d)]
|
||||
static_deps += [get_variable('static_rte_' + d)]
|
||||
endforeach
|
||||
|
||||
if allow_experimental_apis
|
||||
cflags += '-DALLOW_EXPERIMENTAL_API'
|
||||
|
Loading…
Reference in New Issue
Block a user