X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fmeson.build;h=b22c2adda76202b814fe54c9bd59ade71ce257d2;hb=6496922368fe03be9ab4137f2d615dba1a766f39;hp=d9e331ec85cba8a0fa73c508706c72272513c2ed;hpb=1539acc20a63ec36d1045cdc2e1ae0e6fd0499a2;p=dpdk.git diff --git a/drivers/meson.build b/drivers/meson.build index d9e331ec85..b22c2adda7 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) @@ -238,7 +246,15 @@ foreach subpath:subdirs set_variable('shared_@0@'.format(lib_name), shared_dep) set_variable('static_@0@'.format(lib_name), static_dep) + # for drivers, we only need to add dependency objects for static libs, + # shared lib drivers are not linked in + dpdk_static_lib_deps += 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))