Thanks! > -----Original Message----- > From: Ahmad Fatoum <a.fatoum@xxxxxxxxxxxxxx> > Sent: Thursday, November 30, 2023 9:28 AM > To: Lior Weintraub <liorw@xxxxxxxxxx>; barebox@xxxxxxxxxxxxxxxxxxx > Subject: Re: Pass user defines for Barebox build > > CAUTION: External Sender > > Hi, > > On 29.11.23 11:13, Lior Weintraub wrote: > > Thanks Ahmad, > > > > On our Barebox porting we have a small piece of code that needs different > coding if we build it for QEMU or for the real HW. > > We are used to pass build defines in other projects so that is way we took > this approach. > > > > I assume the official way would be to set a new defconfig and define a new > platform? > > Currently our spider_defconfig has: > > CONFIG_MACH_SPIDER_MK1_EVK=y > > So the new one (spider-qemu_defconfig) would use: > > CONFIG_MACH_SPIDER_QEMU_EVK=y > > > > Is this the correct solution? > > I'd rather suggest either > > - Having the difference detected at runtime. > > - Have the difference encoded into the device tree: You can have > multiple ENTRY_FUNCTION, each with a different device tree and > get multiple images in the same build, one for each device tree. > > This avoids the confusion when the wrong image is used. You can even > combine them, see for example arch/arm/boards/stm32mp15xx- > dkx/lowlevel.c. > > Cheers, > Ahmad > > > > > Cheers, > > Lior. > > > >> -----Original Message----- > >> From: Ahmad Fatoum <a.fatoum@xxxxxxxxxxxxxx> > >> Sent: Wednesday, November 29, 2023 9:20 AM > >> To: Lior Weintraub <liorw@xxxxxxxxxx>; barebox@xxxxxxxxxxxxxxxxxxx > >> Subject: Re: Pass user defines for Barebox build > >> > >> CAUTION: External Sender > >> > >> Hello Lior, > >> > >> On 27.11.23 08:02, Lior Weintraub wrote: > >>> Hi guys, > >>> > >>> Is there a formal way to pass user compilation flags into Barebox build? > >> > >> There isn't. Both barebox and Linux have been broken in the past by distros > >> setting CFLAGS that force hardening options that require kernel/libc > cooperation, > >> which didn't apply to barebox. For that reason, the variables were prefixed > >> with KBUILD_ and a way to inject variables into the build of barebox itself > >> (i.e. not host tools) is intentionally not provided. > >> > >> What options do you want to inject? > >> > >>> I couldn't find one so I just patched the main Makefile > >>> diff --git a/Makefile b/Makefile > >>> index 471bbc2679..febc94b7f3 100644 > >>> --- a/Makefile > >>> +++ b/Makefile > >>> @@ -443,7 +443,7 @@ KBUILD_CPPFLAGS := -D__KERNEL__ - > >> D__BAREBOX__ $(LINUXINCLUDE) -fno-builti > >>> KBUILD_CFLAGS := -Wall -Wundef -Werror=strict-prototypes -Wno- > trigraphs > >> \ > >>> -fno-strict-aliasing -fno-common -fshort-wchar \ > >>> -Werror=implicit-function-declaration -Werror=implicit-int \ > >>> - -Os -pipe -Wmissing-prototypes -std=gnu89 > >>> + -Os -pipe -Wmissing-prototypes -std=gnu89 > >> $(BAREBOX_USER_CFLAGS) > >> > >> USER is an unfortunate name, because there's already > KBUILD_USERCFLAGS > >> and that user is short for userspace and not the user, who is building > >> barebox. > >> > >> Cheers, > >> Ahmad > >> > >>> KBUILD_AFLAGS := -D__ASSEMBLY__ > >>> KBUILD_AFLAGS_KERNEL := > >>> KBUILD_CFLAGS_KERNEL := > >>> > >>> This patch allowed me to set BAREBOX_CFLAGS environment when calling > >> make. > >>> > >>> Thanks, > >>> Lior. > >>> > >>> > >>> > >> > >> -- > >> Pengutronix e.K. | | > >> Steuerwalder Str. 21 | http://secure- > web.cisco.com/1V675vT6A56- > >> sSk-T9- > bJ2qzuaJbiJ0EB_N1QWP_UHYUKGBuj9PAjRQHPYsTfz9deA_5ev2NrI87w- > >> kH7EvvotDdB1MXS4OIYlI3dCXTV0YhfEZy- > >> > woT7YkA7cjsyhiUkvVJ_RIhamKrCuM300cDnHTGxcaoc6H6DkhUysqXNFY9FC > Xjser > >> C7dKTwiEPxhk_pdVn-S0-lW1YjHU-UonTqdBHcJvBCtjWkVOiihczwV- > >> > TCt9jiaam9NqGn_WreRxWWTC0hcFH0eAsBAi277FQmsFnxcBgaEKxI40JADKL > uW > >> F0/http%3A%2F%2Fwww.pengutronix.de%2F | > >> 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | > >> Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | > >> > > > > -- > Pengutronix e.K. | | > Steuerwalder Str. 21 | http://secure- > web.cisco.com/1aXu6Phv7ESjz7ccbTVcsr9n2LgVwuk7DbzthUPOTjNKG0vKA- > XyVeSHfJ_kVCyF5LiAtNYUqYwVUwYR5piRb8qva7N--- > REF9OYfH7r4u25TGbrGo-r3-MeWsqKBijlR6sxAHLou3FNPz_3pxFngZ_- > ElP06RRqDyCTYvFExUpH9dJ-6ejaeGRJJUP81u7- > TJkQVfzif88nfO0HTSTQhHp1GXyiPuSUwmGjJ_pJIEZvQILiuf53l- > Xvt3phI1udCVDGgu_- > X0UPL8tqLs71i0PcHutimKFPSCvKSdZK263I/http%3A%2F%2Fwww.pengutro > nix.de%2F | > 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | > Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | >