xref: /openbmc/qemu/gdbstub/meson.build (revision 5915139aba1646220630596de30c673528e047c9)
1ae7467b1SAlex Bennée#
2ae7467b1SAlex Bennée# The main gdbstub still relies on per-build definitions of various
33f7d1bdaSPhilippe Mathieu-Daudé# types. The bits pushed to system/user.c try to use guest agnostic
4ae7467b1SAlex Bennée# types such as hwaddr.
5ae7467b1SAlex Bennée#
6ae7467b1SAlex Bennée
761b2e136SAlex Bennée# We need to build the core gdb code via a library to be able to tweak
861b2e136SAlex Bennée# cflags so:
961b2e136SAlex Bennée
1061b2e136SAlex Bennéegdb_user_ss = ss.source_set()
11de6cd759SPhilippe Mathieu-Daudégdb_system_ss = ss.source_set()
1261b2e136SAlex Bennée
1361b2e136SAlex Bennée# We build two versions of gdbstub, one for each mode
1461b2e136SAlex Bennéegdb_user_ss.add(files('gdbstub.c', 'user.c'))
153f7d1bdaSPhilippe Mathieu-Daudégdb_system_ss.add(files('gdbstub.c', 'system.c'))
1661b2e136SAlex Bennée
171220f581SPaolo Bonzinigdb_user_ss = gdb_user_ss.apply({})
181220f581SPaolo Bonzinigdb_system_ss = gdb_system_ss.apply({})
1961b2e136SAlex Bennée
2061b2e136SAlex Bennéelibgdb_user = static_library('gdb_user',
2161b2e136SAlex Bennée                             gdb_user_ss.sources() + genh,
22b846ad62SPhilippe Mathieu-Daudé                             c_args: '-DCONFIG_USER_ONLY',
234c545a05SPaolo Bonzini                             build_by_default: false)
2461b2e136SAlex Bennée
253f7d1bdaSPhilippe Mathieu-Daudélibgdb_system = static_library('gdb_system',
26de6cd759SPhilippe Mathieu-Daudé                                gdb_system_ss.sources() + genh,
274c545a05SPaolo Bonzini                                build_by_default: false)
2861b2e136SAlex Bennée
29*414b180dSAkihiko Odakigdb_user = declare_dependency(objects: libgdb_user.extract_all_objects(recursive: false))
3061b2e136SAlex Bennéeuser_ss.add(gdb_user)
31*414b180dSAkihiko Odakigdb_system = declare_dependency(objects: libgdb_system.extract_all_objects(recursive: false))
323f7d1bdaSPhilippe Mathieu-Daudésystem_ss.add(gdb_system)
33c566080cSAlex Bennée
342d3d2517SRichard Hendersoncommon_ss.add(files('syscalls.c'))
35c566080cSAlex Bennée
36d96bf49bSAlex Bennée# The user-target is specialised by the guest
37d96bf49bSAlex Bennéespecific_ss.add(when: 'CONFIG_USER_ONLY', if_true: files('user-target.c'))
38