
Hi Masahiro-san,
On Fri, May 15, 2015 at 12:10 AM, Masahiro Yamada yamada.masahiro@socionext.com wrote:
Hi Joe,
2015-05-15 3:02 GMT+09:00 Joe Hershberger joe.hershberger@gmail.com:
Hi Masahiro-san,
On Thu, May 14, 2015 at 10:36 AM, Masahiro Yamada yamada.masahiro@socionext.com wrote:
2015-05-14 7:28 GMT+09:00 Joe Hershberger joe.hershberger@ni.com:
When moving configs, it is important to know what was defined in the config header even if it duplicates the configs coming from Kconfig.
tools/moveconfig.py now defines KCONFIG_IGNORE_DUPLICATES to prevent the filtering from happening and selecting wrong values for the defconfig.
Signed-off-by: Joe Hershberger joe.hershberger@ni.com
Changes in v3: -New for version 3
Changes in v2: None
scripts/Makefile.autoconf | 3 ++- tools/moveconfig.py | 1 + 2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/scripts/Makefile.autoconf b/scripts/Makefile.autoconf index f054081..36bfa17 100644 --- a/scripts/Makefile.autoconf +++ b/scripts/Makefile.autoconf @@ -58,7 +58,8 @@ quiet_cmd_autoconf = GEN $@ $(CPP) $(c_flags) $2 -DDO_DEPS_ONLY -dM $(srctree)/include/common.h > $@.tmp && { \ sed -n -f $(srctree)/tools/scripts/define2mk.sed $@.tmp | \ while read line; do \
if ! grep -q "$${line%=*}=" include/config/auto.conf; then \
if [ -n "${KCONFIG_IGNORE_DUPLICATES}" ] || \
! grep -q "$${line%=*}=" include/config/auto.conf; then \ echo "$$line"; \ fi \ done > $@; \
diff --git a/tools/moveconfig.py b/tools/moveconfig.py index 9135e1d..97ff597 100755 --- a/tools/moveconfig.py +++ b/tools/moveconfig.py @@ -340,6 +340,7 @@ class Slot: cmd = list(self.make_cmd) if self.cross_compile: cmd.append('CROSS_COMPILE=%s' % self.cross_compile)
cmd.append('KCONFIG_IGNORE_DUPLICATES=1') cmd.append('include/autoconf.mk') self.ps = subprocess.Popen(cmd, stdout=self.devnull, stderr=PIPE) self.state = STATE_SILENTOLDCONFIG
This patch is not clear to me.
This was specifically a problem when moving a config that defaulted to true in the Kconfig. That meant that it would be "duplicate removed" from the include since it was already true (by default) in the Kconfig. So it had the effect of disabling that config in every board. This stops the filtering in the case where we are trying to move configs instead of trying to build the board in this mixed config system environment.
Uh, make sense.
I was almost forgetting how the "don't apply" version was implemented.
My new one parses .config, defconfig as well as autoconf.mk, so please check if we still need to this hack.
I checked it out. The same problem exists and the patch is still needed.
Also, I don't believe it is valid to check the .config for things to skip. Just because there is a mention of something does not mean it is the correct value. This is specifically the case for using savedefconfig. For savedefconfig to work properly, the user must add the entry to the Kconfig menu first, then run moveconfig.py. You seem to be expecting that users run moveconfig.py before editing the Kconfigs.
8<snip>8
Cheers, -Joe