[dpdk-dev] [PATCH] devtools/test-meson-builds: allow custom set of examples

David Marchand david.marchand at redhat.com
Mon Nov 9 11:01:50 CET 2020


On Tue, Oct 27, 2020 at 6:39 PM Bruce Richardson
<bruce.richardson at intel.com> wrote:
>
> 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 at 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
>

I had something similar in store for a while, happy to get a better fix.
Acked-by: David Marchand <david.marchand at redhat.com>

Caught more issues when compiling examples externally, I will send
fixes on kni, l2fwd-crypto, vhost and vhost_blk.


-- 
David Marchand



More information about the dev mailing list