02e5cef14c
Not all our shells do install a pointer to /bin/sh. Besides, between those that do and multiple ones are enabled, the last one to install wins the the symlink. Add a new config choice in the system sub-menu that allows the user to explicitly select the shell to provide /bin/sh. If busybox is not enabled, default to using dash, a POSIX shell. Remove the symlink creation from bash.mk at the same time. Note: for every shell, we select them, except busybox, on which we depend, on the assumption that we do not want to force busybox in case the user decided not to enable it. [Peter: remove redundant !BR2_PACKAGE_BUSYBOX dependency] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Gustavo Zacarias <gustavo@zacarias.com.ar> Cc: Arnout Vandecappelle <arnout@mind.be> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
41 lines
1.2 KiB
Makefile
41 lines
1.2 KiB
Makefile
################################################################################
|
|
#
|
|
# bash
|
|
#
|
|
################################################################################
|
|
|
|
BASH_VERSION = 4.3
|
|
BASH_SITE = $(BR2_GNU_MIRROR)/bash
|
|
# Build after since bash is better than busybox shells
|
|
BASH_DEPENDENCIES = ncurses readline host-bison \
|
|
$(if $(BR2_PACKAGE_BUSYBOX),busybox)
|
|
BASH_CONF_OPTS = --with-installed-readline
|
|
BASH_LICENSE = GPLv3+
|
|
BASH_LICENSE_FILES = COPYING
|
|
|
|
BASH_CONF_ENV += \
|
|
ac_cv_rl_prefix="$(STAGING_DIR)" \
|
|
ac_cv_rl_version="$(READLINE_VERSION)" \
|
|
bash_cv_job_control_missing=present \
|
|
bash_cv_sys_named_pipes=present \
|
|
bash_cv_func_sigsetjmp=present \
|
|
bash_cv_printf_a_format=yes
|
|
|
|
# Parallel build sometimes fails because some of the generator tools
|
|
# are built twice (i.e. while executing).
|
|
BASH_MAKE = $(MAKE1)
|
|
|
|
# The static build needs some trickery
|
|
ifeq ($(BR2_PREFER_STATIC_LIB),y)
|
|
BASH_CONF_OPTS += --enable-static-link --without-bash-malloc
|
|
endif
|
|
|
|
# Make /bin/sh -> bash (no other shell, better than busybox shells)
|
|
define BASH_INSTALL_TARGET_CMDS
|
|
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \
|
|
DESTDIR=$(TARGET_DIR) exec_prefix=/ install
|
|
rm -f $(TARGET_DIR)/bin/bashbug
|
|
endef
|
|
|
|
$(eval $(autotools-package))
|