
Hi Andrew,
2016-08-22 23:57 GMT+09:00 Andrew F. Davis afd@ti.com:
I think we are still missing the case of some option being defined one way in the SPL build case but another the regular case, which one should be added to the defconfig?
#ifdef CONFIG_SPL_BUILD #define CONFIG_FOO 100 #else #define CONFIG_FOO 200 #endif
is a case where we can not migrate as is.
Generally, it will be changed as follows:
config FOO int "foo"
config SPL_FOO int "foo for SPL"
It is too much to have regular/SPL variants for all cases, so we need to draw a line somewhere, though.
In a set of slides[0] I found on the subject it looks like there was going to be a system where we could conditionally define options in defconfig based on whether we were building SPL or not. So we could run moveconfig in multiple passes and find what kind of tag we need.
S:CONFIG_FOO=200 T:CONFIG_FOO=300 ST:CONFIG_BAR=y +S:CONFIG_BAZ=y +T:CONFIG_QUX=y +ST:CONFIG_QUUX=y etc..
Did this ever get implemented?
[0] http://www.denx.de/wiki/pub/U-Boot/MiniSummitELCE2014/uboot2014_kconfig.pdf
At first, I implemented like that, but I realized it was tedious to use.
So, commit e02ee2548 switched to single .config like Linux has. Instead, this requires separate CONFIGs for U-Boot proper and SPL as mentioned above.