summaryrefslogtreecommitdiffstats
path: root/meta/lib/oe/utils.py
diff options
context:
space:
mode:
Diffstat (limited to 'meta/lib/oe/utils.py')
-rw-r--r--meta/lib/oe/utils.py40
1 files changed, 40 insertions, 0 deletions
diff --git a/meta/lib/oe/utils.py b/meta/lib/oe/utils.py
index 330a5ff94a..822d0cd586 100644
--- a/meta/lib/oe/utils.py
+++ b/meta/lib/oe/utils.py
@@ -126,6 +126,46 @@ def features_backfill(var,d):
126 if addfeatures: 126 if addfeatures:
127 d.appendVar(var, " " + " ".join(addfeatures)) 127 d.appendVar(var, " " + " ".join(addfeatures))
128 128
129def all_distro_features(d, features, truevalue="1", falsevalue=""):
130 """
131 Returns truevalue if *all* given features are set in DISTRO_FEATURES,
132 else falsevalue. The features can be given as single string or anything
133 that can be turned into a set.
134
135 This is a shorter, more flexible version of
136 bb.utils.contains("DISTRO_FEATURES", features, truevalue, falsevalue, d).
137
138 Without explicit true/false values it can be used directly where
139 Python expects a boolean:
140 if oe.utils.all_distro_features(d, "foo bar"):
141 bb.fatal("foo and bar are mutually exclusive DISTRO_FEATURES")
142
143 With just a truevalue, it can be used to include files that are meant to be
144 used only when requested via DISTRO_FEATURES:
145 require ${@ oe.utils.all_distro_features(d, "foo bar", "foo-and-bar.inc")
146 """
147 return bb.utils.contains("DISTRO_FEATURES", features, truevalue, falsevalue, d)
148
149def any_distro_features(d, features, truevalue="1", falsevalue=""):
150 """
151 Returns truevalue if at least *one* of the given features is set in DISTRO_FEATURES,
152 else falsevalue. The features can be given as single string or anything
153 that can be turned into a set.
154
155 This is a shorter, more flexible version of
156 bb.utils.contains_any("DISTRO_FEATURES", features, truevalue, falsevalue, d).
157
158 Without explicit true/false values it can be used directly where
159 Python expects a boolean:
160 if not oe.utils.any_distro_features(d, "foo bar"):
161 bb.fatal("foo, bar or both must be set in DISTRO_FEATURES")
162
163 With just a truevalue, it can be used to include files that are meant to be
164 used only when requested via DISTRO_FEATURES:
165 require ${@ oe.utils.any_distro_features(d, "foo bar", "foo-or-bar.inc")
166
167 """
168 return bb.utils.contains_any("DISTRO_FEATURES", features, truevalue, falsevalue, d)
129 169
130def packages_filter_out_system(d): 170def packages_filter_out_system(d):
131 """ 171 """