• Masahiro Yamada's avatar
    kconfig: set SYMBOL_AUTO to the symbol marked with defconfig_list · f4bc1eef
    Masahiro Yamada authored
    The 'defconfig_list' is a weird attribute.  If the '.config' is
    missing, conf_read_simple() iterates over all visible defaults,
    then it uses the first one for which fopen() succeeds.
    
    config DEFCONFIG_LIST
    	string
    	depends on !UML
    	option defconfig_list
    	default "/lib/modules/$UNAME_RELEASE/.config"
    	default "/etc/kernel-config"
    	default "/boot/config-$UNAME_RELEASE"
    	default "$ARCH_DEFCONFIG"
    	default "arch/$ARCH/defconfig"
    
    However, like other symbols, the first visible default is always
    written out to the .config file.  This might be different from what
    has been actually used.
    
    For example, on my machine, the third one "/boot/config-$UNAME_RELEASE"
    is opened, like follows:
    
      $ rm .config
      $ make oldconfig 2>/dev/null
      scripts/kconfig/conf  --oldconfig Kconfig
      #
      # using defaults found in /boot/config-4.4.0-112-generic
      #
      *
      * Restart config...
      *
      *
      * IRQ subsystem
      *
      Expose irq internals in debugfs (GENERIC_IRQ_DEBUGFS) [N/y/?] (NEW)
    
    However, the resulted .config file contains the first one since it is
    visible:
    
      $ grep CONFIG_DEFCONFIG_LIST .config
      CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
    
    In order to stop confusing people, prevent this CONFIG option from
    being written to the .config file.
    Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
    Reviewed-by: default avatarUlf Magnusson <ulfalizer@gmail.com>
    f4bc1eef
menu.c 21.3 KB