[PATCH v2 2/2] build: add backward compatibility for wildcarding nested drivers

Kevin Traynor ktraynor at redhat.com
Wed Sep 24 14:34:22 CEST 2025


Up until DPDK 25.03 'net/*' could be used with meson options
enable_drivers or disable_drivers to explicitly enable or
disable all net drivers.

In DPDK 25.03 commit
c1d145834f28 ("net/intel: move Intel drivers to a subdirectory")
moved Intel drivers to 'net/intel/*' and 'net/*' no longer enabled
or disabled the Intel drivers.

Enable recursive wildcard pattern '**' and expand wildcard
handling to include nested drivers. e.g. 'net/*' will also
enable/disable drivers in 'net/*/*'

This adds backward compatibility so that so that 'net/*' will
continue to enable/disable Intel and any future nested drivers.

Fixes: c1d145834f28 ("net/intel: move Intel drivers to a subdirectory")

Signed-off-by: Kevin Traynor <ktraynor at redhat.com>
---
 buildtools/list-dir-globs.py | 2 +-
 drivers/meson.build          | 5 ++++-
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/buildtools/list-dir-globs.py b/buildtools/list-dir-globs.py
index fb8619db64..a8a3926d49 100755
--- a/buildtools/list-dir-globs.py
+++ b/buildtools/list-dir-globs.py
@@ -16,5 +16,5 @@
 for path in sys.argv[1].split(','):
     if path:
-        for p in iglob(os.path.join(root, path)):
+        for p in iglob(os.path.join(root, path), recursive=True):
             if os.path.isdir(p):
                 print(os.path.relpath(p, start=root).replace('\\', '/'))
diff --git a/drivers/meson.build b/drivers/meson.build
index 2f32a8559f..7163b5ddf1 100644
--- a/drivers/meson.build
+++ b/drivers/meson.build
@@ -57,4 +57,7 @@ foreach driver_option : ['disable_drivers', 'enable_drivers']
             # use new name instead of legacy name
             driver = driver_map[driver]
+        elif driver.endswith('/*')
+            # make wildcard recursive to include nested drivers
+            driver = driver + '*'
         endif
         if driver_option == 'disable_drivers'
@@ -71,5 +74,5 @@ require_drivers = true
 if enable_drivers.length() == 0
     require_drivers = false
-    enable_drivers = run_command(list_dir_globs, '*/*,*/*/*', check: true).stdout().split()
+    enable_drivers = run_command(list_dir_globs, '**', check: true).stdout().split()
 endif
 
-- 
2.51.0



More information about the dev mailing list