X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fmeson.build;h=34c0276487bd8149c0be630c578e8a79e93e9827;hb=07baabb6a51a2d6a8cfcdc52acee2ce629f5c22e;hp=f90330b5a3e4345f1f8af32b5d8cca7e879e4828;hpb=6f8a1a459145c295cb515bd3f5794e12c811a3ee;p=dpdk.git diff --git a/drivers/meson.build b/drivers/meson.build index f90330b5a3..34c0276487 100644 --- a/drivers/meson.build +++ b/drivers/meson.build @@ -3,37 +3,38 @@ # Defines the order of dependencies evaluation subdirs = [ - 'common', - 'bus', - 'common/cnxk', # depends on bus. - 'common/mlx5', # depends on bus. - 'common/qat', # depends on bus. - 'common/sfc_efx', # depends on bus. - 'mempool', # depends on common and bus. - 'net', # depends on common, bus, mempool - 'raw', # depends on common, bus 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. + 'common', + 'bus', + 'common/cnxk', # depends on bus. + 'common/mlx5', # depends on bus. + '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, 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. ] if meson.is_cross_build() - disable_drivers += ',' + meson.get_cross_property('disable_drivers', '') - enable_drivers += ',' + meson.get_cross_property('enable_drivers', '') + disable_drivers += ',' + meson.get_cross_property('disable_drivers', '') + enable_drivers += ',' + meson.get_cross_property('enable_drivers', '') endif # add cmdline disabled drivers and meson disabled drivers together disable_drivers += ',' + get_option('disable_drivers') -disable_drivers = run_command(list_dir_globs, disable_drivers).stdout().split() +disable_drivers = run_command(list_dir_globs, disable_drivers, check: true).stdout().split() # add cmdline enabled drivers and meson enabled drivers together enable_drivers = ',' + get_option('enable_drivers') -enable_drivers = run_command(list_dir_globs, enable_drivers).stdout().split() +enable_drivers = run_command(list_dir_globs, enable_drivers, check: true).stdout().split() if enable_drivers.length() == 0 - enable_drivers = run_command(list_dir_globs, '*/*').stdout().split() + enable_drivers = run_command(list_dir_globs, '*/*', check: true).stdout().split() endif # these drivers must always be enabled, otherwise the build breaks @@ -45,12 +46,13 @@ default_cflags += ['-DALLOW_EXPERIMENTAL_API'] default_cflags += ['-DALLOW_INTERNAL_API'] if cc.has_argument('-Wno-format-truncation') - default_cflags += '-Wno-format-truncation' + default_cflags += '-Wno-format-truncation' endif foreach subpath:subdirs drivers = [] std_deps = [] + log_prefix = '' # subpath can be either "class" or "class/driver" if subpath.contains('/') @@ -69,6 +71,12 @@ foreach subpath:subdirs # get already enabled drivers of the same class enabled_drivers = get_variable(class + '_drivers', []) + # default log prefix can be defined per class + if log_prefix == '' + # default log name is pmd.class.driver + log_prefix = 'pmd.' + class + endif + foreach drv:drivers drv_path = join_paths(class, drv) @@ -102,16 +110,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) @@ -137,6 +148,7 @@ foreach subpath:subdirs enabled_drivers += name lib_name = '_'.join(['rte', class, name]) + cflags += '-DRTE_LOG_DEFAULT_LOGTYPE=' + '.'.join([log_prefix, name]) dpdk_conf.set(lib_name.to_upper(), 1) dpdk_extra_ldflags += pkgconfig_extra_libs @@ -152,7 +164,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,