common/cnxk: convert warning to debug print
[dpdk.git] / drivers / meson.build
index bc6f4f5..1d8123b 100644 (file)
@@ -10,14 +10,16 @@ subdirs = [
         'common/qat',     # depends on bus.
         'common/sfc_efx', # depends on bus.
         'mempool',        # depends on common and bus.
+        'dma',            # depends on common and bus.
         'net',            # depends on common, bus, mempool
-        'raw',            # depends on common, bus and net.
+        'raw',            # depends on common, bus, dma and net.
         'crypto',         # depends on common, bus and mempool (net in future).
         'compress',       # depends on common, bus, mempool.
         'regex',          # depends on common, bus, regexdev.
         'vdpa',           # depends on common, bus and mempool.
         'event',          # depends on common, bus, mempool and net.
         'baseband',       # depends on common and bus.
+        'gpu',            # depends on common and bus.
 ]
 
 if meson.is_cross_build()
@@ -38,6 +40,8 @@ endif
 
 # these drivers must always be enabled, otherwise the build breaks
 always_enable = ['bus/pci', 'bus/vdev']
+# we always need a mempool driver, and ring is default, so make it mandatory
+always_enable += ['mempool/ring']
 enable_drivers += always_enable
 
 default_cflags = machine_args
@@ -109,16 +113,19 @@ foreach subpath:subdirs
                 build = false
                 reason = 'explicitly disabled via build config'
             endif
-        else
-            # pull in driver directory which should update all the local variables
-            subdir(drv_path)
         endif
 
         if build
+            # pull in driver directory which should update all the local variables
+            subdir(drv_path)
+
             # get dependency objs from strings
             shared_deps = ext_deps
             static_deps = ext_deps
             foreach d:deps
+                if not build
+                    break
+                endif
                 if not is_variable('shared_rte_' + d)
                     build = false
                     reason = 'missing internal dependency, "@0@"'.format(d)
@@ -160,7 +167,7 @@ foreach subpath:subdirs
                 include_directories: includes,
                 dependencies: static_deps,
                 c_args: cflags)
-        objs += tmp_lib.extract_all_objects()
+        objs += tmp_lib.extract_all_objects(recursive: true)
         sources = custom_target(out_filename,
                 command: [pmdinfo, tmp_lib.full_path(), '@OUTPUT@', pmdinfogen],
                 output: out_filename,