diff mbox series

[RFC,v3,07/14] meson: Prepare to accept per-binary TargetInfo structure implementation

Message ID 20250418172908.25147-8-philmd@linaro.org
State New
Headers show
Series single-binary: Make hw/arm/ common | expand

Commit Message

Philippe Mathieu-Daudé April 18, 2025, 5:29 p.m. UTC
If a file defining the binary TargetInfo structure is available,
link with it. Otherwise keep using the stub.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 meson.build                 | 9 ++++++++-
 configs/targets/meson.build | 3 +++
 2 files changed, 11 insertions(+), 1 deletion(-)
 create mode 100644 configs/targets/meson.build

Comments

Pierrick Bouvier April 19, 2025, 12:59 a.m. UTC | #1
On 4/18/25 10:29, Philippe Mathieu-Daudé wrote:
> If a file defining the binary TargetInfo structure is available,
> link with it. Otherwise keep using the stub.
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
>   meson.build                 | 9 ++++++++-
>   configs/targets/meson.build | 3 +++
>   2 files changed, 11 insertions(+), 1 deletion(-)
>   create mode 100644 configs/targets/meson.build
> 
> diff --git a/meson.build b/meson.build
> index 168b07b5887..b0d4a9fcd36 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -3216,6 +3216,7 @@ config_devices_mak_list = []
>   config_devices_h = {}
>   config_target_h = {}
>   config_target_mak = {}
> +config_target_info = {}
>   
>   disassemblers = {
>     'alpha' : ['CONFIG_ALPHA_DIS'],
> @@ -3809,9 +3810,9 @@ specific_ss.add(files('page-target.c', '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')
> @@ -4272,6 +4273,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()
> diff --git a/configs/targets/meson.build b/configs/targets/meson.build
> new file mode 100644
> index 00000000000..e9a5f7b078e
> --- /dev/null
> +++ b/configs/targets/meson.build
> @@ -0,0 +1,3 @@
> +foreach target : ['arm-softmmu', 'aarch64-softmmu']
> +  config_target_info += {target : files(target + '.c')}
> +endforeach

Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
diff mbox series

Patch

diff --git a/meson.build b/meson.build
index 168b07b5887..b0d4a9fcd36 100644
--- a/meson.build
+++ b/meson.build
@@ -3216,6 +3216,7 @@  config_devices_mak_list = []
 config_devices_h = {}
 config_target_h = {}
 config_target_mak = {}
+config_target_info = {}
 
 disassemblers = {
   'alpha' : ['CONFIG_ALPHA_DIS'],
@@ -3809,9 +3810,9 @@  specific_ss.add(files('page-target.c', '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')
@@ -4272,6 +4273,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()
diff --git a/configs/targets/meson.build b/configs/targets/meson.build
new file mode 100644
index 00000000000..e9a5f7b078e
--- /dev/null
+++ b/configs/targets/meson.build
@@ -0,0 +1,3 @@ 
+foreach target : ['arm-softmmu', 'aarch64-softmmu']
+  config_target_info += {target : files(target + '.c')}
+endforeach