From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeroen Hofstee Date: Sat, 24 May 2014 23:09:39 +0200 Subject: [U-Boot] idirafter causes host sha256.h to be included In-Reply-To: References: <1399674680.1721.14.camel@yellow> Message-ID: <1400965779.1984.31.camel@yellow> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hello Simon, On vr, 2014-05-23 at 15:37 -1000, Simon Glass wrote: > On 9 May 2014 12:31, Jeroen Hofstee 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