get_id() returns the compiler's short name not a program. Passing it directly as the command for the idef-parser preprocessing custom_target happened to work for native gcc/clang builds but breaks under cross compilers such as emcc or any ccache-wrapped compiler.
Link: https://lore.kernel.org/qemu-devel/cajsp0qwzqegoymcgzx+9jcvrv6o3rqna+df1dpt2r6mzvvx...@mail.gmail.com/ Reviewed-by: Stefan Hajnoczi <[email protected]> Reviewed-by: Philippe Mathieu-Daudé <[email protected]> Signed-off-by: Brian Cain <[email protected]> --- target/hexagon/meson.build | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/target/hexagon/meson.build b/target/hexagon/meson.build index d169cf71b2f..ff22b4e4706 100644 --- a/target/hexagon/meson.build +++ b/target/hexagon/meson.build @@ -270,13 +270,13 @@ if idef_parser_enabled and 'hexagon-linux-user' in target_dirs command: [python, files('gen_idef_parser_funcs.py'), semantics_generated, '@OUTPUT@'], ) - compiler = meson.get_compiler('c').get_id() + compiler = meson.get_compiler('c').cmd_array() preprocessed_idef_parser_input_generated = custom_target( 'idef_parser_input.preprocessed.h.inc', output: 'idef_parser_input.preprocessed.h.inc', input: idef_parser_input_generated, depend_files: [idef_parser_dir / 'macros.h.inc'], - command: [compiler, '-x', 'c', '-E', '-I', idef_parser_dir, '-o', '@OUTPUT@', '@INPUT@'], + command: compiler + ['-x', 'c', '-E', '-I', idef_parser_dir, '-o', '@OUTPUT@', '@INPUT@'], ) flex = generator( -- 2.34.1
