mirror of
git://git.yoctoproject.org/poky.git
synced 2025-07-19 12:59:02 +02:00
meta: introduce KCONFIG_CONFIG_ENABLE_MENUCONFIG
Currently, uboot do_menuconfig task is breaking when UBOOT_CONFIG is chosen rather than UBOOT_MACHINE, it simply fails with the following errors: | make: *** No rule to make target 'menuconfig'. Stio. | Command failed. | Press any key to continue... this is due to the work directory of do_menuconfig is set to ${B} but not ${B}/$config. We should distinguish two situations: 1) When there is only one config item in UBOOT_CONFIG, do_menuconfig should work just like how it works for UBOOT_MACHINE. 2) When there are multiple config items in UBOOT_CONFIG, do_menuconfig should print out some information saying it's not supported other than just failing. This patch mainly aims to fix that by introducing a extra variable KCONFIG_CONFIG_ENABLE_MENUCONFIG, it would be set to 'false' for situation 2), and when it's set to 'true', then set KCONFIG_CONFIG_ROOTDIR correctly in uboot-config.bbclass to let do_menuconfig task work. DEVTOOL_DISABLE_MENUCONFIG could be replaced by this new variable KCONFIG_CONFIG_ENABLE_MENUCONFIG. (From OE-Core rev: f9e834e317880cf47dbb4f8285bc36d743beae5e) Signed-off-by: Ming Liu <liu.ming50@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
7e2199be52
commit
0241bdb49c
|
@ -32,10 +32,15 @@ CROSS_CURSES_INC = '-DCURSES_LOC="<curses.h>"'
|
|||
TERMINFO = "${STAGING_DATADIR_NATIVE}/terminfo"
|
||||
|
||||
KCONFIG_CONFIG_COMMAND ??= "menuconfig"
|
||||
KCONFIG_CONFIG_ENABLE_MENUCONFIG ??= "true"
|
||||
KCONFIG_CONFIG_ROOTDIR ??= "${B}"
|
||||
python do_menuconfig() {
|
||||
import shutil
|
||||
|
||||
if not bb.utils.to_boolean(d.getVar("KCONFIG_CONFIG_ENABLE_MENUCONFIG")):
|
||||
bb.fatal("do_menuconfig is disabled, please check KCONFIG_CONFIG_ENABLE_MENUCONFIG variable.")
|
||||
return
|
||||
|
||||
config = os.path.join(d.getVar('KCONFIG_CONFIG_ROOTDIR'), ".config")
|
||||
configorig = os.path.join(d.getVar('KCONFIG_CONFIG_ROOTDIR'), ".config.orig")
|
||||
|
||||
|
|
|
@ -140,4 +140,10 @@ python () {
|
|||
|
||||
if not found:
|
||||
raise bb.parse.SkipRecipe("The selected UBOOT_CONFIG key %s has no match in %s." % (ubootconfig, ubootconfigflags.keys()))
|
||||
|
||||
if len(ubootconfig) == 1:
|
||||
d.setVar('KCONFIG_CONFIG_ROOTDIR', os.path.join(d.getVar("B"), d.getVar("UBOOT_MACHINE").strip()))
|
||||
else:
|
||||
# Disable menuconfig for multiple configs
|
||||
d.setVar('KCONFIG_CONFIG_ENABLE_MENUCONFIG', "false")
|
||||
}
|
||||
|
|
|
@ -26,7 +26,6 @@ do_configure () {
|
|||
unset j
|
||||
done
|
||||
unset i
|
||||
DEVTOOL_DISABLE_MENUCONFIG=true
|
||||
else
|
||||
if [ -n "${UBOOT_MACHINE}" ]; then
|
||||
oe_runmake -C ${S} O=${B} ${UBOOT_MACHINE}
|
||||
|
|
|
@ -968,9 +968,9 @@ def modify(args, config, basepath, workspace):
|
|||
'}\n')
|
||||
if rd.getVarFlag('do_menuconfig','task'):
|
||||
f.write('\ndo_configure:append() {\n'
|
||||
' if [ ! ${DEVTOOL_DISABLE_MENUCONFIG} ]; then\n'
|
||||
' cp ${B}/.config ${S}/.config.baseline\n'
|
||||
' ln -sfT ${B}/.config ${S}/.config.new\n'
|
||||
' if [ ${@ oe.types.boolean(\'${KCONFIG_CONFIG_ENABLE_MENUCONFIG}\') } = True ]; then\n'
|
||||
' cp ${KCONFIG_CONFIG_ROOTDIR}/.config ${S}/.config.baseline\n'
|
||||
' ln -sfT ${KCONFIG_CONFIG_ROOTDIR}/.config ${S}/.config.new\n'
|
||||
' fi\n'
|
||||
'}\n')
|
||||
if initial_rev:
|
||||
|
|
Loading…
Reference in New Issue
Block a user