toolchain: gdb: Add optional python support
authorHauke Mehrtens <hmehrtens@maxlinear.com>
Fri, 28 May 2021 16:35:40 +0000 (18:35 +0200)
committerHauke Mehrtens <hauke@hauke-m.de>
Sat, 5 Jun 2021 22:26:13 +0000 (00:26 +0200)
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@maxlinear.com>
toolchain/Config.in
toolchain/gdb/Makefile

index 6dda9af92d6cbf6e25cb55b2f858c875fc51c4bb..8ff5438d7991c434005cdf57827f33174e8e2fae 100644 (file)
@@ -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
index 05e3c7de3c3d9fec0b0fee0891c20b25c62b35d7..2708eff869808121065aeca86bd89d8cf68e274d 100644 (file)
@@ -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