devtools: allow custom set of examples in build test
authorBruce Richardson <bruce.richardson@intel.com>
Tue, 27 Oct 2020 17:38:36 +0000 (17:38 +0000)
committerThomas Monjalon <thomas@monjalon.net>
Thu, 12 Nov 2020 15:37:39 +0000 (16:37 +0100)
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.richardson@intel.com>
Acked-by: David Marchand <david.marchand@redhat.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
devtools/test-meson-builds.sh

index af750b3..3ce4936 100755 (executable)
@@ -264,10 +264,13 @@ if [ -z "$DPDK_ABI_REF_VERSION" ]; then
 fi
 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=${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; do
                echo "## Building $example"
                $MAKE -C $DESTDIR/usr/local/share/dpdk/examples/$example \
                        clean shared static >&$veryverbose