mirror of
https://github.com/izzy2lost/xemu.git
synced 2026-07-06 00:20:22 -07:00
meson: Introduce top-level libuser_ss and libsystem_ss
We already have two subdirectories for which we need to build files twice, for user vs system modes. Move this handling to the top level. This cannot be combined with user_ss or system_ss, because the formulation has not been extended to support configuration symbols. Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
+8
-24
@@ -4,32 +4,16 @@
|
||||
# types such as hwaddr.
|
||||
#
|
||||
|
||||
# We need to build the core gdb code via a library to be able to tweak
|
||||
# cflags so:
|
||||
|
||||
gdb_user_ss = ss.source_set()
|
||||
gdb_system_ss = ss.source_set()
|
||||
|
||||
# We build two versions of gdbstub, one for each mode
|
||||
gdb_user_ss.add(files('gdbstub.c', 'user.c'))
|
||||
gdb_system_ss.add(files('gdbstub.c', 'system.c'))
|
||||
libuser_ss.add(files(
|
||||
'gdbstub.c',
|
||||
'user.c'
|
||||
))
|
||||
|
||||
gdb_user_ss = gdb_user_ss.apply({})
|
||||
gdb_system_ss = gdb_system_ss.apply({})
|
||||
|
||||
libgdb_user = static_library('gdb_user',
|
||||
gdb_user_ss.sources() + genh,
|
||||
c_args: '-DCONFIG_USER_ONLY',
|
||||
build_by_default: false)
|
||||
|
||||
libgdb_system = static_library('gdb_system',
|
||||
gdb_system_ss.sources() + genh,
|
||||
build_by_default: false)
|
||||
|
||||
gdb_user = declare_dependency(objects: libgdb_user.extract_all_objects(recursive: false))
|
||||
user_ss.add(gdb_user)
|
||||
gdb_system = declare_dependency(objects: libgdb_system.extract_all_objects(recursive: false))
|
||||
system_ss.add(gdb_system)
|
||||
libsystem_ss.add(files(
|
||||
'gdbstub.c',
|
||||
'system.c'
|
||||
))
|
||||
|
||||
common_ss.add(files('syscalls.c'))
|
||||
|
||||
|
||||
+22
@@ -3662,12 +3662,14 @@ io_ss = ss.source_set()
|
||||
qmp_ss = ss.source_set()
|
||||
qom_ss = ss.source_set()
|
||||
system_ss = ss.source_set()
|
||||
libsystem_ss = ss.source_set()
|
||||
specific_fuzz_ss = ss.source_set()
|
||||
specific_ss = ss.source_set()
|
||||
rust_devices_ss = ss.source_set()
|
||||
stub_ss = ss.source_set()
|
||||
trace_ss = ss.source_set()
|
||||
user_ss = ss.source_set()
|
||||
libuser_ss = ss.source_set()
|
||||
util_ss = ss.source_set()
|
||||
|
||||
# accel modules
|
||||
@@ -4045,6 +4047,26 @@ common_ss.add(qom, qemuutil)
|
||||
common_ss.add_all(when: 'CONFIG_SYSTEM_ONLY', if_true: [system_ss])
|
||||
common_ss.add_all(when: 'CONFIG_USER_ONLY', if_true: user_ss)
|
||||
|
||||
libuser_ss = libuser_ss.apply({})
|
||||
libuser = static_library('user',
|
||||
libuser_ss.sources() + genh,
|
||||
c_args: '-DCONFIG_USER_ONLY',
|
||||
dependencies: libuser_ss.dependencies(),
|
||||
build_by_default: false)
|
||||
libuser = declare_dependency(objects: libuser.extract_all_objects(recursive: false),
|
||||
dependencies: libuser_ss.dependencies())
|
||||
common_ss.add(when: 'CONFIG_USER_ONLY', if_true: libuser)
|
||||
|
||||
libsystem_ss = libsystem_ss.apply({})
|
||||
libsystem = static_library('system',
|
||||
libsystem_ss.sources() + genh,
|
||||
c_args: '-DCONFIG_SOFTMMU',
|
||||
dependencies: libsystem_ss.dependencies(),
|
||||
build_by_default: false)
|
||||
libsystem = declare_dependency(objects: libsystem.extract_all_objects(recursive: false),
|
||||
dependencies: libsystem_ss.dependencies())
|
||||
common_ss.add(when: 'CONFIG_SYSTEM_ONLY', if_true: libsystem)
|
||||
|
||||
# Note that this library is never used directly (only through extract_objects)
|
||||
# and is not built by default; therefore, source files not used by the build
|
||||
# configuration will be in build.ninja, but are never built by default.
|
||||
|
||||
+2
-21
@@ -27,24 +27,5 @@ if host_os == 'linux'
|
||||
tcg_ss.add(files('perf.c'))
|
||||
endif
|
||||
|
||||
tcg_ss = tcg_ss.apply({})
|
||||
|
||||
libtcg_user = static_library('tcg_user',
|
||||
tcg_ss.sources() + genh,
|
||||
dependencies: tcg_ss.dependencies(),
|
||||
c_args: '-DCONFIG_USER_ONLY',
|
||||
build_by_default: false)
|
||||
|
||||
tcg_user = declare_dependency(objects: libtcg_user.extract_all_objects(recursive: false),
|
||||
dependencies: tcg_ss.dependencies())
|
||||
user_ss.add(tcg_user)
|
||||
|
||||
libtcg_system = static_library('tcg_system',
|
||||
tcg_ss.sources() + genh,
|
||||
dependencies: tcg_ss.dependencies(),
|
||||
c_args: '-DCONFIG_SOFTMMU',
|
||||
build_by_default: false)
|
||||
|
||||
tcg_system = declare_dependency(objects: libtcg_system.extract_all_objects(recursive: false),
|
||||
dependencies: tcg_ss.dependencies())
|
||||
system_ss.add(tcg_system)
|
||||
libuser_ss.add_all(tcg_ss)
|
||||
libsystem_ss.add_all(tcg_ss)
|
||||
|
||||
Reference in New Issue
Block a user