To test the installation process of DPDK using "ninja install" test-meson-builds.sh builds a subset of the examples using "make". To allow more flexibility for people testing, allow the set of examples chosen for this make test to be overridden using variable "DPDK_BUILD_TEST_EXAMPLES" in the environment.
Since a number of example apps link against drivers directly even for shared builds, we need to ensure that LD_LIBRARY_PATH points to the main DPDK lib folder so any dependencies of those drivers can be found e.g. that the PCI/vdev bus driver .so is found. [All drivers are symlinked from drivers dir back to lib dir on install, so only one dir rather than two is needed in the path.] Signed-off-by: Bruce Richardson <bruce.richard...@intel.com> --- devtools/test-meson-builds.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/devtools/test-meson-builds.sh b/devtools/test-meson-builds.sh index a87de635a2..b9cde5b366 100755 --- a/devtools/test-meson-builds.sh +++ b/devtools/test-meson-builds.sh @@ -238,11 +238,15 @@ fi load_env cc pc_file=$(find $DESTDIR -name libdpdk.pc) export PKG_CONFIG_PATH=$(dirname $pc_file):$PKG_CONFIG_PATH +libdir=$(dirname $(find $DESTDIR -name librte_eal.so)) +export LD_LIBRARY_PATH=$libdir:$LD_LIBRARY_PATH + +examples_to_test=${DPDK_BUILD_TEST_EXAMPLES:-"cmdline helloworld l2fwd l3fwd skeleton timer"} # if pkg-config defines the necessary flags, test building some examples if pkg-config --define-prefix libdpdk >/dev/null 2>&1; then export PKGCONF="pkg-config --define-prefix" - for example in cmdline helloworld l2fwd l3fwd skeleton timer; do + for example in $examples_to_test; do echo "## Building $example" $MAKE -C $DESTDIR/usr/local/share/dpdk/examples/$example clean shared static done -- 2.25.1