base.bbclass: fix PACKAGECONFIG handling code

PACKAGECONFIG flag code only handles that when it has 3 or 4 items in flag,
it may have a stale data if some flags doesn't need DEPENDS and RDEPENDS.

(From OE-Core rev: 884cab0428cff2ffd070b6f36b688ca9851fbe43)

Signed-off-by: Yao Zhao <yao.zhao@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Yao Zhao 2012-08-02 12:06:36 -04:00 committed by Richard Purdie
parent 61ed74a725
commit 771f89498c

View File

@ -382,20 +382,19 @@ python () {
if flag == "defaultval": if flag == "defaultval":
continue continue
items = flagval.split(",") items = flagval.split(",")
if len(items) == 3: num = len(items)
enable, disable, depend = items if num > 4:
rdepend = "" bb.error("Only enable,disable,depend,rdepend can be specified!")
elif len(items) == 4:
enable, disable, depend, rdepend = items
if flag in pkgconfig: if flag in pkgconfig:
if depend: if num >= 3 and items[2]:
extradeps.append(depend) extradeps.append(items[2])
if rdepend: if num >= 4 and items[3]:
extrardeps.append(rdepend) extrardeps.append(items[3])
if enable: if num >= 1 and items[0]:
extraconf.append(enable) extraconf.append(items[0])
elif disable: elif num >= 2 and items[1]:
extraconf.append(disable) extraconf.append(items[1])
appendVar('DEPENDS', extradeps) appendVar('DEPENDS', extradeps)
appendVar('RDEPENDS_${PN}', extrardeps) appendVar('RDEPENDS_${PN}', extrardeps)
appendVar('EXTRA_OECONF', extraconf) appendVar('EXTRA_OECONF', extraconf)