about summary refs log tree commit diff
path: root/src/normalise.cc
diff options
context:
space:
mode:
authorEelco Dolstra <e.dolstra@tudelft.nl>2003-07-21T20·07+0000
committerEelco Dolstra <e.dolstra@tudelft.nl>2003-07-21T20·07+0000
commit249988a787d26046bf7b389594ff25029229e3d9 (patch)
tree6d44fafeb9979c0dee57706d8d0dcb64d9e13bc8 /src/normalise.cc
parent49231fbe419d37717b0d951377fbfc9bf445dd55 (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.cc7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/normalise.cc b/src/normalise.cc
index fcb9c4d0d3..d06c8bf360 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) {