diff --git a/package/glibc/Config.in b/package/glibc/Config.in index b8c2573d96..7b2f246947 100644 --- a/package/glibc/Config.in +++ b/package/glibc/Config.in @@ -11,10 +11,6 @@ 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, ldd and locale glibc utilities for the target. - -comment "glibc utilities need bash" - depends on !BR2_PACKAGE_BASH diff --git a/package/glibc/glibc.mk b/package/glibc/glibc.mk index 8eafa55ae1..1b38f8aedb 100644 --- a/package/glibc/glibc.mk +++ b/package/glibc/glibc.mk @@ -74,10 +74,19 @@ endef endif GLIBC_CONF_ENV = \ - ac_cv_path_BASH_SHELL=/bin/bash \ + ac_cv_path_BASH_SHELL=/bin/$(if $(BR2_PACKAGE_BASH),bash,sh) \ libc_cv_forced_unwind=yes \ libc_cv_ssp=no +# POSIX shell does not support localization, so remove the corresponding +# syntax from ldd if bash is not selected. +ifeq ($(BR2_PACKAGE_BASH),) +define GLIBC_LDD_NO_BASH + $(SED) 's/$$"/"/g' $(@D)/elf/ldd.bash.in +endef +GLIBC_POST_PATCH_HOOKS += GLIBC_LDD_NO_BASH +endif + # Override the default library locations of /lib64/ and # /usr/lib64// for RISC-V. ifeq ($(BR2_riscv),y)