From 05f0430de1d8eeae222a1306d4d0f7f407c8ce7d Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 20 Jan 2005 14:10:19 +0000 Subject: * 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. --- src/libstore/derivations.hh | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/libstore/derivations.hh') diff --git a/src/libstore/derivations.hh b/src/libstore/derivations.hh index c264981d265c..9358db2edae0 100644 --- a/src/libstore/derivations.hh +++ b/src/libstore/derivations.hh @@ -28,12 +28,17 @@ struct DerivationOutput }; typedef map DerivationOutputs; + +/* For inputs that are sub-derivations, we specify exactly which + output IDs we are interested in. */ +typedef map DerivationInputs; + typedef map 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; -- cgit 1.4.1