Generated decode files must be duplicated between user and system, as
they are generated in private folders per libs, and can't be included
otherwise, as meson does not give control on output folder.
Indeed, meson generator is a different approach than custom_target, and
this is a limitation by design.
They were already duplicated between arch variants anyway, so nothing
new here. They will now be compiled once for system binaries, and still
per target for user binaries.
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
---
target/arm/tcg/meson.build | 18 +++++++++++++-----
1 file changed, 13 insertions(+), 5 deletions(-)
diff --git a/target/arm/tcg/meson.build b/target/arm/tcg/meson.build
index 3e96c77df73..5f33ecd76e0 100644
--- a/target/arm/tcg/meson.build
+++ b/target/arm/tcg/meson.build
@@ -5,12 +5,15 @@ gen_a64 = [
decodetree.process('sme-fa64.decode', extra_args: '--static-decode=disas_sme_fa64'),
]
+vfp_d = [
+ decodetree.process('vfp.decode', extra_args: '--decode=disas_vfp'),
+ decodetree.process('vfp-uncond.decode', extra_args: '--decode=disas_vfp_uncond'),
+]
+
gen_a32 = [
decodetree.process('neon-shared.decode', extra_args: '--decode=disas_neon_shared'),
decodetree.process('neon-dp.decode', extra_args: '--decode=disas_neon_dp'),
decodetree.process('neon-ls.decode', extra_args: '--decode=disas_neon_ls'),
- decodetree.process('vfp.decode', extra_args: '--decode=disas_vfp'),
- decodetree.process('vfp-uncond.decode', extra_args: '--decode=disas_vfp_uncond'),
decodetree.process('m-nocp.decode', extra_args: '--decode=disas_m_nocp'),
decodetree.process('mve.decode', extra_args: '--decode=disas_mve'),
decodetree.process('a32.decode', extra_args: '--static-decode=disas_a32'),
@@ -30,7 +33,6 @@ arm_ss.add(files(
'translate-m-nocp.c',
'translate-mve.c',
'translate-neon.c',
- 'translate-vfp.c',
'm_helper.c',
'mve_helper.c',
'op_helper.c',
@@ -60,7 +62,9 @@ arm_common_ss.add(files(
'crypto_helper.c',
))
-arm_common_system_ss.add(files(
+arm_common_system_ss.add(
+ vfp_d,
+ files(
'cpregs-at.c',
'debug.c',
'hflags.c',
@@ -68,14 +72,18 @@ arm_common_system_ss.add(files(
'psci.c',
'tlb_helper.c',
'tlb-insns.c',
+ 'translate-vfp.c',
'vec_helper.c',
'vfp_helper.c',
))
-arm_user_ss.add(files(
+arm_user_ss.add(
+ vfp_d,
+ files(
'debug.c',
'hflags.c',
'neon_helper.c',
'tlb_helper.c',
+ 'translate-vfp.c',
'vec_helper.c',
'vfp_helper.c',
))
--
2.47.3