build: introduce deprecated libraries

Add support for a list of deprecated libs to the lib/meson.build file.
This will be used to mark libraries that are planned to be removed from
DPDK. The first user of this will be KNI in a next patch.

Deprecated libraries should still be tested in the CI, so update our
build testing and CI scripts.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Signed-off-by: David Marchand <david.marchand@redhat.com>
This commit is contained in:
Bruce Richardson 2022-10-10 11:44:46 +01:00 committed by David Marchand
parent 909ad7b80e
commit dfd5b25b57
5 changed files with 20 additions and 0 deletions

View File

@ -107,6 +107,8 @@ OPTS="$OPTS -Dcheck_includes=true"
if [ "$MINI" = "true" ]; then
OPTS="$OPTS -Denable_drivers=net/null"
OPTS="$OPTS -Ddisable_libs=*"
else
OPTS="$OPTS -Ddisable_libs="
fi
if [ "$ASAN" = "true" ]; then

View File

@ -109,6 +109,11 @@ config () # <dir> <builddir> <meson options>
return
fi
options=
# deprecated libs may be disabled by default, so for complete builds ensure
# no libs are disabled
if ! echo $* | grep -q -- 'disable_libs' ; then
options="$options -Ddisable_libs="
fi
if echo $* | grep -qw -- '--default-library=shared' ; then
options="$options -Dexamples=all"
else

View File

@ -139,6 +139,9 @@ foreach subpath:subdirs
if not is_variable('shared_rte_' + d)
build = false
reason = 'missing internal dependency, "@0@"'.format(d)
if dpdk_libs_deprecated.contains(d)
reason += ' (deprecated lib)'
endif
message('Disabling @1@ [@2@]: missing internal dependency "@0@"'
.format(d, name, 'drivers/' + drv_path))
else

View File

@ -136,7 +136,13 @@ foreach l:libraries
if disabled_libs.contains(l)
build = false
reason = 'explicitly disabled via build config'
if dpdk_libs_deprecated.contains(l)
reason += ' (deprecated lib)'
endif
else
if dpdk_libs_deprecated.contains(l)
warning('Enabling deprecated library, "@0@"'.format(l))
endif
subdir(l)
endif
if name != l
@ -152,6 +158,9 @@ foreach l:libraries
if not is_variable('shared_rte_' + d)
build = false
reason = 'missing internal dependency, "@0@"'.format(d)
if dpdk_libs_deprecated.contains(d)
reason += ' (deprecated lib)'
endif
message('Disabling @1@ [@2@]: missing internal dependency "@0@"'
.format(d, name, 'lib/' + l))
else

View File

@ -40,6 +40,7 @@ dpdk_chkinc_headers = []
dpdk_driver_classes = []
dpdk_drivers = []
dpdk_extra_ldflags = []
dpdk_libs_deprecated = []
dpdk_libs_disabled = []
dpdk_drvs_disabled = []
testpmd_drivers_sources = []