2014-06-24 00:02:22 +00:00
|
|
|
|
Cargo downloads your Rust project’s dependencies and compiles your project.
|
|
|
|
|
|
2014-10-18 06:17:02 +00:00
|
|
|
|
Learn more at http://doc.crates.io/.
|
2014-06-24 00:02:22 +00:00
|
|
|
|
|
2014-07-14 15:06:14 +00:00
|
|
|
|
## Installing cargo from nightlies
|
2014-07-07 14:49:14 +00:00
|
|
|
|
|
|
|
|
|
Cargo has nightlies available for use. The cargo source is not always guaranteed
|
|
|
|
|
to compile on rust master as it may lag behind by a day or two. Nightlies,
|
|
|
|
|
however, will run regardless of this fact!
|
|
|
|
|
|
2014-08-17 22:58:07 +00:00
|
|
|
|
```sh
|
|
|
|
|
triple=x86_64-unknown-linux-gnu
|
2014-09-19 02:16:19 +00:00
|
|
|
|
curl -O https://static.rust-lang.org/cargo-dist/cargo-nightly-$triple.tar.gz
|
2014-08-17 22:58:07 +00:00
|
|
|
|
tar xf cargo-nightly-$triple.tar.gz
|
|
|
|
|
./cargo-nightly-$triple/install.sh
|
2014-07-07 14:49:14 +00:00
|
|
|
|
```
|
|
|
|
|
|
2014-07-30 17:11:36 +00:00
|
|
|
|
Nightlies are available for the following triples:
|
2014-07-07 14:49:14 +00:00
|
|
|
|
|
2014-09-19 02:16:19 +00:00
|
|
|
|
* [`x86_64-unknown-linux-gnu`](https://static.rust-lang.org/cargo-dist/cargo-nightly-x86_64-unknown-linux-gnu.tar.gz)
|
|
|
|
|
* [`i686-unknown-linux-gnu`](https://static.rust-lang.org/cargo-dist/cargo-nightly-i686-unknown-linux-gnu.tar.gz)
|
|
|
|
|
* [`x86_64-apple-darwin`](https://static.rust-lang.org/cargo-dist/cargo-nightly-x86_64-apple-darwin.tar.gz)
|
|
|
|
|
* [`i686-apple-darwin`](https://static.rust-lang.org/cargo-dist/cargo-nightly-i686-apple-darwin.tar.gz)
|
2014-11-10 12:44:28 +00:00
|
|
|
|
* [`x86_64-pc-windows-gnu`](https://static.rust-lang.org/cargo-dist/cargo-nightly-x86_64-pc-windows-gnu.tar.gz)
|
|
|
|
|
* [`i686-pc-windows-gnu`](https://static.rust-lang.org/cargo-dist/cargo-nightly-i686-pc-windows-gnu.tar.gz)
|
2014-07-30 17:11:36 +00:00
|
|
|
|
|
|
|
|
|
Note that if you're using the windows snapshot you will need Mingw-w64 installed
|
|
|
|
|
as well as MSYS. The installation script needs to be run inside the MSYS shell.
|
2014-07-07 14:49:14 +00:00
|
|
|
|
|
2014-04-11 10:11:45 +00:00
|
|
|
|
## Compiling cargo
|
|
|
|
|
|
2014-09-07 18:25:26 +00:00
|
|
|
|
Cargo requires the following tools and packages to build:
|
|
|
|
|
|
|
|
|
|
* `rustc`
|
|
|
|
|
* `python`
|
2014-10-31 03:34:11 +00:00
|
|
|
|
* `curl`
|
2014-09-07 18:25:26 +00:00
|
|
|
|
* `cmake`
|
|
|
|
|
* `pkg-config`
|
|
|
|
|
* OpenSSL headers (`libssl-dev` package on ubuntu)
|
|
|
|
|
|
|
|
|
|
Cargo can then be compiled like many other standard unix-like projects:
|
2014-07-30 17:11:36 +00:00
|
|
|
|
|
2014-08-17 22:58:07 +00:00
|
|
|
|
```sh
|
|
|
|
|
git clone https://github.com/rust-lang/cargo
|
|
|
|
|
cd cargo
|
2014-12-21 17:37:32 +00:00
|
|
|
|
git submodule update --init
|
2014-11-17 20:55:54 +00:00
|
|
|
|
./.travis.install.deps.sh
|
2014-12-29 21:05:22 +00:00
|
|
|
|
./configure --local-rust-root="$PWD"/rustc
|
2014-08-17 22:58:07 +00:00
|
|
|
|
make
|
|
|
|
|
make install
|
2014-07-30 17:11:36 +00:00
|
|
|
|
```
|
2014-07-29 05:13:30 +00:00
|
|
|
|
|
2014-07-30 17:11:36 +00:00
|
|
|
|
More options can be discovered through `./configure`, such as compiling cargo
|
|
|
|
|
for more than one target. For example, if you'd like to compile both 32 and 64
|
|
|
|
|
bit versions of cargo on unix you would use:
|
|
|
|
|
|
|
|
|
|
```
|
2014-07-30 19:43:29 +00:00
|
|
|
|
$ ./configure --target=i686-unknown-linux-gnu,x86_64-unknown-linux-gnu
|
2014-07-30 17:11:36 +00:00
|
|
|
|
```
|
2014-04-11 10:11:45 +00:00
|
|
|
|
|
2014-06-24 20:37:28 +00:00
|
|
|
|
## Contributing to the Docs
|
|
|
|
|
|
2014-09-11 21:12:26 +00:00
|
|
|
|
To contribute to the docs, all you need to do is change the markdown files in
|
|
|
|
|
the `src/doc` directory.
|
2014-06-24 20:37:28 +00:00
|
|
|
|
|
2014-07-30 17:11:36 +00:00
|
|
|
|
## Reporting Issues
|
|
|
|
|
|
|
|
|
|
Found a bug? We'd love to know about it!
|
|
|
|
|
|
|
|
|
|
Please report all issues on the github [issue tracker][issues].
|
|
|
|
|
|
|
|
|
|
[issues]: https://github.com/rust-lang/cargo/issues
|
|
|
|
|
|
2014-06-24 15:10:31 +00:00
|
|
|
|
## License
|
|
|
|
|
|
|
|
|
|
Cargo is primarily distributed under the terms of both the MIT license
|
|
|
|
|
and the Apache License (Version 2.0).
|
|
|
|
|
|
|
|
|
|
See LICENSE-APACHE and LICENSE-MIT for details.
|
2014-10-02 19:40:33 +00:00
|
|
|
|
|
|
|
|
|
### Third party software
|
|
|
|
|
|
|
|
|
|
This product includes software developed by the OpenSSL Project
|
|
|
|
|
for use in the OpenSSL Toolkit (http://www.openssl.org/).
|
|
|
|
|
|
|
|
|
|
In binary form, this product includes software that is licensed under the
|
|
|
|
|
terms of the GNU General Public License, version 2, with a linking exception,
|
|
|
|
|
which can be obtained from the [upstream repository][1].
|
|
|
|
|
|
|
|
|
|
[1]: https://github.com/libgit2/libgit2
|
|
|
|
|
|