[source] toolchain: Allow external toolchains to specify libthread-db

LEDE Commits lede-commits at lists.infradead.org
Sat Mar 4 12:05:46 PST 2017


florian pushed a commit to source.git, branch master:
https://git.lede-project.org/7f0c95a7dfff8aa0b6f5e3e78263cab108245e4c

commit 7f0c95a7dfff8aa0b6f5e3e78263cab108245e4c
Author: Florian Fainelli <f.fainelli at gmail.com>
AuthorDate: Thu Mar 2 11:37:29 2017 -0800

    toolchain: Allow external toolchains to specify libthread-db
    
    We need to let external toolchains be able to specify the path and
    specification file to the libthread-db POSIX thread debugging shared
    libraries.
    
    This fixes GDB not being able to be installed because it is depending on
    libthread-db:
    
    Collected errors:
     * satisfy_dependencies_for: Cannot satisfy the following dependencies
     * for gdb:
     *      libthread-db *
     * opkg_install_cmd: Cannot install package gdb.
    
    Signed-off-by: Florian Fainelli <f.fainelli at gmail.com>
---
 package/libs/toolchain/Makefile | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/package/libs/toolchain/Makefile b/package/libs/toolchain/Makefile
index cf4a209..8a90b5e 100644
--- a/package/libs/toolchain/Makefile
+++ b/package/libs/toolchain/Makefile
@@ -202,6 +202,26 @@ $(call Package/libc/Default)
   TITLE:=POSIX thread library debugging support
 endef
 
+define Package/libthread-db/config
+	menu "Configuration"
+	depends on EXTERNAL_TOOLCHAIN && PACKAGE_libthread-db
+
+	config LIBTHREAD_DB_ROOT_DIR
+		string
+		prompt "POSIX thread debugging shared library base directory"
+		depends on EXTERNAL_TOOLCHAIN && PACKAGE_libthread-db
+		default TOOLCHAIN_ROOT  if !NATIVE_TOOLCHAIN
+		default "/"  if NATIVE_TOOLCHAIN
+
+	config LIBTHREAD_DB_FILE_SPEC
+		string
+		prompt "POSIX thread debugging shared library files (use wildcards)"
+		depends on EXTERNAL_TOOLCHAIN && PACKAGE_libthread-db
+		default "./lib/libthread_db{-*.so,.so.*}"
+
+	endmenu
+endef
+
 define Package/librt
 $(call Package/libc/Default)
   TITLE:=POSIX.1b RealTime extension library
@@ -517,6 +537,14 @@ else
 	exit 0
   endef
 
+  define Package/libthread-db/install
+	for file in $(call qstrip,$(CONFIG_LIBTHREAD_DB_FILE_SPEC)); do \
+		$(INSTALL_DIR) $(1)/lib ; \
+		$(CP) $(call qstrip,$(CONFIG_LIBTHREAD_DB_ROOT_DIR))/$$$$file $(1)/lib/ ; \
+	done ; \
+	exit 0
+  endef
+
   define Package/librt/install
 	for file in $(call qstrip,$(CONFIG_LIBRT_FILE_SPEC)); do \
 		$(INSTALL_DIR) $(1)/lib ; \



More information about the lede-commits mailing list