debug/gdb: split menuconfig for easier maintenance

This commit is contained in:
Yann E. MORIN" 2010-03-15 21:42:55 +01:00
parent 8e47201cf2
commit e20859d74c
4 changed files with 102 additions and 88 deletions

View File

@ -4,94 +4,9 @@ config DEBUG_gdb
help
Enable gdb for the target
config GDB_CROSS
bool
prompt "Cross-gdb"
default y
select GDB_GDBSERVER if ! BARE_METAL
help
Build and install a cross-gdb for the target, to run on host.
config GDB_CROSS_STATIC
bool
prompt "Build a static cross gdb"
default n
depends on GDB_CROSS
help
A static cross gdb can be usefull if you debug on a machine that is
not the one that is used to compile the toolchain.
That way, you can share the cross-gdb without installing a toolchain
on every machine that will be used to debug target programs.
config GDB_CROSS_INSIGHT
bool
prompt "Use Insight instead (EXPERIMENTAL)"
default n
depends on GDB_CROSS
depends on EXPERIMENTAL
help
If you say 'Y' here, then Insight will be used to build the cross
debugger, instead of the plain gdb.
Insight is gdb plus a TCL/TK GUI: http://sourceware.org/insight/
config GDB_NATIVE
bool
prompt "Native gdb"
default n
depends on ! BARE_METAL
depends on ! BACKEND
help
Build and install a native gdb for the target, to run on the target.
config GDB_NATIVE_STATIC
bool
prompt "Build a static native gdb"
default n
depends on GDB_NATIVE
help
In case you have trouble with dynamic loading of shared libraries,
you will find that a static gdb comes in handy.
config GDB_NATIVE_USE_GMP_MPFR
bool
prompt "Use GMP and MPFR"
default n
depends on GDB_NATIVE
select GMP_TARGET
select MPFR_TARGET
help
gdb can make use of the GMP and MPFR libraries.
While the cross-gdb (above) can use the libraries compiled for the
host, the native gdb needs the libraries for the target (where it will
eventually run).
Setting this option will force building the GMP and MPFR libraries for
the target, and configure the native gdb to use them.
config GDB_GDBSERVER
bool
prompt "gdbserver"
default n
depends on ! BARE_METAL
help
Build and install a gdbserver for the target, to run on the target.
config GDB_GDBSERVER_STATIC
bool
prompt "Build a static gdbserver"
default y
depends on GDB_GDBSERVER
help
In case you have trouble with dynamic loading of shared libraries,
you will find that a static gdbserver comes in handy.
if BARE_METAL
comment "In bare-metal, you'll need to "
comment "provide your own gdbserver stub."
endif # BARE_METAL
source "config/debug/gdb.in.cross"
source "config/debug/gdb.in.native"
source "config/debug/gdb.in.gdbserver"
choice
bool

35
config/debug/gdb.in.cross Normal file
View File

@ -0,0 +1,35 @@
# Menu for the cross GDB
config GDB_CROSS
bool
prompt "Cross-gdb"
default y
select GDB_GDBSERVER if ! BARE_METAL
help
Build and install a cross-gdb for the target, to run on host.
if GDB_CROSS
config GDB_CROSS_STATIC
bool
prompt "Build a static cross gdb"
default n
help
A static cross gdb can be usefull if you debug on a machine that is
not the one that is used to compile the toolchain.
That way, you can share the cross-gdb without installing a toolchain
on every machine that will be used to debug target programs.
config GDB_CROSS_INSIGHT
bool
prompt "Use Insight instead (EXPERIMENTAL)"
default n
depends on EXPERIMENTAL
help
If you say 'Y' here, then Insight will be used to build the cross
debugger, instead of the plain gdb.
Insight is gdb plus a TCL/TK GUI: http://sourceware.org/insight/
endif # GDB_CROSS

View File

@ -0,0 +1,26 @@
# Menu for the native gdbserver
config GDB_GDBSERVER
bool
prompt "gdbserver"
default n
depends on ! BARE_METAL
help
Build and install a gdbserver for the target, to run on the target.
if GDB_GDBSERVER
config GDB_GDBSERVER_STATIC
bool
prompt "Build a static gdbserver"
default y
help
In case you have trouble with dynamic loading of shared libraries,
you will find that a static gdbserver comes in handy.
endif # GDB_GDBSERVER
if BARE_METAL
comment "In bare-metal, you'll need to "
comment "provide your own gdbserver stub."
endif # BARE_METAL

View File

@ -0,0 +1,38 @@
# Menu for the native GDB
config GDB_NATIVE
bool
prompt "Native gdb"
default n
depends on ! BARE_METAL
depends on ! BACKEND
help
Build and install a native gdb for the target, to run on the target.
if GDB_NATIVE
config GDB_NATIVE_STATIC
bool
prompt "Build a static native gdb"
default n
help
In case you have trouble with dynamic loading of shared libraries,
you will find that a static gdb comes in handy.
config GDB_NATIVE_USE_GMP_MPFR
bool
prompt "Use GMP and MPFR"
default n
select GMP_TARGET
select MPFR_TARGET
help
gdb can make use of the GMP and MPFR libraries.
While the cross-gdb (above) can use the libraries compiled for the
host, the native gdb needs the libraries for the target (where it will
eventually run).
Setting this option will force building the GMP and MPFR libraries for
the target, and configure the native gdb to use them.
endif # GDB_NATIVE