diff options
author | Alex Bennée <alex.bennee@linaro.org> | 2023-03-02 18:57:58 -0800 |
---|---|---|
committer | Alex Bennée <alex.bennee@linaro.org> | 2023-03-07 20:44:09 +0000 |
commit | 61b2e136db5a628cadcb4a1a5c68efbab4c8e2fb (patch) | |
tree | 628d63cd1bf4bb2d0d2cb481af157afed931ecc8 /gdbstub/meson.build | |
parent | c566080cd37fe328077a3c49d7fd248ce2a06bfe (diff) | |
download | qemu-61b2e136db5a628cadcb4a1a5c68efbab4c8e2fb.zip qemu-61b2e136db5a628cadcb4a1a5c68efbab4c8e2fb.tar.gz qemu-61b2e136db5a628cadcb4a1a5c68efbab4c8e2fb.tar.bz2 |
gdbstub: only compile gdbstub twice for whole build
Now we have removed any target specific bits from the core gdbstub
code we only need to build it twice. We have to jump a few meson hoops
to manually define the CONFIG_USER_ONLY symbol but it seems to work.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20230302190846.2593720-23-alex.bennee@linaro.org>
Message-Id: <20230303025805.625589-23-richard.henderson@linaro.org>
Diffstat (limited to 'gdbstub/meson.build')
-rw-r--r-- | gdbstub/meson.build | 30 |
1 files changed, 26 insertions, 4 deletions
diff --git a/gdbstub/meson.build b/gdbstub/meson.build index c876222..d679c7a 100644 --- a/gdbstub/meson.build +++ b/gdbstub/meson.build @@ -4,13 +4,35 @@ # types such as hwaddr. # -specific_ss.add(files('gdbstub.c')) +# 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_softmmu_ss = ss.source_set() + +# We build two versions of gdbstub, one for each mode +gdb_user_ss.add(files('gdbstub.c', 'user.c')) +gdb_softmmu_ss.add(files('gdbstub.c', 'softmmu.c')) + +gdb_user_ss = gdb_user_ss.apply(config_host, strict: false) +gdb_softmmu_ss = gdb_softmmu_ss.apply(config_host, strict: false) + +libgdb_user = static_library('gdb_user', + gdb_user_ss.sources() + genh, + name_suffix: 'fa', + c_args: '-DCONFIG_USER_ONLY') + +libgdb_softmmu = static_library('gdb_softmmu', + gdb_softmmu_ss.sources() + genh, + name_suffix: 'fa') + +gdb_user = declare_dependency(link_whole: libgdb_user) +user_ss.add(gdb_user) +gdb_softmmu = declare_dependency(link_whole: libgdb_softmmu) +softmmu_ss.add(gdb_softmmu) # These have to built to the target ABI specific_ss.add(files('syscalls.c')) -softmmu_ss.add(files('softmmu.c')) -user_ss.add(files('user.c')) - # The user-target is specialised by the guest specific_ss.add(when: 'CONFIG_USER_ONLY', if_true: files('user-target.c')) |