README.md: add more details about Environment cloning

This commit is contained in:
Josh Holtrop 2014-03-27 12:02:46 -04:00
parent 5989e24ee6
commit 4818fd10fe

View File

@ -261,10 +261,17 @@ An Rscons::Environment consists of:
* a collection of targets to build * a collection of targets to build
* a collection of build hooks * a collection of build hooks
When cloning an environment, the construction variables and builders are When cloning an environment, by default the construction variables and builders
cloned, but the new environment does not inherit any of the targets, build are cloned, but the new environment does not inherit any of the targets, build
hooks, build directories, or the build root from the source environment. hooks, build directories, or the build root from the source environment.
The set of environment attributes that are cloned is controllable via the
`:clone` option to the `#clone` method.
For example, `env.clone(clone: :all)` will include construction variables,
builders, build hooks, build directories, and the build root.
The set of pending targets is never cloned.
Cloned environments contain "deep copies" of construction variables. Cloned environments contain "deep copies" of construction variables.
For example, in: For example, in: