diff options
author | Eelco Dolstra <e.dolstra@tudelft.nl> | 2003-07-21 20:07:12 +0000 |
---|---|---|
committer | Eelco Dolstra <e.dolstra@tudelft.nl> | 2003-07-21 20:07:12 +0000 |
commit | 249988a787d26046bf7b389594ff25029229e3d9 (patch) | |
tree | 6d44fafeb9979c0dee57706d8d0dcb64d9e13bc8 /src/normalise.cc | |
parent | 49231fbe419d37717b0d951377fbfc9bf445dd55 (diff) |
* Allow the output/expression id to be forced to a certain
value; this potentially dangerous feature enables better
sharing for those paths for which the content is known in
advance (e.g., because a content hash is given).
* Fast builds: if we can expand all output paths of a derive
expression, we don't have to build.
Diffstat (limited to 'src/normalise.cc')
-rw-r--r-- | src/normalise.cc | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/normalise.cc b/src/normalise.cc index fcb9c4d0d..d06c8bf36 100644 --- a/src/normalise.cc +++ b/src/normalise.cc @@ -88,19 +88,18 @@ Slice normaliseFState(FSId id) /* We can skip running the builder if we can expand all output paths from their ids. */ - bool fastBuild = false; -#if 0 + bool fastBuild = true; for (OutPaths::iterator i = outPaths.begin(); i != outPaths.end(); i++) { try { expandId(i->second, i->first); - } catch (...) { + } catch (Error & e) { + debug(format("fast build failed: %1%") % e.what()); fastBuild = false; break; } } -#endif if (!fastBuild) { |