2017-10-31 20:37:45 +00:00
|
|
|
|
# Cargo
|
|
|
|
|
|
2014-06-24 00:02:22 +00:00
|
|
|
|
Cargo downloads your Rust project’s dependencies and compiles your project.
|
|
|
|
|
|
2018-02-03 21:48:24 +00:00
|
|
|
|
Learn more at https://doc.rust-lang.org/cargo/
|
2014-06-24 00:02:22 +00:00
|
|
|
|
|
2016-03-12 18:40:03 +00:00
|
|
|
|
## Code Status
|
2017-10-31 20:37:45 +00:00
|
|
|
|
|
2019-08-23 22:15:50 +00:00
|
|
|
|
[![Build Status](https://dev.azure.com/rust-lang/cargo/_apis/build/status/rust-lang.cargo?branchName=auto-cargo)](https://dev.azure.com/rust-lang/cargo/_build?definitionId=18)
|
2016-03-12 18:40:03 +00:00
|
|
|
|
|
2018-02-12 18:27:45 +00:00
|
|
|
|
Code documentation: https://docs.rs/cargo/
|
|
|
|
|
|
2015-07-07 20:55:36 +00:00
|
|
|
|
## Installing Cargo
|
2014-07-07 14:49:14 +00:00
|
|
|
|
|
2015-07-07 20:55:36 +00:00
|
|
|
|
Cargo is distributed by default with Rust, so if you've got `rustc` installed
|
|
|
|
|
locally you probably also have `cargo` installed locally.
|
2014-07-07 14:49:14 +00:00
|
|
|
|
|
2015-07-07 20:55:36 +00:00
|
|
|
|
## Compiling from Source
|
2014-04-11 10:11:45 +00:00
|
|
|
|
|
2014-09-07 18:25:26 +00:00
|
|
|
|
Cargo requires the following tools and packages to build:
|
|
|
|
|
|
2018-12-09 18:39:55 +00:00
|
|
|
|
* `git`
|
2015-07-07 20:55:36 +00:00
|
|
|
|
* `curl` (on Unix)
|
2019-09-26 15:54:37 +00:00
|
|
|
|
* `pkg-config` (on Unix, used to figure out the `libssl` headers/libraries)
|
2015-07-07 20:55:36 +00:00
|
|
|
|
* OpenSSL headers (only for Unix, this is the `libssl-dev` package on ubuntu)
|
2016-12-26 01:02:04 +00:00
|
|
|
|
* `cargo` and `rustc`
|
2014-09-07 18:25:26 +00:00
|
|
|
|
|
2016-01-23 00:09:17 +00:00
|
|
|
|
First, you'll want to check out this repository
|
2014-07-30 17:11:36 +00:00
|
|
|
|
|
2016-01-23 00:09:17 +00:00
|
|
|
|
```
|
2018-03-11 22:09:57 +00:00
|
|
|
|
git clone https://github.com/rust-lang/cargo
|
2014-08-17 22:58:07 +00:00
|
|
|
|
cd cargo
|
2016-01-23 00:09:17 +00:00
|
|
|
|
```
|
|
|
|
|
|
2016-12-26 01:02:04 +00:00
|
|
|
|
With `cargo` already installed, you can simply run:
|
2016-01-23 00:09:17 +00:00
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
cargo build --release
|
|
|
|
|
```
|
|
|
|
|
|
2015-02-23 13:12:44 +00:00
|
|
|
|
## Adding new subcommands to Cargo
|
|
|
|
|
|
2015-07-07 20:55:36 +00:00
|
|
|
|
Cargo is designed to be extensible with new subcommands without having to modify
|
|
|
|
|
Cargo itself. See [the Wiki page][third-party-subcommands] for more details and
|
|
|
|
|
a list of known community-developed subcommands.
|
2015-02-23 13:12:44 +00:00
|
|
|
|
|
|
|
|
|
[third-party-subcommands]: https://github.com/rust-lang/cargo/wiki/Third-party-cargo-subcommands
|
|
|
|
|
|
2014-06-24 20:37:28 +00:00
|
|
|
|
|
2016-09-30 23:51:08 +00:00
|
|
|
|
## Releases
|
|
|
|
|
|
|
|
|
|
Cargo releases coincide with Rust releases.
|
2019-05-27 23:39:29 +00:00
|
|
|
|
High level release notes are available as part of [Rust's release notes][rel].
|
|
|
|
|
Detailed release notes are available in this repo at [CHANGELOG.md].
|
2016-09-30 23:51:08 +00:00
|
|
|
|
|
|
|
|
|
[rel]: https://github.com/rust-lang/rust/blob/master/RELEASES.md
|
2019-05-27 23:39:29 +00:00
|
|
|
|
[CHANGELOG.md]: CHANGELOG.md
|
2016-09-30 23:51:08 +00:00
|
|
|
|
|
2017-09-30 09:18:22 +00:00
|
|
|
|
## Reporting issues
|
2014-07-30 17:11:36 +00:00
|
|
|
|
|
|
|
|
|
Found a bug? We'd love to know about it!
|
|
|
|
|
|
2018-04-17 20:14:41 +00:00
|
|
|
|
Please report all issues on the GitHub [issue tracker][issues].
|
2014-07-30 17:11:36 +00:00
|
|
|
|
|
|
|
|
|
[issues]: https://github.com/rust-lang/cargo/issues
|
|
|
|
|
|
2017-09-03 09:47:49 +00:00
|
|
|
|
## Contributing
|
|
|
|
|
|
2020-09-18 20:17:58 +00:00
|
|
|
|
See the **[Cargo Contributor Guide]** for a complete introduction
|
|
|
|
|
to contributing to Cargo.
|
|
|
|
|
|
|
|
|
|
[Cargo Contributor Guide]: https://rust-lang.github.io/cargo/contrib/
|
2017-09-03 09:47:49 +00:00
|
|
|
|
|
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).
|
|
|
|
|
|
2019-12-03 07:03:49 +00:00
|
|
|
|
See [LICENSE-APACHE](LICENSE-APACHE) and [LICENSE-MIT](LICENSE-MIT) for details.
|
2014-10-02 19:40:33 +00:00
|
|
|
|
|
|
|
|
|
### Third party software
|
|
|
|
|
|
|
|
|
|
This product includes software developed by the OpenSSL Project
|
2019-01-30 20:34:37 +00:00
|
|
|
|
for use in the OpenSSL Toolkit (https://www.openssl.org/).
|
2014-10-02 19:40:33 +00:00
|
|
|
|
|
|
|
|
|
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].
|
|
|
|
|
|
2019-12-03 07:03:49 +00:00
|
|
|
|
See [LICENSE-THIRD-PARTY](LICENSE-THIRD-PARTY) for details.
|
2017-10-31 20:37:45 +00:00
|
|
|
|
|
2014-10-02 19:40:33 +00:00
|
|
|
|
[1]: https://github.com/libgit2/libgit2
|
|
|
|
|
|