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.richard...@intel.com>
---
 drivers/meson.build |  5 +++++
 lib/meson.build     |  3 +++
 meson.build         | 31 +++++++++++++++++++++++++++++++
 3 files changed, 39 insertions(+)

diff --git a/drivers/meson.build b/drivers/meson.build
index f94e2fe67..b6ce974de 100644
--- a/drivers/meson.build
+++ b/drivers/meson.build
@@ -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
diff --git a/lib/meson.build b/lib/meson.build
index 71f35d162..3acc67e6e 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -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)
 
diff --git a/meson.build b/meson.build
index 84af32ece..7332e75b5 100644
--- a/meson.build
+++ b/meson.build
@@ -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')
-- 
2.11.0

Reply via email to