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