build: add configuration summary at end of config

After running meson to configure a DPDK build, it can be useful to know
what was automatically enabled or disabled. Therefore, print out by way of
summary a categorised list of libraries and drivers to be built.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
This commit is contained in:
Bruce Richardson 2018-08-29 17:19:20 +01:00 committed by Thomas Monjalon
parent 34b3d7a4a4
commit 806c45dd48
3 changed files with 39 additions and 0 deletions

View File

@ -24,6 +24,7 @@ foreach class:driver_classes
# version file for linking
subdir(class)
class_drivers = []
foreach drv:drivers
drv_path = join_paths(class, drv)
@ -51,6 +52,8 @@ foreach class:driver_classes
subdir(drv_path)
if build
class_drivers += name
dpdk_conf.set(config_flag_fmt.format(name.to_upper()),1)
lib_name = driver_name_fmt.format(name)
@ -141,4 +144,6 @@ foreach class:driver_classes
set_variable('static_@0@'.format(lib_name), static_dep)
endif # build
endforeach
set_variable(class + '_drivers', class_drivers)
endforeach

View File

@ -30,6 +30,8 @@ default_cflags = machine_args
if cc.has_argument('-Wno-format-truncation')
default_cflags += '-Wno-format-truncation'
endif
enabled_libs = [] # used to print summary at the end
foreach l:libraries
build = true
name = l
@ -55,6 +57,7 @@ foreach l:libraries
subdir(dir_name)
if build
enabled_libs += name
dpdk_conf.set('RTE_LIBRTE_' + name.to_upper(), 1)
install_headers(headers)

View File

@ -73,3 +73,34 @@ pkg.generate(name: meson.project_name(),
subdirs: [get_option('include_subdir_arch'), '.'],
extra_cflags: ['-include', 'rte_config.h'] + machine_args
)
# final output, list all the libs and drivers to be built
# this does not affect any part of the build, for information only.
output_message = '\n=================\nLibraries Enabled\n=================\n'
output_message += '\nlibs:\n\t'
output_count = 0
foreach lib:enabled_libs
output_message += lib + ', '
output_count += 1
if output_count == 8
output_message += '\n\t'
output_count = 0
endif
endforeach
message(output_message + '\n')
output_message = '\n===============\nDrivers Enabled\n===============\n'
foreach class:driver_classes
class_drivers = get_variable(class + '_drivers')
output_message += '\n' + class + ':\n\t'
output_count = 0
foreach drv:class_drivers
output_message += drv + ', '
output_count += 1
if output_count == 8
output_message += '\n\t'
output_count = 0
endif
endforeach
endforeach
message(output_message + '\n')