See attached PPT.
specific plan
- build description
- Dependency analysis
- incremental build
- Build in Cloud
Brand new build system:
* Deterministic (deterministic, hermetic)
** The same input and action must produce the same output
** Various optimizations are possible
*** Incremental build, parallel build, cache
* Compared to Makefile:
** Build description distributed to each package
** Each rule describes the input file and output type, the output file and build action are implicit (derived)
** what to do, not how to do it (the difference between assembly and high-level languages)
** Content-based, not timestamp-based