mirror of
https://github.com/NixOS/nix.git
synced 2025-11-22 02:09:36 +01:00
* True parallel builds. Nix can now run as many build jobs in
parallel as possible (similar to GNU Make's `-j' switch). This is useful on SMP systems, but it is especially useful for doing builds on multiple machines. The idea is that a large derivation is initiated on one master machine, which then distributes sub-derivations to any number of slave machines. This should not happen synchronously or in lock-step, so the master must be capable of dealing with multiple parallel build jobs. We now have the infrastructure to support this. TODO: substitutes are currently broken.
This commit is contained in:
parent
aea436503e
commit
c8d3882cdc
12 changed files with 696 additions and 309 deletions
|
|
@ -8,7 +8,7 @@
|
|||
derivation, a path containing an equivalent closure expression is
|
||||
returned. This requires that the derivation is performed, unless a
|
||||
successor is known. */
|
||||
Path normaliseStoreExpr(const Path & nePath, PathSet pending = PathSet());
|
||||
Path normaliseStoreExpr(const Path & nePath);
|
||||
|
||||
/* Realise a closure store expression in the file system.
|
||||
|
||||
|
|
@ -16,15 +16,15 @@ Path normaliseStoreExpr(const Path & nePath, PathSet pending = PathSet());
|
|||
prevents infinite recursion for paths realised through a substitute
|
||||
(since when we build the substitute, we would first try to realise
|
||||
its output paths through substitutes... kaboom!). */
|
||||
void realiseClosure(const Path & nePath, PathSet pending = PathSet());
|
||||
void realiseClosure(const Path & nePath);
|
||||
|
||||
/* Ensure that a path exists, possibly by instantiating it by
|
||||
realising a substitute. */
|
||||
void ensurePath(const Path & path, PathSet pending = PathSet());
|
||||
void ensurePath(const Path & path);
|
||||
|
||||
/* Read a store expression, after ensuring its existence through
|
||||
ensurePath(). */
|
||||
StoreExpr storeExprFromPath(const Path & path, PathSet pending = PathSet());
|
||||
StoreExpr storeExprFromPath(const Path & path);
|
||||
|
||||
/* Get the list of root (output) paths of the given store
|
||||
expression. */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue