diff options
author | Eelco Dolstra <e.dolstra@tudelft.nl> | 2005-01-20 14:10:19 +0000 |
---|---|---|
committer | Eelco Dolstra <e.dolstra@tudelft.nl> | 2005-01-20 14:10:19 +0000 |
commit | 05f0430de1d8eeae222a1306d4d0f7f407c8ce7d (patch) | |
tree | 2bd947476885025bd52f61430c269398008fb093 /src/libstore/derivations.hh | |
parent | 6ff48e77f6da3c523a29c254b315d83e310290b3 (diff) |
* Another change to low-level derivations. The last one this year, I
promise :-) This allows derivations to specify on *what* output
paths of input derivations they are dependent. This helps to
prevent unnecessary downloads. For instance, a build might be
dependent on the `devel' and `lib' outputs of some library
component, but not the `docs' output.
Diffstat (limited to 'src/libstore/derivations.hh')
-rw-r--r-- | src/libstore/derivations.hh | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/libstore/derivations.hh b/src/libstore/derivations.hh index c264981d2..9358db2ed 100644 --- a/src/libstore/derivations.hh +++ b/src/libstore/derivations.hh @@ -28,12 +28,17 @@ struct DerivationOutput }; typedef map<string, DerivationOutput> DerivationOutputs; + +/* For inputs that are sub-derivations, we specify exactly which + output IDs we are interested in. */ +typedef map<Path, StringSet> DerivationInputs; + typedef map<string, string> StringPairs; struct Derivation { DerivationOutputs outputs; /* keyed on symbolic IDs */ - PathSet inputDrvs; /* inputs that are sub-derivations */ + DerivationInputs inputDrvs; /* inputs that are sub-derivations */ PathSet inputSrcs; /* inputs that are sources */ string platform; Path builder; |