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é <philmd@linaro.org>
---
meson.build | 10 ----------
stubs/gdbstub.c => gdbstub/gdb-xml-stub.c | 0
gdbstub/meson.build | 19 +++++++++++++++++++
stubs/meson.build | 2 --
4 files changed, 19 insertions(+), 12 deletions(-)
rename stubs/gdbstub.c => gdbstub/gdb-xml-stub.c (100%)
diff --git a/meson.build b/meson.build
index 60415df69a1..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,15 +4300,6 @@ foreach target : target_dirs
endif
endif
- if 'TARGET_XML_FILES' in config_target
- gdbstub_xml = custom_target(target + '-gdbstub-xml.c',
- output: target + '-gdbstub-xml.c',
- input: files(config_target['TARGET_XML_FILES'].split()),
- 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..06fa4d1b6f0 100644
--- a/gdbstub/meson.build
+++ b/gdbstub/meson.build
@@ -4,6 +4,25 @@
# types such as hwaddr.
#
+gdbstub_xml = []
+foreach target : target_dirs
+ config_target = config_target_mak[target]
+ if 'TARGET_XML_FILES' in config_target
+ gdbstub_xml += config_target['TARGET_XML_FILES'].split()
+ endif
+endforeach
+if gdbstub_xml.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),
+ 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