________________________________________ From: Richardson, Bruce <bruce.richard...@intel.com> Sent: Tuesday, February 7, 2023 9:22 AM To: dev@dpdk.org Cc: Richardson, Bruce; sta...@dpdk.org; Wiles, Keith Subject: [PATCH] build: fix invalid characters in toolchain definitions
When using "icx" (Intel(R) oneAPI DPC++/C++ Compiler) to build DPDK, meson reports the toolchain as "intel-llvm"[1]. This value is used directly to define the RTE_TOOLCHAIN macros, which means that we end up with the invalid macro name "RTE_TOOLCHAIN_INTEL-LLVM", and getting the compiler warning: ./rte_build_config.h:422:28: warning: ISO C99 requires whitespace after the macro name [-Wc99-extensions] This can be fixed, and the macro generation made more robust generally, by adding "underscorify()" on the string. This replaces the "-", and any other invalid characters, with "_" [2]. [1] https://mesonbuild.com/Reference-tables.html#compiler-ids [2] https://mesonbuild.com/Reference-manual_elementary_str.html#strunderscorify Fixes: afd18fa21b5e ("build: set toolchain info during meson configure") Cc: sta...@dpdk.org Reported-by: Keith Wiles <keith.wi...@intel.com> Signed-off-by: Bruce Richardson <bruce.richard...@intel.com> --- config/meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/meson.build b/config/meson.build index 26f3168bc9..fc3ac99a32 100644 --- a/config/meson.build +++ b/config/meson.build @@ -139,7 +139,7 @@ endif toolchain = cc.get_id() dpdk_conf.set_quoted('RTE_TOOLCHAIN', toolchain) -dpdk_conf.set('RTE_TOOLCHAIN_' + toolchain.to_upper(), 1) +dpdk_conf.set('RTE_TOOLCHAIN_' + toolchain.to_upper().underscorify(), 1) dpdk_conf.set('RTE_ARCH_64', cc.sizeof('void *') == 8) dpdk_conf.set('RTE_ARCH_32', cc.sizeof('void *') == 4) -- 2.37.2 Acked-by: Keith Wiles <keith.wi...@intel.com>