Add additional info into the DPDK-specific logs by copying or replacing all
"message()" calls with writes to the log file, making the build
configuration, including lists of enabled/disabled drivers etc. available
after the meson run has completed.

Signed-off-by: Bruce Richardson <bruce.richard...@intel.com>
---
 app/test/meson.build   | 2 +-
 config/arm/meson.build | 2 ++
 config/x86/meson.build | 2 ++
 drivers/meson.build    | 6 ++++--
 examples/meson.build   | 1 +
 lib/meson.build        | 5 +++--
 meson.build            | 6 ++++++
 7 files changed, 19 insertions(+), 5 deletions(-)

diff --git a/app/test/meson.build b/app/test/meson.build
index 8bfb02890..b2d90cfd8 100644
--- a/app/test/meson.build
+++ b/app/test/meson.build
@@ -439,7 +439,7 @@ dpdk_test = executable('dpdk-test',
        install: true)
 
 has_hugepage = run_command('has-hugepage.sh').stdout().strip() != '0'
-message('hugepage availability: @0@'.format(has_hugepage))
+run_command(log, 'hugepage availability: @0@'.format(has_hugepage))
 
 # some perf tests (eg: memcpy perf autotest)take very long
 # to complete, so timeout to 10 minutes
diff --git a/config/arm/meson.build b/config/arm/meson.build
index b49203fa8..31ac79480 100644
--- a/config/arm/meson.build
+++ b/config/arm/meson.build
@@ -182,6 +182,7 @@ else
        endforeach
 
        message('Implementer : ' + machine[0])
+       run_command(log, 'config/arm/meson.build: Implementer = ' + machine[0])
        foreach flag: machine[1]
                if flag.length() > 0
                        dpdk_conf.set(flag[0], flag[1])
@@ -205,6 +206,7 @@ else
        endforeach
 endif
 message(machine_args)
+run_command(log, 'config/arm/meson.build: machine_args = ', machine_args)
 
 if (cc.get_define('__ARM_NEON', args: machine_args) != '' or
     cc.get_define('__aarch64__', args: machine_args) != '')
diff --git a/config/x86/meson.build b/config/x86/meson.build
index 31bfa63b1..0008717b8 100644
--- a/config/x86/meson.build
+++ b/config/x86/meson.build
@@ -13,6 +13,8 @@ endif
 # we require SSE4.2 for DPDK
 if cc.get_define('__SSE4_2__', args: machine_args) == ''
        message('SSE 4.2 not enabled by default, explicitly enabling')
+       run_command(log, 'config/x86/meson.build:',
+                       'SSE 4.2 not enabled by default, explicitly enabling')
        machine_args += '-msse4'
 endif
 
diff --git a/drivers/meson.build b/drivers/meson.build
index c008abd4a..fd925114e 100644
--- a/drivers/meson.build
+++ b/drivers/meson.build
@@ -90,8 +90,10 @@ foreach subpath:subdirs
                                if not is_variable('shared_rte_' + d)
                                        build = false
                                        reason = 'Missing internal dependency, 
"@0@"'.format(d)
-                                       message('Disabling @1@ [@2@]: missing 
internal dependency "@0@"'
-                                                       .format(d, name, 
'drivers/' + drv_path))
+                                       log_msg = 'Disabling @1@ [@2@]: missing 
internal dependency "@0@"'.format(
+                                               d, name, 'drivers/' + drv_path)
+                                       message(log_msg)
+                                       run_command(log, log_msg)
                                else
                                        shared_deps += 
[get_variable('shared_rte_' + d)]
                                        static_deps += 
[get_variable('static_rte_' + d)]
diff --git a/examples/meson.build b/examples/meson.build
index 414ec55cc..8f9922cad 100644
--- a/examples/meson.build
+++ b/examples/meson.build
@@ -105,5 +105,6 @@ foreach example: examples
                error('Cannot build requested example "' + name + '"')
        else
                message('Skipping example "' + name + '"')
+               run_command(log, 'Skipping example "' + name + '"')
        endif
 endforeach
diff --git a/lib/meson.build b/lib/meson.build
index 2715c0f66..aac07eb50 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -112,8 +112,9 @@ foreach l:libraries
                        static_dep = shared_dep
                else
                        if is_windows and use_function_versioning
-                               message('@0@: Function versioning is not 
supported by Windows.'
-                               .format(name))
+                               log_msg = '@0@: Function versioning is not 
supported by Windows.'.format(name)
+                               message(log_msg)
+                               run_command(log, log_msg)
                        endif
 
                        if use_function_versioning
diff --git a/meson.build b/meson.build
index 8333d264f..a587579f3 100644
--- a/meson.build
+++ b/meson.build
@@ -15,6 +15,8 @@ project('DPDK', 'C',
 subdir('buildtools')
 
 run_command(log, '======= Starting meson =======')
+run_command(log, 'Meson version', meson.version())
+run_command(log, 'DPDK version', meson.project_version())
 
 # set up some global vars for compiler, platform, configuration, etc.
 cc = meson.get_compiler('c')
@@ -76,6 +78,7 @@ foreach lib:enabled_libs
        endif
 endforeach
 message(output_message + '\n')
+run_command(log, output_message)
 
 output_message = '\n===============\nDrivers Enabled\n===============\n'
 foreach class:dpdk_driver_classes
@@ -92,6 +95,7 @@ foreach class:dpdk_driver_classes
        endforeach
 endforeach
 message(output_message + '\n')
+run_command(log, output_message)
 
 output_message = '\n=================\nContent Skipped\n=================\n'
 output_message += '\nlibs:\n\t'
@@ -105,3 +109,5 @@ foreach drv:dpdk_drvs_disabled
        output_message += drv + ':\t' + reason + '\n\t'
 endforeach
 message(output_message + '\n')
+run_command(log, output_message)
+run_command(log, 'Meson done\n')
-- 
2.25.1

Reply via email to