glibc: install glibc utils to target
authorNikita Sobolev <Nikita.Sobolev@synopsys.com>
Thu, 21 Nov 2019 12:31:20 +0000 (15:31 +0300)
committerYann E. MORIN <yann.morin.1998@free.fr>
Sat, 23 Nov 2019 10:53:14 +0000 (11:53 +0100)
With this patch we introduce an option for glibc, which
installs getconf, ldconfig and ldd utilities on target, that
may be useful in debugging. By default these utilities are
built, but not installed to the target.
ldd is a bash script, so it has bash dependency.

Signed-off-by: Nikita Sobolev <Nikita.Sobolev@synopsys.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
package/glibc/Config.in
package/glibc/glibc.mk

index 7821251087e11c4a2ad63b7a2eee3c89861c9312..323767fc8a4209e767406ef1eb1c4a2081875389 100644 (file)
@@ -8,3 +8,13 @@ config BR2_PACKAGE_GLIBC
        help
          https://www.gnu.org/software/libc/
 endif
+
+config BR2_PACKAGE_GLIBC_UTILS
+       bool "Install glibc utilities"
+       depends on BR2_PACKAGE_BASH
+       help
+         Enabling this option will compile and install the getconf,
+         ldconfig and ldd glibc utilities for the target.
+
+comment "glibc utilities need bash"
+       depends on !BR2_PACKAGE_BASH
index c6acc43ff515e1ddc9e1b78793b48d9615b4f4bb..5cb19aabb982b634663e08652b4e9591fc77e456 100644 (file)
@@ -143,10 +143,17 @@ ifeq ($(BR2_PACKAGE_GDB),y)
 GLIBC_LIBS_LIB += libthread_db.so.*
 endif
 
+ifeq ($(BR2_PACKAGE_GLIBC_UTILS),y)
+GLIBC_TARGET_UTILS_BIN = posix/getconf elf/ldconfig elf/ldd
+endif
+
 define GLIBC_INSTALL_TARGET_CMDS
        for libpattern in $(GLIBC_LIBS_LIB); do \
                $(call copy_toolchain_lib_root,$$libpattern) ; \
        done
+       $(foreach util,$(GLIBC_TARGET_UTILS_BIN), \
+               $(INSTALL) -D -m 0755 $(@D)/build/$(util) $(TARGET_DIR)/bin/$(notdir $(util))
+       )
 endef
 
 $(eval $(autotools-package))