Files
poky/meta/classes/cml1.bbclass
Jacob Kroon 7bbaf8b149 cml1.bbclass: Fix return code handling in do_menuconfig()
On my system, doing "bitbake -c menuconfig busybox" pops up
a gnome-terminal, I can see that the compilation starts but then the
terminal automatically exits.

It turns out I don't have ncurses development package installed on my host,
and OE's host sysroot isn't being passed to gcc, so compilation fails.
The window automatically closes before I can read the error message
since the '$' in the return code check needs to be escaped.

Make sure the user can read the error message by properly checking the
return code.

(From OE-Core rev: a2241a92fc48e4286de17b23124a9e2f0fd8185b)

Signed-off-by: Jacob Kroon <jacob.kroon@mikrodidakt.se>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-01-28 11:41:21 +00:00

41 lines
1.2 KiB
Plaintext

cml1_do_configure() {
set -e
unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
oe_runmake oldconfig
}
EXPORT_FUNCTIONS do_configure
addtask configure after do_unpack do_patch before do_compile
inherit terminal
OE_TERMINAL_EXPORTS += "HOST_EXTRACFLAGS HOSTLDFLAGS HOST_LOADLIBES TERMINFO"
HOST_EXTRACFLAGS = "${BUILD_CFLAGS} ${BUILD_LDFLAGS}"
HOSTLDFLAGS = "${BUILD_LDFLAGS}"
HOST_LOADLIBES = "-lncurses"
TERMINFO = "${STAGING_DATADIR_NATIVE}/terminfo"
python do_menuconfig() {
try:
mtime = os.path.getmtime(".config")
except OSError:
mtime = 0
oe_terminal("${SHELL} -c \"make menuconfig; if [ \$? -ne 0 ]; then echo 'Command failed.'; printf 'Press any key to continue... '; read r; fi\"", '${PN} Configuration', d)
# FIXME this check can be removed when the minimum bitbake version has been bumped
if hasattr(bb.build, 'write_taint'):
try:
newmtime = os.path.getmtime(".config")
except OSError:
newmtime = 0
if newmtime > mtime:
bb.note("Configuration changed, recompile will be forced")
bb.build.write_taint('do_compile', d)
}
do_menuconfig[depends] += "ncurses-native:do_populate_sysroot"
do_menuconfig[nostamp] = "1"
addtask menuconfig after do_configure