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.richardson@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(-)
@@ -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
@@ -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) != '')
@@ -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
@@ -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)]
@@ -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
@@ -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
@@ -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')