]>
Commit | Line | Data |
---|---|---|
2547b059 BN |
1 | # Cargo |
2 | ||
b4e86302 YK |
3 | Cargo downloads your Rust project’s dependencies and compiles your project. |
4 | ||
2d06e570 WL |
5 | **To start using Cargo**, learn more at [The Cargo Book]. |
6 | ||
7 | **To start developing Cargo itself**, read the [Cargo Contributor Guide]. | |
8 | ||
9 | [The Cargo Book]: https://doc.rust-lang.org/cargo/ | |
10 | [Cargo Contributor Guide]: https://rust-lang.github.io/cargo/contrib/ | |
b4e86302 | 11 | |
41ecf3b2 | 12 | ## Code Status |
2547b059 | 13 | |
8fa41202 | 14 | [![CI](https://github.com/rust-lang/cargo/actions/workflows/main.yml/badge.svg?branch=auto-cargo)](https://github.com/rust-lang/cargo/actions/workflows/main.yml) |
15 | ||
ddffe606 MK |
16 | Code documentation: https://docs.rs/cargo/ |
17 | ||
cfb69ad2 | 18 | ## Installing Cargo |
ffd985f1 | 19 | |
cfb69ad2 AC |
20 | Cargo is distributed by default with Rust, so if you've got `rustc` installed |
21 | locally you probably also have `cargo` installed locally. | |
ffd985f1 | 22 | |
cfb69ad2 | 23 | ## Compiling from Source |
41a4df26 | 24 | |
5ef03758 AC |
25 | Cargo requires the following tools and packages to build: |
26 | ||
69740437 | 27 | * `git` |
cfb69ad2 | 28 | * `curl` (on Unix) |
c2edcabe | 29 | * `pkg-config` (on Unix, used to figure out the `libssl` headers/libraries) |
cfb69ad2 | 30 | * OpenSSL headers (only for Unix, this is the `libssl-dev` package on ubuntu) |
3c1596d8 | 31 | * A C compiler [for your platform](https://github.com/rust-lang/cc-rs#compile-time-requirements) |
ea182b83 | 32 | * `cargo` and `rustc` |
5ef03758 | 33 | |
d261ffda | 34 | First, you'll want to check out this repository |
c1bbc721 | 35 | |
d261ffda | 36 | ``` |
e2f81ec8 | 37 | git clone https://github.com/rust-lang/cargo |
a39a331a | 38 | cd cargo |
d261ffda AC |
39 | ``` |
40 | ||
ea182b83 | 41 | With `cargo` already installed, you can simply run: |
d261ffda AC |
42 | |
43 | ``` | |
44 | cargo build --release | |
45 | ``` | |
46 | ||
1e5f7063 J |
47 | ## Adding new subcommands to Cargo |
48 | ||
cfb69ad2 AC |
49 | Cargo is designed to be extensible with new subcommands without having to modify |
50 | Cargo itself. See [the Wiki page][third-party-subcommands] for more details and | |
51 | a list of known community-developed subcommands. | |
1e5f7063 J |
52 | |
53 | [third-party-subcommands]: https://github.com/rust-lang/cargo/wiki/Third-party-cargo-subcommands | |
54 | ||
fe624014 | 55 | |
c41a680e CNG |
56 | ## Releases |
57 | ||
c41a680e | 58 | Cargo releases coincide with Rust releases. |
aea965c2 EH |
59 | High level release notes are available as part of [Rust's release notes][rel]. |
60 | Detailed release notes are available in this repo at [CHANGELOG.md]. | |
c41a680e CNG |
61 | |
62 | [rel]: https://github.com/rust-lang/rust/blob/master/RELEASES.md | |
aea965c2 | 63 | [CHANGELOG.md]: CHANGELOG.md |
c41a680e | 64 | |
3970ccd2 | 65 | ## Reporting issues |
c1bbc721 AC |
66 | |
67 | Found a bug? We'd love to know about it! | |
68 | ||
43914c53 | 69 | Please report all issues on the GitHub [issue tracker][issues]. |
c1bbc721 AC |
70 | |
71 | [issues]: https://github.com/rust-lang/cargo/issues | |
72 | ||
d11a429d AK |
73 | ## Contributing |
74 | ||
4d40ef4e EH |
75 | See the **[Cargo Contributor Guide]** for a complete introduction |
76 | to contributing to Cargo. | |
77 | ||
c6fc2f58 AC |
78 | ## License |
79 | ||
80 | Cargo is primarily distributed under the terms of both the MIT license | |
81 | and the Apache License (Version 2.0). | |
82 | ||
c130148d | 83 | See [LICENSE-APACHE](LICENSE-APACHE) and [LICENSE-MIT](LICENSE-MIT) for details. |
74705a05 AC |
84 | |
85 | ### Third party software | |
86 | ||
87 | This product includes software developed by the OpenSSL Project | |
0c3851c0 | 88 | for use in the OpenSSL Toolkit (https://www.openssl.org/). |
74705a05 AC |
89 | |
90 | In binary form, this product includes software that is licensed under the | |
91 | terms of the GNU General Public License, version 2, with a linking exception, | |
92 | which can be obtained from the [upstream repository][1]. | |
93 | ||
c130148d | 94 | See [LICENSE-THIRD-PARTY](LICENSE-THIRD-PARTY) for details. |
2547b059 | 95 | |
74705a05 AC |
96 | [1]: https://github.com/libgit2/libgit2 |
97 |