[dpdk-dev] [PATCH 09/10] devtools: compile all examples with pkg-config

David Marchand david.marchand at redhat.com
Tue Nov 10 16:12:18 CET 2020


Compiling examples out of meson must be tested so that those examples
Makefile work.
This is based on Bruce patch [1], waiting for it (or an equivalent) to be
merged.

1: https://patchwork.dpdk.org/patch/82361/

Signed-off-by: David Marchand <david.marchand at redhat.com>
---
 devtools/test-meson-builds.sh | 28 +++++++++++++++++++++++++++-
 1 file changed, 27 insertions(+), 1 deletion(-)

diff --git a/devtools/test-meson-builds.sh b/devtools/test-meson-builds.sh
index 0c95d1cc98..8e26d0808d 100755
--- a/devtools/test-meson-builds.sh
+++ b/devtools/test-meson-builds.sh
@@ -268,7 +268,33 @@ export PKG_CONFIG_PATH=$(dirname $pc_file):$PKG_CONFIG_PATH
 # 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
+	export LD_LIBRARY_PATH=$(dirname $(find $DESTDIR -name librte_eal.so)):$LD_LIBRARY_PATH
+	examples_to_test=${DPDK_BUILD_TEST_EXAMPLES:-}
+	if [ -z "$examples_to_test" ]; then
+		##################
+		# FIXME examples #
+		##################
+		skipped=""
+		# Relies on librte_power internal header
+		skipped="$skipped guest_cli vm_power_manager"
+		# Expects libqos
+		skipped="$skipped l2fwd-cat"
+		# performance-thread/{l3fwd-thread,pthread_shim} expect common .mk
+		skipped="$skipped l3fwd-thread pthread_shim"
+		# client_server_mp/{mp_server,mp_client} expect common headers
+		skipped="$skipped mp_client mp_server"
+		# server_node_efd/{node,server} expect common headers
+		skipped="$skipped node server"
+		# waiting for fixes
+		skipped="$skipped vhost"
+		for mk in $DESTDIR/usr/local/share/dpdk/examples/*/Makefile; do
+			name=$(basename $(dirname $mk))
+			[ "$skipped" = "${skipped/ $name}" ] ||
+				continue
+			examples_to_test="$examples_to_test $name"
+		done
+	fi
+	for example in $examples_to_test; do
 		echo "## Building $example"
 		$MAKE -C $DESTDIR/usr/local/share/dpdk/examples/$example clean shared static
 	done
-- 
2.23.0



More information about the dev mailing list