rust-lang/cargo — pull request #763 by tomaka (2014-10-27 16:31:54+00:00)
Title: Implement the new custom build commands

Does include:
- The build script is compiled as a regular target in `target/build/$pkg`, its output is written in the same directory in the `output` file, and has `target/build/$pkg/out` available to write temporary files
- Rename `plugin` to `for_host`
- A different system for passing command descriptions to the shell
- Deprecation of the old custom build script system with a warning if it is being used

Does not include:
- Support for `links`, I plan to add this after this PR is merged
- `DEP__`: You just need to uncomment a block of code, but can't be implemented without support for `links`
- Build dependencies, I plan to add this after this PR is merged
- Tests to check that `rustc-flags` are correctly passed to rustc, because rustc doesn't support the `-l` flag yet. I'll add this in a commit at the end of the PR once rust supports it (or maybe even before if I compile the fork).
- There's no feedback of the custom build system in the `Compilation` struct
- The `build` directory is not used when determining the fingerprint, something that was apparently done for the `native` directory

I recommend reviewing commit by commit. I implemented each feature one by one (tests should pass for each individual commit).