On Tue, Sep 04, 2018 at 11:38:46AM +0200, Marcin Niestrój wrote: > Hi Sasha, > > Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> writes: > > > On Mon, Sep 03, 2018 at 12:57:15PM +0200, Marcin Niestroj wrote: > >> All required defines are passed with command line -D options, so there > >> is no need to include full autoconf.h header. Additionally there were > >> compile time warnings printed when passed variables (CONFIG_HABV*) had > >> embedded environment variables, because macros in autoconf.h were > >> redefining these passed as command line arguments (-include is > >> processed later than -D option). > >> > >> Remove including autoconf.h header, so CONFIG_HABV* macros are only > >> defined with command line arguments, properly expanding embedded > >> variables. > >> > >> Signed-off-by: Marcin Niestroj <m.niestroj@xxxxxxxxxxxxxxxx> > >> --- > >> Changes rfc -> v1: new patch > >> > >> scripts/Makefile.lib | 1 - > >> 1 file changed, 1 deletion(-) > >> > >> diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib > >> index 3b1308605..c254b5b79 100644 > >> --- a/scripts/Makefile.lib > >> +++ b/scripts/Makefile.lib > >> @@ -433,7 +433,6 @@ cmd_imximage_S_dcd= \ > >> > >> imxcfg_cpp_flags = -Wp,-MD,$(depfile) -nostdinc -x assembler-with-cpp \ > >> -I $(srctree)/include -I $(srctree)/arch/arm/mach-imx/include \ > >> - -include include/generated/autoconf.h \ > >> -DCONFIG_HABV3_SRK_PEM=\"$(CONFIG_HABV3_SRK_PEM)\" \ > >> -DCONFIG_HABV3_CSF_CRT_DER=\"$(CONFIG_HABV3_CSF_CRT_DER)\" \ > >> -DCONFIG_HABV3_IMG_CRT_DER=\"$(CONFIG_HABV3_IMG_CRT_DER)\" \ > > > > the inclusion of autoconf.h is there so that we can use the CONFIG_* > > macros. See for example rch/arm/boards/tqma53/flash-header.imxcfg:36 > > > > #ifdef CONFIG_MACH_TQMA53_1GB_RAM > > Okay, so we cannot drop autoconf.h inclusion. That also means that we > need some other way to expand embedded variables in CONFIG_HAB* Kconfig > options. The problem is that autoconf.h overwrites (redefines) all > macros specified at command line. > > > > > What we can do instead is replace the -include with "-I > > $(objtree)/include" so that we can do a "#include > > <generated/autoconf.h>" in arch/arm/boards/tqma53/flash-header.imxcfg. > > Would that be fine aswell? > > This will also result in autoconf.h redefining macros specified at > command line, but only for that board (because of explicit "include > <generated/autoconf.h>"). Problem will surface once again when someone > will start using HAB for that board. > > Maybe we should expand all macros from autoconf.h? For example process > autoconf.h *somehow* and produce autoconf-expanded.h, which we could use > with "-include" option. This is just an idea, I do not know how to > implement that. Any other ideas? FYI I just posted another idea. Sascha -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox