busybox: adjust configuration for non-MMU targets
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Mon, 30 May 2011 21:56:59 +0000 (23:56 +0200)
committerPeter Korsgaard <jacmet@sunsite.dk>
Sun, 12 Jun 2011 19:52:52 +0000 (21:52 +0200)
The swaponoff applet doesn't build (and doesn't make sense) on non-MMU
platforms.

The ash shell cannot build on non-MMU platforms (because it uses
fork()), so select the hush shell instead.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
package/busybox/busybox.mk

index ca963c167facf968e0531386b8ab8b8d047b535a..b77880ca7ddb739bec6c1dd2c036e1bf23117584 100644 (file)
@@ -133,6 +133,14 @@ define BUSYBOX_INTERNAL_SHADOW_PASSWORDS
 endef
 endif
 
+ifeq ($(BR2_USE_MMU),)
+define BUSYBOX_DISABLE_MMU_APPLETS
+       $(call KCONFIG_DISABLE_OPT,CONFIG_SWAPONOFF,$(BUSYBOX_BUILD_CONFIG))
+       $(call KCONFIG_DISABLE_OPT,CONFIG_ASH,$(BUSYBOX_BUILD_CONFIG))
+       $(call KCONFIG_ENABLE_OPT,CONFIG_HUSH,$(BUSYBOX_BUILD_CONFIG))
+endef
+endif
+
 # We do this here to avoid busting a modified .config in configure
 BUSYBOX_POST_EXTRACT_HOOKS += BUSYBOX_COPY_CONFIG
 
@@ -147,6 +155,7 @@ define BUSYBOX_CONFIGURE_CMDS
        $(BUSYBOX_NETKITBASE)
        $(BUSYBOX_NETKITTELNET)
        $(BUSYBOX_INTERNAL_SHADOW_PASSWORDS)
+       $(BUSYBOX_DISABLE_MMU_APPLETS)
        @yes "" | $(MAKE) ARCH=$(KERNEL_ARCH) CROSS_COMPILE="$(TARGET_CROSS)" \
                -C $(@D) oldconfig
 endef