[Buildroot] [git commit] uboot: ensure host includes are searched before system default includes

Peter Korsgaard peter at korsgaard.com
Thu Mar 1 23:12:43 UTC 2018

commit: https://git.buildroot.net/buildroot/commit/?id=0bf80e4bcd5277e3ad935e03c632deba4c7316f2
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master

Commit baae5156ce37e (uboot: use local fdt headers) changed the uboot logic
to pass the host include directories with -idirafter instead of -I, so
include files local to u-boot would be preferred over host includes.

This unfortunately breaks configurations using
BR2_TARGET_UBOOT_NEEDS_OPENSSL on hosts with incompatible openssl headers
installed in the system default include directories as explained here:


The problem is that -idirafter directories gets added to the very end of the
search order, AFTER the system default directories.

Instead use -isystem which causes the directories to be added after -I but
before the system default directories.  With this in place, the include
directories of u-boot will first be scanned, followed by the host includes
and finally the system default include directories.

Signed-off-by: Peter Korsgaard <peter at korsgaard.com>
 boot/uboot/uboot.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/boot/uboot/uboot.mk b/boot/uboot/uboot.mk
index c7cd739150..5da339850d 100644
--- a/boot/uboot/uboot.mk
+++ b/boot/uboot/uboot.mk
@@ -131,7 +131,7 @@ endif
-	HOSTCC="$(HOSTCC) $(subst -I/,-idirafter /,$(subst -I /,-idirafter /,$(HOST_CFLAGS)))" \
+	HOSTCC="$(HOSTCC) $(subst -I/,-isystem /,$(subst -I /,-isystem /,$(HOST_CFLAGS)))" \

More information about the buildroot mailing list