bash: fix static build
authorBaruch Siach <baruch@tkos.co.il>
Mon, 18 Sep 2017 18:30:27 +0000 (21:30 +0300)
committerArnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Sun, 24 Sep 2017 13:22:13 +0000 (15:22 +0200)
When building bash statically, configure does not initialize the
SHOBJ_STATUS variable. The SHOBJ_STATUS make variable in
examples/loadables/Makefile.in must resolve to either 'supported' or
'unsupported'. Otherwise, the install-$(SHOBJ_STATUS) target does not
exist.

This leads to the following build failure:

make[2]: Entering directory '.../output/build/bash-4.4/examples/loadables'
make[2]: *** No rule to make target 'install-', needed by 'install'.  Stop.
make[2]: Leaving directory '.../output/build/bash-4.4/examples/loadables'
Makefile:793: recipe for target 'install' failed

with the following defconfig:

BR2_arm=y
BR2_STATIC_LIBS=y
BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y
BR2_PACKAGE_BASH=y

Note that this doesn't terminate the build so it's not detected as an
error by the autobuilders.

Set SHOBJ_STATUS in the configure environment as a workaround.

Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
package/bash/bash.mk

index 32c87a659e16d2bcc4dd96d1e4fef2c200855fc6..dd7c26fc12589bf6357db159dcb63e2ab57dce12 100644 (file)
@@ -25,6 +25,7 @@ BASH_CONF_ENV += \
 # The static build needs some trickery
 ifeq ($(BR2_STATIC_LIBS),y)
 BASH_CONF_OPTS += --enable-static-link
+BASH_CONF_ENV += SHOBJ_STATUS=unsupported
 # bash wants to redefine the getenv() function. To check whether this is
 # possible, AC_TRY_RUN is used which is not possible in
 # cross-compilation.