From 49e7a554f2814e324b96db45daf8856ea7da0804 Mon Sep 17 00:00:00 2001 From: Maxime Leroy Date: Mon, 22 Dec 2025 22:56:32 +0100 Subject: [PATCH] package/dpdk: make apps selectable Add BR2_PACKAGE_DPDK_APPS_LIST to control which DPDK applications are built: - empty : use DPDK defaults - none : disable all apps (-Ddisable_apps='*') - list : pass to -Denable_apps= (comma-separated) Signed-off-by: Maxime Leroy Signed-off-by: Julien Olivain --- package/dpdk/Config.in | 21 +++++++++++++++++++++ package/dpdk/dpdk.mk | 9 +++++++++ 2 files changed, 30 insertions(+) diff --git a/package/dpdk/Config.in b/package/dpdk/Config.in index 4e83f293ae..b658145e5b 100644 --- a/package/dpdk/Config.in +++ b/package/dpdk/Config.in @@ -85,6 +85,27 @@ config BR2_PACKAGE_DPDK_LIBS_LIST Buildroot packages for external dependencies. DPDK configuration will fail in case of missing dependencies. +config BR2_PACKAGE_DPDK_APPS_LIST + string "List of enabled applications" + help + Controls which DPDK applications are built. + + Values: + (empty): use DPDK defaults + none : build no apps + list : e.g. "test-cmdline,test-pmd" + + To list all applications found in the DPDK source tree: + find app -mindepth 2 -maxdepth 2 -type f -name meson.build \ + -printf '%h\n' | xargs -n1 basename | sort -u + + Note: providing manually a list of dpdk libraries to enable + does not automatically enable its dependencies (internal or + external). It is the user responsiblity to add internal dpdk + dependencies in this list, and/or select the relevant + Buildroot packages for external dependencies. DPDK + configuration will fail in case of missing dependencies. + endif comment "dpdk needs a glibc toolchain w/ threads, gcc >= 4.9, headers >= 4.19" diff --git a/package/dpdk/dpdk.mk b/package/dpdk/dpdk.mk index d0c7caaa48..080f924329 100644 --- a/package/dpdk/dpdk.mk +++ b/package/dpdk/dpdk.mk @@ -65,6 +65,15 @@ ifneq ($(DPDK_LIBS),) endif endif +DPDK_APPS := $(call qstrip,$(BR2_PACKAGE_DPDK_APPS_LIST)) +ifneq ($(DPDK_APPS),) + ifeq ($(DPDK_APPS),none) + DPDK_CONF_OPTS += -Ddisable_apps='*' + else + DPDK_CONF_OPTS += -Denable_apps='$(DPDK_APPS)' + endif +endif + ifeq ($(BR2_PACKAGE_DPDK_TESTS),y) DPDK_CONF_OPTS += -Dtests=true else