gdb_static_features[] only contains strings, nothing target-specific. Instead of generating one file per target, generate a single file with a single gdb_static_features[] array.
Signed-off-by: Philippe Mathieu-Daudé <[email protected]> --- meson.build | 14 -------------- stubs/gdbstub.c => gdbstub/gdb-xml-stub.c | 0 gdbstub/meson.build | 21 +++++++++++++++++++++ stubs/meson.build | 2 -- 4 files changed, 21 insertions(+), 16 deletions(-) rename stubs/gdbstub.c => gdbstub/gdb-xml-stub.c (100%) diff --git a/meson.build b/meson.build index 56a746fed00..875a0bb1999 100644 --- a/meson.build +++ b/meson.build @@ -4221,7 +4221,6 @@ if have_rust endif -feature_to_c = find_program('scripts/feature_to_c.py') rust_root_crate = find_program('scripts/rust/rust_root_crate.sh') if host_os == 'darwin' @@ -4301,19 +4300,6 @@ foreach target : target_dirs endif endif - if 'TARGET_XML_FILES' in config_target - gdbstub_xml_files = [] - foreach gdbstub_xml : config_target['TARGET_XML_FILES'].split() - gdbstub_xml_files += 'gdbstub/gdb-xml/' + gdbstub_xml - endforeach - gdbstub_xml = custom_target(target + '-gdbstub-xml.c', - output: target + '-gdbstub-xml.c', - input: files(gdbstub_xml_files), - command: [feature_to_c, '@INPUT@'], - capture: true) - arch_srcs += gdbstub_xml - endif - if target in config_target_info arch_srcs += config_target_info[target] else diff --git a/stubs/gdbstub.c b/gdbstub/gdb-xml-stub.c similarity index 100% rename from stubs/gdbstub.c rename to gdbstub/gdb-xml-stub.c diff --git a/gdbstub/meson.build b/gdbstub/meson.build index 15c666f5752..a25a5ae9fbf 100644 --- a/gdbstub/meson.build +++ b/gdbstub/meson.build @@ -4,6 +4,27 @@ # types such as hwaddr. # +gdbstub_xml_files = [] +foreach target : target_dirs + config_target = config_target_mak[target] + if 'TARGET_XML_FILES' in config_target + foreach gdbstub_xml : config_target['TARGET_XML_FILES'].split() + gdbstub_xml_files += 'gdb-xml/' + gdbstub_xml + endforeach + endif +endforeach +if gdbstub_xml_files.length() > 0 + feature_to_c = find_program('../scripts/feature_to_c.py') + gdbstub_xml = custom_target('gdbstub-xml.c', + output: 'gdbstub-xml.c', + input: files(gdbstub_xml_files), + command: [feature_to_c, '@INPUT@'], + capture: true) +else + gdbstub_xml = files('gdb-xml-stub.c') +endif +common_ss.add(gdbstub_xml) + # We build two versions of gdbstub, one for each mode user_ss.add(files( 'gdbstub.c', diff --git a/stubs/meson.build b/stubs/meson.build index 8a07059500d..1e0f6f47377 100644 --- a/stubs/meson.build +++ b/stubs/meson.build @@ -89,8 +89,6 @@ if have_system endif if have_system or have_user - stub_ss.add(files('gdbstub.c')) - # Also included in have_system for --disable-tcg builds stub_ss.add(files('replay.c')) -- 2.52.0
