mirror of
https://github.com/rust-lang/cargo
synced 2024-10-04 06:49:15 +00:00
Initial README with some commands sketched out
This commit is contained in:
parent
227d4e83ef
commit
4de86d2eec
73
README.md
73
README.md
|
@ -0,0 +1,73 @@
|
|||
## Porcelain
|
||||
|
||||
### cargo-compile
|
||||
|
||||
```
|
||||
$ cargo compile
|
||||
```
|
||||
|
||||
This command assumes the following directory structure:
|
||||
|
||||
```
|
||||
|Cargo.toml
|
||||
|~src
|
||||
| | {main,lib}.rs
|
||||
|~target
|
||||
| |~x86_64-apple-darwin
|
||||
| | |~lib
|
||||
| | | |~[symlinked dependencies]
|
||||
| | | | [build artifacts]
|
||||
| |~...
|
||||
```
|
||||
|
||||
When running `cargo compile`, Cargo runs the following steps:
|
||||
|
||||
* `cargo verify --manifest=[location of Cargo.toml]`
|
||||
* ... TODO: dependency resolution and downloading ...
|
||||
* `cargo prepare`
|
||||
* `cargo rustc --out-dir=[from Cargo.toml]/[platform] -L [from Cargo.toml]/[platform]/lib ...`
|
||||
|
||||
## Plumbing
|
||||
|
||||
### cargo-verify
|
||||
|
||||
```
|
||||
$ cargo verify --manifest=MANIFEST
|
||||
```
|
||||
|
||||
Verifies that the manifest is in the location specified, in a valid
|
||||
format, and contains all of the required sections.
|
||||
|
||||
#### Success
|
||||
|
||||
```
|
||||
{ "success": true }
|
||||
```
|
||||
|
||||
#### Errors
|
||||
|
||||
```
|
||||
{
|
||||
"invalid": < "not-found" | "invalid-format" >,
|
||||
"missing-field": [ required-field... ],
|
||||
"missing-source": bool,
|
||||
"unwritable-target": bool
|
||||
}
|
||||
```
|
||||
|
||||
### cargo-rustc
|
||||
|
||||
```
|
||||
$ cargo rustc --out-dir=LOCATION -L LIBDIR -- ...ARGS
|
||||
```
|
||||
|
||||
### cargo-prepare
|
||||
|
||||
Prepare the directories (including symlinking dependency libraries) to
|
||||
be ready for the flags Cargo plans to pass into `rustc`.
|
||||
|
||||
## NOTES and OPEN QUESTIONS
|
||||
|
||||
* We need to support per-platform calls to `make` (et al) to build
|
||||
native (mostly C) code. Should this be part of `prepare` or a
|
||||
different step between `prepare` and `cargo-rustc`.
|
|
@ -1,5 +1,7 @@
|
|||
#[crate_id="cargo-rustc"];
|
||||
|
||||
extern crate rustc;
|
||||
|
||||
use std::os::args;
|
||||
use std::io::process::Process;
|
||||
|
||||
|
@ -13,6 +15,8 @@ fn main() {
|
|||
let mut arguments = args();
|
||||
arguments.shift();
|
||||
|
||||
println!("host: {}", driver::host_triple());
|
||||
|
||||
if arguments[0] != ~"--" {
|
||||
fail!("LOL");
|
||||
} else {
|
||||
|
|
Loading…
Reference in a new issue