summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2011-10-08 20:57:21 (GMT)
committerYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2011-10-08 20:57:21 (GMT)
commitc7a396f9b7f61bb6927b276188c075e47e9db0e7 (patch)
tree3210f55ad86628a16513d87b4897922c7410d810
parent8e715ea4ba1baf3ebc55a1e88d0bf3c08850cfcb (diff)
debug/gdb: new option to enable/disable use of python
Add a new option to enable/disable the Python scripting in gdb. Hide the option (ie. disable it) when statically linking the cross-gdb. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
-rw-r--r--config/debug/gdb.in.cross16
-rwxr-xr-xconfigure1
-rw-r--r--scripts/build/debug/300-gdb.sh5
3 files changed, 22 insertions, 0 deletions
diff --git a/config/debug/gdb.in.cross b/config/debug/gdb.in.cross
index cbe8b29..633def3 100644
--- a/config/debug/gdb.in.cross
+++ b/config/debug/gdb.in.cross
@@ -33,4 +33,20 @@ config GDB_CROSS_STATIC
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_PYTHON
+ bool
+ prompt "Enable python scripting"
+ depends on CONFIGURE_has_python
+ depends on ! GDB_CROSS_STATIC
+ default y
+ help
+ Say 'y' if you want to use Python scripting inside gdb.
+ Say 'n' if you do not want to.
+
+ Beware that enabling Python scripting could render the gdb
+ executable non-functional if you move it to another machine.
+ Building a static gdb can help in this regard, although there
+ have been reports of problems when linking gdb to the static
+ libpython.a. This should be fixed in gdb >=7.3. YMMV.
+
endif # GDB_CROSS
diff --git a/configure b/configure
index 90cff13..75d2b22 100755
--- a/configure
+++ b/configure
@@ -609,6 +609,7 @@ done
has_or_warn inc="${python_incs}" \
lib="${python_libs}" \
lib_exts="${libs_exts}" \
+ kconfig=has_python \
err="The 'python' header file and library are needed for some features of cross-gdb"
#---------------------------------------------------------------------
diff --git a/scripts/build/debug/300-gdb.sh b/scripts/build/debug/300-gdb.sh
index 99356d7..289d26a 100644
--- a/scripts/build/debug/300-gdb.sh
+++ b/scripts/build/debug/300-gdb.sh
@@ -118,6 +118,11 @@ do_debug_gdb_build() {
none) cross_extra_config+=("--disable-threads");;
*) cross_extra_config+=("--enable-threads");;
esac
+ if [ "${CT_GDB_CROSS_PYTHON}" = "y" ]; then
+ cross_extra_config+=( "--with-python=yes" )
+ else
+ cross_extra_config+=( "--with-python=no" )
+ fi
CC_for_gdb=
LD_for_gdb=