From: Philippe Mathieu-Daudé Date: Sun, 23 Mar 2025 20:03:16 +0000 (+0100) Subject: meson: Prepare to accept per-binary TargetInfo structure implementation X-Git-Tag: v10.2.0-rc1~35^2~18 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=4dc7de81c210bee904802d9117a9150f3a5877dd;p=thirdparty%2Fqemu.git meson: Prepare to accept per-binary TargetInfo structure implementation If a file defining the binary TargetInfo structure is available, link with it. Otherwise keep using the stub. Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Pierrick Bouvier Reviewed-by: Richard Henderson Acked-by: Peter Maydell Message-Id: <20251021205741.57109-6-philmd@linaro.org> --- diff --git a/MAINTAINERS b/MAINTAINERS index 64491c800c..c7faa5672a 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -2007,6 +2007,7 @@ M: Philippe Mathieu-Daudé S: Supported F: include/qemu/target-info*.h F: target-info*.c +F: configs/targets/*.c Xtensa Machines --------------- diff --git a/configs/targets/meson.build b/configs/targets/meson.build new file mode 100644 index 0000000000..a9f6b24ec0 --- /dev/null +++ b/configs/targets/meson.build @@ -0,0 +1,4 @@ +foreach target : [ + ] + config_target_info += {target : files(target + '.c')} +endforeach diff --git a/meson.build b/meson.build index de95da3269..df876c72f0 100644 --- a/meson.build +++ b/meson.build @@ -3312,6 +3312,7 @@ config_devices_h = {} config_target_h = {} config_target_mak = {} config_base_arch_mak = {} +config_target_info = {} disassemblers = { 'alpha' : ['CONFIG_ALPHA_DIS'], @@ -3912,9 +3913,9 @@ specific_ss.add(files('page-vary-target.c')) common_ss.add(files('target-info.c')) system_ss.add(files('target-info-qom.c')) -specific_ss.add(files('target-info-stub.c')) subdir('backends') +subdir('configs/targets') subdir('disas') subdir('migration') subdir('monitor') @@ -4365,6 +4366,12 @@ foreach target : target_dirs arch_srcs += gdbstub_xml endif + if target in config_target_info + arch_srcs += config_target_info[target] + else + arch_srcs += files('target-info-stub.c') + endif + t = target_arch[target_base_arch].apply(config_target, strict: false) arch_srcs += t.sources() arch_deps += t.dependencies()