[Buildroot] [PATCH] glibc: install glibc utils to target
Thomas Petazzoni
thomas.petazzoni at bootlin.com
Wed Nov 20 13:49:54 UTC 2019
Hello Nikita,
Thanks for the patch!
On Wed, 20 Nov 2019 15:16:43 +0300
Nikita Sobolev <Nikita.Sobolev at synopsys.com> wrote:
> diff --git a/package/glibc/Config.in b/package/glibc/Config.in
> index 7821251087..43d6445177 100644
> --- a/package/glibc/Config.in
> +++ b/package/glibc/Config.in
> @@ -8,3 +8,18 @@ config BR2_PACKAGE_GLIBC
> help
> https://www.gnu.org/software/libc/
> endif
> +
> +if BR2_TOOLCHAIN_BUILDROOT_GLIBC
This condition is redundant, since glibc/Config.in already starts with:
if BR2_TOOLCHAIN_BUILDROOT_GLIBC
> +config BR2_PACKAGE_GLIBC_UTILS
> + bool "Compile and install glibc utilities"
Just:
bool "Install glibc utilities"
> + depends on BR2_PACKAGE_GLIBC
This is not needed.
> + 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"
Glibc -> glibc
> + depends on !BR2_PACKAGE_BASH
> +
> +endif
> diff --git a/package/glibc/glibc.mk b/package/glibc/glibc.mk
> index 68c6670007..db82792c2e 100644
> --- a/package/glibc/glibc.mk
> +++ b/package/glibc/glibc.mk
> @@ -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 = /build/posix/getconf /build/elf/ldconfig /build/elf/ldd
Drop the leading slash in each entry, and maybe the build/ as well, so:
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
> + for util in $(GLIBC_TARGET_UTILS_BIN); do \
> + $(INSTALL) -D -m 0755 $(@D)/$$util $(TARGET_DIR)/bin/ ;\
> + done
Please use a make foreach loop instead, and a full destination path for
the target:
$(foreach util,$(GLIBC_TARGET_UTILS_BIN), \
$(INSTALL) -D -m 0755 $(@D)/build/$(util) $(TARGET_DIR)/bin/$(notdir $(util))
)
Thanks!
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
More information about the buildroot
mailing list