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