boot/uboot: fix build of old U-Boot versions
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tue, 5 Jul 2016 09:31:08 +0000 (11:31 +0200)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tue, 5 Jul 2016 10:06:47 +0000 (12:06 +0200)
Since commit 0dca644e443c8f28bfe5aa1c98201dc3b49e1165 ("boot/uboot: fix
missing host-openssl for i.MX28 target"), we pass HOSTCFLAGS/HOSTLDFLAGS
in the environment of U-Boot when building. This is needed to allow
U-Boot to find the OpenSSL headers/libraries when they are
needed. Unfortunately, this breaks the build with old U-Boot versions as
the U-Boot Makefiles were not designed to have HOSTCFLAGS passed in,
which causes some important CFLAGS from the U-Boot build system to be
ignored.

As suggested by Arnout, we pass the HOST_CFLAGS inside HOSTCC directly,
which allows to pass the CFLAGS without overriding the internal U-Boot
CFLAGS.

Tested with an old U-Boot (2012.10), and a modern U-Boot in a
configuration that needs OpenSSL.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
boot/uboot/uboot.mk

index a2274eea71756791a639dad5cd866c8616a31d38..4e6863dc27fc13b1ea2455b90cb191fe45fea00b 100644 (file)
@@ -93,7 +93,7 @@ endif
 UBOOT_MAKE_OPTS += \
        CROSS_COMPILE="$(TARGET_CROSS)" \
        ARCH=$(UBOOT_ARCH) \
-       HOSTCFLAGS="$(HOST_CFLAGS)" \
+       HOSTCC="$(HOSTCC) $(HOST_CFLAGS)" \
        HOSTLDFLAGS="$(HOST_LDFLAGS)"
 
 ifeq ($(BR2_TARGET_UBOOT_NEEDS_DTC),y)