build: add configuration summary at end of config
authorBruce Richardson <bruce.richardson@intel.com>
Wed, 29 Aug 2018 16:19:20 +0000 (17:19 +0100)
committerThomas Monjalon <thomas@monjalon.net>
Mon, 17 Sep 2018 11:58:40 +0000 (13:58 +0200)
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>
drivers/meson.build
lib/meson.build
meson.build

index f94e2fe..b6ce974 100644 (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
index 71f35d1..3acc67e 100644 (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)
 
index 84af32e..7332e75 100644 (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')