'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()
# 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
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)
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,