Muon[1] is a reimplementation of meson in C, and in some ways is rather stricter than meson in processing the build files. Make a few small changes to the meson.build files to improve muon compatibility without affecting meson: * when checking a list of compiler args always use has_multi_arguments rather than has_argument, even if list only contains one item. * when putting lists of compiler args in message output, explicitly convert to a string for output using ','.join().
[1] https://github.com/muon-build/muon Signed-off-by: Bruce Richardson <[email protected]> --- Note: after this patch, the majority of DPDK configures ok using muon on my x86 system. Some drivers have not been checked due to missing dependencies on my system, but one, ml/cnxk, I had to explicitly disable as it's using a feature not currently supported by muon (cmake_args parameter to "dependency()"). Despite this limitation, I think occasionally testing things with muon is useful to more rigorously check our build files. --- config/x86/meson.build | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config/x86/meson.build b/config/x86/meson.build index d2f4d5c02a..124b204847 100644 --- a/config/x86/meson.build +++ b/config/x86/meson.build @@ -68,7 +68,7 @@ if is_linux or cc.get_id() == 'gcc' endif avx512_march_flag = ['-march=x86-64-v4'] -if not cc.has_argument(avx512_march_flag) +if not cc.has_multi_arguments(avx512_march_flag) avx512_march_flag = ['-march=skylake-avx512'] endif # workaround for older compilers, e.g. GCC 8.5 on RHEL 8. @@ -99,9 +99,9 @@ if (binutils_ok and cc.has_multi_arguments(avx512_march_flag) endif endif if developer_mode and meson.version().version_compare('>=0.60.2') - message('Extra C flags needed for AVX2 output: @0@'.format(cc_avx2_flags)) + message('Extra C flags needed for AVX2 output: [@0@]'.format(','.join(cc_avx2_flags))) if cc_has_avx512 - message('Extra C flags needed for AVX512 output: @0@'.format(cc_avx512_flags)) + message('Extra C flags needed for AVX512 output: [@0@]'.format(','.join(cc_avx512_flags))) endif endif -- 2.51.0

