mirror of
https://github.com/rust-lang/cargo.git
synced 2025-09-25 11:14:46 +00:00
Fix the README
This commit is contained in:
parent
86b2a2a432
commit
b4e8630270
77
README.md
77
README.md
@ -1,3 +1,7 @@
|
||||
Cargo downloads your Rust project’s dependencies and compiles your project.
|
||||
|
||||
Learn more at http://crates.io/.
|
||||
|
||||
## Compiling cargo
|
||||
|
||||
You'll want to clone cargo using --recursive on git, to clone in it's submodule dependencies.
|
||||
@ -11,76 +15,3 @@ $ git submodule update
|
||||
```
|
||||
Then it's as simple as ```make``` and you're ready to go.
|
||||
|
||||
## 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`.
|
||||
|
Loading…
x
Reference in New Issue
Block a user