[openwrt/openwrt] toolchain: gdb: Add optional python support

LEDE Commits lede-commits at lists.infradead.org
Sat Jun 5 15:27:47 PDT 2021


hauke pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/74417f8b3a803c59995887e20437394e1abeaaa2

commit 74417f8b3a803c59995887e20437394e1abeaaa2
Author: Hauke Mehrtens <hmehrtens at maxlinear.com>
AuthorDate: Fri May 28 18:35:40 2021 +0200

    toolchain: gdb: Add optional python support
    
    Compile gdb with python support optionally.
    
    To use the Python support in gdb some extra python files are needed,
    install them too. While at it also install other shared files which we
    did not install before.
    
    If gdb is built without Python support the python folder does not
    exists.
    
    Signed-off-by: Hauke Mehrtens <hmehrtens at maxlinear.com>
---
 toolchain/Config.in    |  8 ++++++++
 toolchain/gdb/Makefile | 11 ++++++++++-
 2 files changed, 18 insertions(+), 1 deletion(-)

diff --git a/toolchain/Config.in b/toolchain/Config.in
index 6dda9af92d..8ff5438d79 100644
--- a/toolchain/Config.in
+++ b/toolchain/Config.in
@@ -259,6 +259,14 @@ config GDB
 	help
 	  Enable if you want to build the gdb.
 
+config GDB_PYTHON
+	bool
+	depends on GDB
+	prompt "Build gdb with python binding"
+	
+	help
+	  Enable the python bindings for GDB to allow using python in the gdb shell.
+
 config USE_GLIBC
 	default y if !TOOLCHAINOPTS && !EXTERNAL_TOOLCHAIN && !NATIVE_TOOLCHAIN && (arc)
 	bool
diff --git a/toolchain/gdb/Makefile b/toolchain/gdb/Makefile
index 05e3c7de3c..2708eff869 100644
--- a/toolchain/gdb/Makefile
+++ b/toolchain/gdb/Makefile
@@ -36,7 +36,6 @@ HOST_CONFIGURE_ARGS = \
 	--without-included-gettext \
 	--enable-threads \
 	--with-expat \
-	--without-python \
 	--disable-unit-tests \
 	--disable-ubsan \
 	--disable-binutils \
@@ -44,11 +43,21 @@ HOST_CONFIGURE_ARGS = \
 	--disable-gas \
 	--disable-sim
 
+ifneq ($(CONFIG_GDB_PYTHON),)
+  HOST_CONFIGURE_ARGS+= --with-python
+else
+  HOST_CONFIGURE_ARGS:= --without-python
+endif
+
 define Host/Install
 	mkdir -p $(TOOLCHAIN_DIR)/bin
 	$(INSTALL_BIN) $(HOST_BUILD_DIR)/gdb/gdb $(TOOLCHAIN_DIR)/bin/$(TARGET_CROSS)gdb
 	ln -fs $(TARGET_CROSS)gdb $(TOOLCHAIN_DIR)/bin/$(GNU_TARGET_NAME)-gdb
 	strip $(TOOLCHAIN_DIR)/bin/$(TARGET_CROSS)gdb
+	mkdir -p $(TOOLCHAIN_DIR)/share/gdb
+	-cp -R $(HOST_BUILD_DIR)/gdb/data-directory/python $(TOOLCHAIN_DIR)/share/gdb/
+	cp -R $(HOST_BUILD_DIR)/gdb/data-directory/syscalls $(TOOLCHAIN_DIR)/share/gdb/
+	cp -R $(HOST_BUILD_DIR)/gdb/data-directory/system-gdbinit $(TOOLCHAIN_DIR)/share/gdb/
 endef
 
 define Host/Clean



More information about the lede-commits mailing list