aboutsummaryrefslogtreecommitdiff
path: root/package/gdb/Config.in.host
blob: 4072dc80742c72835a1d3d3ecb0d4ffffc51e354 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
config BR2_PACKAGE_HOST_GDB_ARCH_SUPPORTS
	bool
	default y
	# The ARC version needs C++11, thus gcc >= 4.8, like gdb-8.0.x
	depends on BR2_HOST_GCC_AT_LEAST_4_8 || !BR2_arc
	depends on !((BR2_arm || BR2_armeb) && BR2_BINFMT_FLAT)
	depends on !BR2_microblaze
	depends on !BR2_nios2
	depends on !BR2_or1k
	depends on !BR2_riscv

comment "Host GDB Options"
	depends on !BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY
	depends on BR2_PACKAGE_HOST_GDB_ARCH_SUPPORTS

config BR2_PACKAGE_HOST_GDB
	bool "Build cross gdb for the host"
	# When the external toolchain gdbserver is used, we shouldn't
	# allow to build a cross-gdb, as the one of the external
	# toolchain should be used.
	depends on !BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY
	depends on BR2_PACKAGE_HOST_GDB_ARCH_SUPPORTS
	help
	  Build a cross gdb that runs on the host machine and debugs
	  programs running on the target. It requires 'gdbserver'
	  installed on the target, see BR2_PACKAGE_GDB_SERVER to
	  enable it.

if BR2_PACKAGE_HOST_GDB

config BR2_PACKAGE_HOST_GDB_TUI
	bool "TUI support"
	help
	  This option enables terminal user interface (TUI) for gdb

config BR2_PACKAGE_HOST_GDB_PYTHON
	bool "Python support"
	help
	  This option enables the Python support in the cross gdb.

config BR2_PACKAGE_HOST_GDB_SIM
	bool "Simulator support"
	depends on !BR2_arc
	help
	  This option enables the simulator support in the cross gdb.

choice
	prompt "GDB debugger Version"
	default BR2_GDB_VERSION_8_1
	depends on !BR2_arc
	help
	  Select the version of gdb you wish to use.

config BR2_GDB_VERSION_7_12
	bool "gdb 7.12.x"

config BR2_GDB_VERSION_8_0
	bool "gdb 8.0.x"
	# Needs a C++11 compiler
	depends on BR2_HOST_GCC_AT_LEAST_4_8

config BR2_GDB_VERSION_8_1
	bool "gdb 8.1.x"
	# Needs a C++11 compiler
	depends on BR2_HOST_GCC_AT_LEAST_4_8

config BR2_GDB_VERSION_8_2
	bool "gdb 8.2.x"
	# Needs a C++11 compiler
	depends on BR2_HOST_GCC_AT_LEAST_4_8

endchoice

endif

# Tells whether the currently selected gdb version requires C++11
# support in the toolchain. When host-gdb is not enabled, the target
# gdb built is 8.0, which requires C++11 support, which is why
# BR2_PACKAGE_GDB_NEEDS_CXX11 is 'y' when BR2_PACKAGE_HOST_GDB is not
# enabled. When host-gdb is built, with the version set to 8.0 or 8.1
# then C++11 support is needed in the toolchain to build gdb for the
# target.
#
# Even though this option is related to target gdb dependencies, we
# keep it next to the BR2_GDB_VERSION so that they are kept in sync.
config BR2_PACKAGE_GDB_NEEDS_CXX11
	bool
	default y if !BR2_PACKAGE_HOST_GDB
	default y if BR2_GDB_VERSION_8_0
	default y if BR2_GDB_VERSION_8_1
	default y if BR2_GDB_VERSION_8_2
	default y if BR2_arc

# If cross-gdb is not enabled, the latest working version is chosen.
config BR2_GDB_VERSION
	string
	default "arc-2018.09-release-gdb" if BR2_arc
	default "7.12.1"   if BR2_GDB_VERSION_7_12
	default "8.0.1"    if BR2_GDB_VERSION_8_0
	default "8.1.1"    if BR2_GDB_VERSION_8_1 || !BR2_PACKAGE_HOST_GDB
	default "8.2"      if BR2_GDB_VERSION_8_2
	depends on BR2_PACKAGE_GDB || BR2_PACKAGE_HOST_GDB