diff options
author | Gustavo Zacarias <gustavo@zacarias.com.ar> | 2010-06-09 10:36:26 -0300 |
---|---|---|
committer | Peter Korsgaard <jacmet@sunsite.dk> | 2010-07-01 21:42:32 +0200 |
commit | 3404ad7c4fd5997ba7becf239ab8bc5b919393aa (patch) | |
tree | bf4a1d787f51f7f8aac70693f86a4a1446356a52 /package/bash/bash.mk | |
parent | da32c7ca2d488ffdd2e37a1cc533338741342a3c (diff) |
bash: bump to 4.1.7(1) and migrate to autotargets
Closes #1993
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Diffstat (limited to 'package/bash/bash.mk')
-rw-r--r-- | package/bash/bash.mk | 131 |
1 files changed, 26 insertions, 105 deletions
diff --git a/package/bash/bash.mk b/package/bash/bash.mk index 5abae559b..d7bb699e1 100644 --- a/package/bash/bash.mk +++ b/package/bash/bash.mk @@ -3,109 +3,30 @@ # bash # ############################################################# -BASH_VERSION:=3.2 -BASH_SOURCE:=bash-$(BASH_VERSION).tar.gz -BASH_SITE:=$(BR2_GNU_MIRROR)/bash -BASH_CAT:=$(ZCAT) -BASH_DIR:=$(BUILD_DIR)/bash-$(BASH_VERSION) -BASH_BINARY:=bash -BASH_TARGET_BINARY:=bin/bash -$(DL_DIR)/$(BASH_SOURCE): - $(call DOWNLOAD,$(BASH_SITE),$(BASH_SOURCE)) - -bash-source: $(DL_DIR)/$(BASH_SOURCE) - -bash-unpacked: $(BASH_DIR)/.unpacked - -$(BASH_DIR)/.unpacked: $(DL_DIR)/$(BASH_SOURCE) - $(BASH_CAT) $(DL_DIR)/$(BASH_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) - - toolchain/patch-kernel.sh $(BASH_DIR) package/bash/ bash??-\* - # This is broken when -lintl is added to LIBS - $(SED) 's,LIBS_FOR_BUILD =.*,LIBS_FOR_BUILD =,g' \ - $(BASH_DIR)/builtins/Makefile.in - # using target's LDFLAGS as LDFLAGS_FOR_BUILD is b0rked - -$(SED) '/^LDFLAGS_FOR_BUILD/d' $(BASH_DIR)/{,*/{,*/}}Makefile.in - $(CONFIG_UPDATE) $(BASH_DIR)/support - touch $@ - -$(BASH_DIR)/.configured: $(BASH_DIR)/.unpacked - # bash_cv_have_mbstate_t=yes - (cd $(BASH_DIR); rm -rf config.cache; \ - $(AUTOCONF) && \ - $(TARGET_CONFIGURE_OPTS) \ - $(TARGET_CONFIGURE_ARGS) \ - CCFLAGS_FOR_BUILD="$(HOST_CFLAGS)" \ - ac_cv_func_setvbuf_reversed=no \ - ac_cv_have_decl_sys_siglist=yes \ - bash_cv_job_control_missing=present \ - bash_cv_sys_named_pipes=present \ - bash_cv_unusable_rtsigs=no \ - bash_cv_func_ctype_nonascii=yes \ - bash_cv_decl_under_sys_siglist=yes \ - bash_cv_ulimit_maxfds=yes \ - bash_cv_getcwd_malloc=yes \ - bash_cv_func_sigsetjmp=present \ - bash_cv_printf_a_format=yes \ - ./configure $(QUIET) \ - --target=$(GNU_TARGET_NAME) \ - --host=$(GNU_TARGET_NAME) \ - --build=$(GNU_HOST_NAME) \ - --prefix=/usr \ - --exec-prefix=/usr \ - --bindir=/usr/bin \ - --sbindir=/usr/sbin \ - --libdir=/lib \ - --libexecdir=/usr/lib \ - --sysconfdir=/etc \ - --datadir=/usr/share \ - --localstatedir=/var \ - --mandir=/usr/share/man \ - --infodir=/usr/share/info \ - --includedir=/usr/include \ - $(DISABLE_NLS) \ - $(DISABLE_LARGEFILE) \ - --with-curses \ - --enable-alias \ - --without-bash-malloc \ - $(ENABLE_DEBUG) \ - ) - touch $@ - -$(BASH_DIR)/$(BASH_BINARY): $(BASH_DIR)/.configured - $(MAKE1) CC_FOR_BUILD="$(HOSTCC)" -C $(BASH_DIR) - -$(TARGET_DIR)/$(BASH_TARGET_BINARY): $(BASH_DIR)/$(BASH_BINARY) - mkdir -p $(TARGET_DIR)/bin - $(MAKE1) DESTDIR=$(TARGET_DIR) -C $(BASH_DIR) install - rm -f $(TARGET_DIR)/bin/bash* - mv $(TARGET_DIR)/usr/bin/bash* $(TARGET_DIR)/bin/ - (cd $(TARGET_DIR)/bin; /bin/ln -fs bash sh) - rm -rf $(TARGET_DIR)/share/locale - -# If both bash and busybox are selected, make certain bash wins -# the fight over who gets to own the /bin/sh symlink. -ifeq ($(BR2_PACKAGE_BUSYBOX),y) -bash: ncurses busybox host-autoconf $(TARGET_DIR)/$(BASH_TARGET_BINARY) -else -bash: ncurses host-autoconf $(TARGET_DIR)/$(BASH_TARGET_BINARY) -endif - -# If both bash and busybox are selected, the /bin/sh symlink -# may need to be reinstated by the clean targets. -bash-clean: - -$(MAKE1) DESTDIR=$(TARGET_DIR) -C $(BASH_DIR) uninstall - rm -f $(TARGET_DIR)/$(BASH_TARGET_BINARY) - -$(MAKE1) -C $(BASH_DIR) clean - -bash-dirclean: - rm -rf $(BASH_DIR) - -############################################################# -# -# Toplevel Makefile options -# -############################################################# -ifeq ($(BR2_PACKAGE_BASH),y) -TARGETS+=bash -endif +BASH_VERSION = 4.1 +BASH_SITE = $(BR2_GNU_MIRROR)/bash +BASH_DEPENDENCIES = ncurses + +# Save the old sh file/link if there is one and symlink bash->sh +define BASH_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \ + DESTDIR=$(TARGET_DIR) exec_prefix=/ install + rm -f $(TARGET_DIR)/bin/bashbug + if [ -e $(TARGET_DIR)/bin/sh ]; then \ + mv -f $(TARGET_DIR)/bin/sh $(TARGET_DIR)/bin/sh.prebash; \ + fi + ln -sf bash $(TARGET_DIR)/bin/sh +endef + +# Restore the old shell file/link if there was one +define BASH_UNINSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE) DESTDIR=$(TARGET_DIR) \ + -C $(BASH_DIR) exec_prefix=/ uninstall + rm -f $(TARGET_DIR)/bin/sh + if [ -e $(TARGET_DIR)/bin/sh.prebash ]; then \ + mv -f $(TARGET_DIR)/bin/sh.prebash $(TARGET_DIR)/bin/sh; \ + fi +endef + +$(eval $(call AUTOTARGETS,package,bash)) |