[PATCH] config/x86: enable compatibility with muon-build

Bruce Richardson bruce.richardson at intel.com
Wed Feb 4 11:30:15 CET 2026


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 <bruce.richardson at intel.com>
---
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



More information about the dev mailing list