X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fmeson.build;h=4daa2658b76362ddddc7e71ef8a7cc38d204b394;hb=5933c656b972441718d65275c6bdbec24ee71f9e;hp=bc6f4f567fe268d4dfea7dd2c33b1582afed7d71;hpb=eeded2044af5bbe88220120b14933536cbb3edb6;p=dpdk.git diff --git a/drivers/meson.build b/drivers/meson.build index bc6f4f567f..4daa2658b7 100644 --- a/drivers/meson.build +++ b/drivers/meson.build @@ -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 @@ -98,6 +102,7 @@ foreach subpath:subdirs # static builds. ext_deps = [] pkgconfig_extra_libs = [] + testpmd_sources = [] if not enable_drivers.contains(drv_path) build = false @@ -109,16 +114,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 +168,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, @@ -239,6 +247,10 @@ foreach subpath:subdirs set_variable('shared_@0@'.format(lib_name), shared_dep) set_variable('static_@0@'.format(lib_name), static_dep) dependency_name = ''.join(lib_name.split('rte_')) + if testpmd_sources.length() != 0 + testpmd_drivers_sources += testpmd_sources + testpmd_drivers_deps += dependency_name + endif if developer_mode message('drivers/@0@: Defining dependency "@1@"'.format( drv_path, dependency_name))