diff options
author | Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> | 2010-06-04 14:04:40 +0200 |
---|---|---|
committer | Richard Purdie <rpurdie@linux.intel.com> | 2010-07-02 15:41:35 +0100 |
commit | 30216c65e59e7072bed5001598240dcc58017940 (patch) | |
tree | bbbe00b0888b3e8f6ef00b449444b1d70a19a316 /bitbake/lib/bb | |
parent | cf79cf127b370160b59e088acec187b0f0212e7f (diff) | |
download | openembedded-core-30216c65e59e7072bed5001598240dcc58017940.tar.gz openembedded-core-30216c65e59e7072bed5001598240dcc58017940.tar.bz2 openembedded-core-30216c65e59e7072bed5001598240dcc58017940.tar.xz openembedded-core-30216c65e59e7072bed5001598240dcc58017940.zip |
cache: use a set() for __depends
to make updating depends easier/more intuitive/eventually faster
(Bitbake rev: f7c69462b8ba726861898817cc5b13174c78e35a)
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
Diffstat (limited to 'bitbake/lib/bb')
-rw-r--r-- | bitbake/lib/bb/cache.py | 10 | ||||
-rw-r--r-- | bitbake/lib/bb/parse/__init__.py | 4 |
2 files changed, 6 insertions, 8 deletions
diff --git a/bitbake/lib/bb/cache.py b/bitbake/lib/bb/cache.py index 8c1e6922f..59ea8cfc7 100644 --- a/bitbake/lib/bb/cache.py +++ b/bitbake/lib/bb/cache.py @@ -106,8 +106,7 @@ class Cache: if fn in self.clean: return self.depends_cache[fn][var] - if not fn in self.depends_cache: - self.depends_cache[fn] = {} + self.depends_cache.setdefault(fn, {}) if fn != self.data_fn: # We're trying to access data in the cache which doesn't exist @@ -131,13 +130,12 @@ class Cache: # Make sure __depends makes the depends_cache # If we're a virtual class we need to make sure all our depends are appended # to the depends of fn. - depends = self.getVar("__depends", virtualfn) or [] + depends = self.getVar("__depends", virtualfn) or set() self.depends_cache.setdefault(fn, {}) if "__depends" not in self.depends_cache[fn] or not self.depends_cache[fn]["__depends"]: self.depends_cache[fn]["__depends"] = depends - for dep in depends: - if dep not in self.depends_cache[fn]["__depends"]: - self.depends_cache[fn]["__depends"].append(dep) + else: + self.depends_cache[fn]["__depends"].update(depends) # Make sure the variants always make it into the cache too self.getVar('__VARIANTS', virtualfn, True) diff --git a/bitbake/lib/bb/parse/__init__.py b/bitbake/lib/bb/parse/__init__.py index fc06841d3..95f372b00 100644 --- a/bitbake/lib/bb/parse/__init__.py +++ b/bitbake/lib/bb/parse/__init__.py @@ -56,8 +56,8 @@ def update_mtime(f): def mark_dependency(d, f): if f.startswith('./'): f = "%s/%s" % (os.getcwd(), f[2:]) - deps = bb.data.getVar('__depends', d) or [] - deps.append( (f, cached_mtime(f)) ) + deps = bb.data.getVar('__depends', d) or set() + deps.update([(f, cached_mtime(f))]) bb.data.setVar('__depends', deps, d) def supports(fn, data): |