
On Wed, Aug 11, 2021 at 06:56:31AM -0600, Simon Glass wrote: [snip]
Having thought a bit more, perhaps we have the wrong attitude to Kconfig. The CONFIG() macro I am talking about works by building an xxx or SPL_xxx config. If we have separate autoconf.h files for each phase (autoconf_spl.h etc.) then we don't actually need this. We just need to include the correct file. Any SPL_xxx config can be written as xxx. Similarly the Makefile rules can drop the $(P) I was proposing.
We can, in fact, generate separate autoconf.h files for each phase today, with no other changes. Unless I am missing something...?
If we can spit out {spl_,tpl_,}autoconf.h files that might help a bit. But would it help with the recent case of SPL has SATA+AHCI+!PCI while full U-Boot has SATA+AHCI+!PCI AND SATA+AHCI+PCI ? Today we can't support the SPL case without adding the handful of SPL_xxx symbols so that we can say we have SATA+AHCI without PCI.