[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 50/52] tcg: Build once for system and once for user-only
From: |
Richard Henderson |
Subject: |
[PULL 50/52] tcg: Build once for system and once for user-only |
Date: |
Mon, 5 Jun 2023 13:15:46 -0700 |
Create two static libraries for use by each execution mode.
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
tcg/meson.build | 30 +++++++++++++++++++++++++++---
1 file changed, 27 insertions(+), 3 deletions(-)
diff --git a/tcg/meson.build b/tcg/meson.build
index bdc185a485..565c60bc96 100644
--- a/tcg/meson.build
+++ b/tcg/meson.build
@@ -1,3 +1,7 @@
+if not get_option('tcg').allowed()
+ subdir_done()
+endif
+
tcg_ss = ss.source_set()
tcg_ss.add(files(
@@ -14,8 +18,28 @@ tcg_ss.add(files(
if get_option('tcg_interpreter')
libffi = dependency('libffi', version: '>=3.0', required: true,
method: 'pkg-config')
- specific_ss.add(libffi)
- specific_ss.add(files('tci.c'))
+ tcg_ss.add(libffi)
+ tcg_ss.add(files('tci.c'))
endif
-specific_ss.add_all(when: 'CONFIG_TCG', if_true: tcg_ss)
+tcg_ss = tcg_ss.apply(config_host, strict: false)
+
+libtcg_user = static_library('tcg_user',
+ tcg_ss.sources() + genh,
+ name_suffix: 'fa',
+ c_args: '-DCONFIG_USER_ONLY',
+ build_by_default: have_user)
+
+tcg_user = declare_dependency(link_with: libtcg_user,
+ dependencies: tcg_ss.dependencies())
+user_ss.add(tcg_user)
+
+libtcg_softmmu = static_library('tcg_softmmu',
+ tcg_ss.sources() + genh,
+ name_suffix: 'fa',
+ c_args: '-DCONFIG_SOFTMMU',
+ build_by_default: have_system)
+
+tcg_softmmu = declare_dependency(link_with: libtcg_softmmu,
+ dependencies: tcg_ss.dependencies())
+softmmu_ss.add(tcg_softmmu)
--
2.34.1
- [PULL 44/52] tcg: Fix PAGE/PROT confusion, (continued)
- [PULL 44/52] tcg: Fix PAGE/PROT confusion, Richard Henderson, 2023/06/05
- [PULL 45/52] tcg: Move env defines out of NEED_CPU_H in helper-head.h, Richard Henderson, 2023/06/05
- [PULL 40/52] target/mips: Tidy helpers for translation, Richard Henderson, 2023/06/05
- [PULL 41/52] target/*: Add missing includes of exec/translation-block.h, Richard Henderson, 2023/06/05
- [PULL 43/52] accel/tcg: Tidy includes for translator.[ch], Richard Henderson, 2023/06/05
- [PULL 46/52] tcg: Remove target-specific headers from tcg.[ch], Richard Henderson, 2023/06/05
- [PULL 47/52] plugins: Move plugin_insn_append to translator.c, Richard Henderson, 2023/06/05
- [PULL 49/52] exec/poison: Do not poison CONFIG_SOFTMMU, Richard Henderson, 2023/06/05
- [PULL 50/52] tcg: Build once for system and once for user-only,
Richard Henderson <=
- [PULL 52/52] tcg/tcg-op-vec: Remove left over _link_error() definitions, Richard Henderson, 2023/06/05
- [PULL 48/52] plugins: Drop unused headers from exec/plugin-gen.h, Richard Henderson, 2023/06/05
- [PULL 51/52] accel/tcg: Unmap perf_marker, Richard Henderson, 2023/06/05
- Re: [PULL 00/52] tcg patch queue, Richard Henderson, 2023/06/05