
Hello Simon,
On vr, 2014-05-23 at 15:37 -1000, Simon Glass wrote:
On 9 May 2014 12:31, Jeroen Hofstee dasuboot@myspectrum.nl wrote:
Hello,
tools/Makefile uses the following substitution
HOST_EXTRACFLAGS += -include $(srctree)/include/libfdt_env.h \ $(patsubst -I%,-idirafter%, $(UBOOTINCLUDE)) \ ...
Which adds -idirafterinclude when compiling image-fit.c. Since mentioned file includes sha256.h, which is a system include on FreeBSD, the system version is included instead of the intended U-boot include/sha256.h and building fails. Without the substitution it builds successfully.
What is the intention of using idirafter?
I believe this is so that U-Boot headers are available when building. You might need to add a work-around like we have for libfdt_env.h. It is also possible that there is a more general solution, sorry I'm not sure what it might be.
Thanks for mentioning the libfdt_env.h. As mentioned in the thread discussing the patch errno.h is one of the reasons to require the dirafter, since the tools need the host version of it. A possible solution could perhaps be to place such standard headers in a separate directory and only include it for an u-boot build. The tools can then be compiled without the idirafter and not including this location as an include path.
Regards, Jeroen