1config BR2_PACKAGE_GDB_ARCH_SUPPORTS 2 bool 3 default y 4 depends on !((BR2_arm || BR2_armeb) && BR2_BINFMT_FLAT) 5 depends on !BR2_microblaze 6 7comment "gdb/gdbserver needs a toolchain w/ threads, threads debug" 8 depends on BR2_PACKAGE_GDB_ARCH_SUPPORTS 9 depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_HAS_THREADS_DEBUG 10 11comment "gdb/gdbserver >= 8.x needs a toolchain w/ C++, gcc >= 4.8" 12 depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 13 14config BR2_PACKAGE_GDB 15 bool "gdb" 16 depends on BR2_TOOLCHAIN_HAS_THREADS && BR2_TOOLCHAIN_HAS_THREADS_DEBUG 17 depends on BR2_PACKAGE_GDB_ARCH_SUPPORTS 18 depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 19 depends on BR2_INSTALL_LIBSTDCPP 20 select BR2_PACKAGE_ZLIB 21 # When the external toolchain gdbserver is copied to the 22 # target, we don't allow building a separate gdbserver. The 23 # one from the external toolchain should be used. 24 select BR2_PACKAGE_GDB_SERVER if \ 25 (!BR2_PACKAGE_GDB_DEBUGGER && !BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY) 26 help 27 GDB, the GNU Project debugger, allows you to see what is 28 going on `inside' another program while it executes -- or 29 what another program was doing at the moment it crashed. 30 31 This option allows to build gdbserver and/or the gdb 32 debugger for the target. 33 34 For embedded development, the most common solution is to 35 build only 'gdbserver' for the target, and use a cross-gdb 36 on the host. See BR2_PACKAGE_HOST_GDB in the Toolchain menu 37 to enable one. Notice that external toolchains often provide 38 their own pre-built cross-gdb and gdbserver binaries. 39 40 http://www.gnu.org/software/gdb/ 41 42if BR2_PACKAGE_GDB 43 44config BR2_PACKAGE_GDB_STATIC 45 bool "Enable static" 46 default y if BR2_STATIC_LIBS 47 select BR2_PACKAGE_GMP_STATIC if BR2_PACKAGE_GMP 48 select BR2_PACKAGE_XZ_STATIC if BR2_PACKAGE_XZ 49 50config BR2_PACKAGE_GDB_SERVER 51 bool "gdbserver" 52 depends on !BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY 53 help 54 Build the gdbserver stub to run on the target. 55 A full gdb is needed to debug the progam. 56 57config BR2_PACKAGE_GDB_DEBUGGER 58 bool "full debugger" 59 depends on BR2_USE_WCHAR 60 depends on !BR2_sh 61 select BR2_PACKAGE_GMP if !BR2_GDB_VERSION_10 && !BR2_arc 62 select BR2_PACKAGE_NCURSES 63 64comment "full gdb on target needs a toolchain w/ wchar" 65 depends on !BR2_sh 66 depends on !BR2_USE_WCHAR 67 68if BR2_PACKAGE_GDB_DEBUGGER 69 70config BR2_PACKAGE_GDB_TUI 71 bool "TUI support" 72 help 73 This option enables terminal user interface (TUI) for gdb 74 75 "The GDB Text User Interface (TUI) is a terminal interface 76 which uses the curses library to show the source file, the 77 assembly output, the program registers and GDB commands in 78 separate text windows." 79 80 https://sourceware.org/gdb/current/onlinedocs/gdb/TUI.html 81 82config BR2_PACKAGE_GDB_PYTHON 83 bool "Python support" 84 depends on BR2_PACKAGE_PYTHON3 85 help 86 This option enables Python support in the target gdb. 87 88endif 89 90endif 91