diff options
-rw-r--r-- | bitbake/lib/bb/codeparser.py | 2 | ||||
-rw-r--r-- | bitbake/lib/bb/utils.py | 13 |
2 files changed, 14 insertions, 1 deletions
diff --git a/bitbake/lib/bb/codeparser.py b/bitbake/lib/bb/codeparser.py index de8d2eb..8439efb 100644 --- a/bitbake/lib/bb/codeparser.py +++ b/bitbake/lib/bb/codeparser.py @@ -103,7 +103,7 @@ class BufferedLogger(Logger): class PythonParser(): getvars = ("d.getVar", "bb.data.getVar", "data.getVar", "d.appendVar", "d.prependVar") - containsfuncs = ("bb.utils.contains", "base_contains", "oe.utils.contains") + containsfuncs = ("bb.utils.contains", "base_contains", "oe.utils.contains", "bb.utils.contains_any") execfuncs = ("bb.build.exec_func", "bb.build.exec_task") def warn(self, func, arg): diff --git a/bitbake/lib/bb/utils.py b/bitbake/lib/bb/utils.py index 0be45e1..1be1874 100644 --- a/bitbake/lib/bb/utils.py +++ b/bitbake/lib/bb/utils.py @@ -845,6 +845,19 @@ def contains(variable, checkvalues, truevalue, falsevalue, d): return truevalue return falsevalue +def contains_any(variable, checkvalues, truevalue, falsevalue, d): + val = d.getVar(variable, True) + if not val: + return falsevalue + val = set(val.split()) + if isinstance(checkvalues, basestring): + checkvalues = set(checkvalues.split()) + else: + checkvalues = set(checkvalues) + if checkvalues in val: + return truevalue + return falsevalue + def cpu_count(): return multiprocessing.cpu_count() |