Busybox make is not properly called in case:
* compiler name tuple does not match target tuple (as used in multilib
 compilers, for example: i686-pc-linux-gnu-gcc can compile for
 x86_64-unknown-linux-gnu targets. To solve this the 'SUBARCH' need to be
 set)
* CONFIG_EXTRA_CFLAGS need to e set to select the proper sysroot to
 compile against in busybox
* LDFLAGS to link against the proper sysroot.

Signed-off-by: Remy Bohmer <li...@bohmer.net>
---
 v2: Reworked review comments from Michael Olbrich

 rules/busybox.make |   21 ++++++++++++---------
 1 files changed, 12 insertions(+), 9 deletions(-)

diff --git a/rules/busybox.make b/rules/busybox.make
index 536aa80..45fd20f 100644
--- a/rules/busybox.make
+++ b/rules/busybox.make
@@ -48,15 +48,18 @@ $(STATEDIR)/busybox.prepare:
        @$(call touch)
 
 BUSYBOX_MAKE_OPT := \
-       ARCH=$(PTXCONF_ARCH_STRING) \
-       CROSS_COMPILE=$(COMPILER_PREFIX) \
-       CONFIG_EXTRA_CFLAGS="$(CROSS_CFLAGS)" \
-       HOSTCC=$(HOSTCC) \
-       SKIP_STRIP=y
-
-ifdef PTXCONF_BUSYBOX_RFKILL
-BUSYBOX_MAKE_OPT += CFLAGS="-I$(KERNEL_HEADERS_INCLUDE_DIR)"
-endif
+       ARCH=$(PTXCONF_ARCH_STRING) \
+       SUBARCH=$(PTXCONF_ARCH_STRING) \
+       CROSS_COMPILE=$(COMPILER_PREFIX) \
+       HOSTCC=$(HOSTCC)
+
+BUSYBOX_MAKE_ENV := \
+       $(CROSS_ENV) \
+       CFLAGS="$(CROSS_CFLAGS) -I$(KERNEL_HEADERS_INCLUDE_DIR)"
+       SKIP_STRIP=y
+
+BUSYBOX_INSTAL_ENV := \
+       $(BUSYBOX_MAKE_ENV)
 
 BUSYBOX_INSTALL_OPT := \
        $(BUSYBOX_MAKE_OPT) \
-- 
1.7.5.4


-- 
ptxdist mailing list
ptxdist@pengutronix.de

Reply via email to