bump version
[buildroot.git] / package / bash / bash.mk
blobbbb17b91d5b5b6d39494681430b6e21622220692
1 #############################################################
3 # bash
5 #############################################################
6 BASH_VERSION:=3.2
7 BASH_SOURCE:=bash-$(BASH_VERSION).tar.gz
8 BASH_SITE:=$(BR2_GNU_MIRROR)/bash
9 BASH_CAT:=$(ZCAT)
10 BASH_DIR:=$(BUILD_DIR)/bash-$(BASH_VERSION)
11 BASH_BINARY:=bash
12 BASH_TARGET_BINARY:=bin/bash
14 BASH_CONFIGURE_CLUE:=ac_cv_func_setvbuf_reversed=no
15 ifeq ($(BR2_GCC_USE_SJLJ_EXCEPTIONS),y)
16 BASH_CONFIGURE_CLUE+=bash_cv_func_sigsetjmp=yes
17 else
18 BASH_CONFIGURE_CLUE+=bash_cv_func_sigsetjmp=no
19 endif
20 BASH_CONFIGURE_CLUE+= ac_cv_func_getcwd=yes
22 BASH_BISON_FLAGS = -y
24 $(DL_DIR)/$(BASH_SOURCE):
25 $(WGET) -P $(DL_DIR) $(BASH_SITE)/$(BASH_SOURCE)
27 $(BASH_DIR)/.unpacked: $(DL_DIR)/$(BASH_SOURCE)
28 $(BASH_CAT) $(DL_DIR)/$(BASH_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
29 toolchain/patch-kernel.sh $(BASH_DIR) package/bash/ bash??-\*
30 # This is broken when -lintl is added to LIBS
31 $(SED) 's,LIBS_FOR_BUILD =.*,LIBS_FOR_BUILD =,g' \
32 $(BASH_DIR)/builtins/Makefile.in
33 # using target's LDFLAGS as LDFLAGS_FOR_BUILD is b0rked
34 -$(SED) '/^LDFLAGS_FOR_BUILD/d' $(BASH_DIR)/{,*/{,*/}}Makefile.in
35 $(CONFIG_UPDATE) $(BASH_DIR)/support
36 touch $@
38 $(BASH_DIR)/.configured: PKG:=BASH
39 $(BASH_DIR)/.configured: $(BASH_DIR)/.unpacked
40 # bash_cv_have_mbstate_t=yes
41 (cd $(BASH_DIR); rm -rf config.cache; \
42 CCFLAGS_FOR_BUILD="$(HOST_CFLAGS)" \
43 $(BASH_CONFIGURE_CLUE) \
44 $(AUTO_CONFIGURE_TARGET) \
45 --prefix=/usr \
46 --exec-prefix=/usr \
47 --bindir=/usr/bin \
48 --sbindir=/usr/sbin \
49 --libdir=/lib \
50 --libexecdir=/usr/lib \
51 --sysconfdir=/etc \
52 --datadir=/usr/share \
53 --localstatedir=/var \
54 --mandir=/usr/share/man \
55 --infodir=/usr/share/info \
56 --includedir=/usr/include \
57 $(DISABLE_NLS) \
58 $(DISABLE_LARGEFILE) \
59 --with-curses \
60 --enable-alias \
61 --without-bash-malloc \
63 touch $@
65 $(BASH_DIR)/$(BASH_BINARY): $(BASH_DIR)/.configured
66 $(MAKE1) CC=$(TARGET_CC) CC_FOR_BUILD="$(HOSTCC)" -C $(BASH_DIR)
68 $(TARGET_DIR)/$(BASH_TARGET_BINARY): $(BASH_DIR)/$(BASH_BINARY)
69 mkdir -p $(TARGET_DIR)/bin
70 $(MAKE1) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(BASH_DIR) install
71 rm -f $(TARGET_DIR)/bin/bash*
72 mv $(TARGET_DIR)/usr/bin/bash* $(TARGET_DIR)/bin/
73 (cd $(TARGET_DIR)/bin; /bin/ln -fs bash sh)
74 ifneq ($(BR2_HAVE_INFOPAGES),y)
75 rm -rf $(TARGET_DIR)/usr/share/info
76 endif
77 ifneq ($(BR2_HAVE_MANPAGES),y)
78 rm -rf $(TARGET_DIR)/usr/share/man
79 endif
80 rm -rf $(TARGET_DIR)/share/locale
81 rm -rf $(TARGET_DIR)/usr/share/doc
83 # If both bash and busybox are selected, make certain bash wins
84 # the fight over who gets to own the /bin/sh symlink.
85 ifeq ($(BR2_PACKAGE_BUSYBOX),y)
86 bash: ncurses busybox $(TARGET_DIR)/$(BASH_TARGET_BINARY)
87 else
88 bash: ncurses $(TARGET_DIR)/$(BASH_TARGET_BINARY)
89 endif
91 bash-source: $(DL_DIR)/$(BASH_SOURCE)
93 bash-unpacked: $(BASH_DIR)/.unpacked
95 # If both bash and busybox are selected, the /bin/sh symlink
96 # may need to be reinstated by the clean targets.
97 bash-clean:
98 -$(MAKE1) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(BASH_DIR) uninstall
99 -$(MAKE1) -C $(BASH_DIR) clean
100 rm -f $(TARGET_DIR)/$(BASH_TARGET_BINARY)
102 bash-dirclean:
103 rm -rf $(BASH_DIR)
105 #############################################################
107 # Toplevel Makefile options
109 #############################################################
110 ifeq ($(BR2_PACKAGE_BASH),y)
111 TARGETS+=bash
112 endif