]> git.proxmox.com Git - cargo.git/blob - README.md
Auto merge of #10862 - Muscraft:workspace-selection-test, r=epage
[cargo.git] / README.md
1 # Cargo
2
3 Cargo downloads your Rust project’s dependencies and compiles your project.
4
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/
11
12 ## Code Status
13
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
16 Code documentation: https://docs.rs/cargo/
17
18 ## Installing Cargo
19
20 Cargo is distributed by default with Rust, so if you've got `rustc` installed
21 locally you probably also have `cargo` installed locally.
22
23 ## Compiling from Source
24
25 Cargo requires the following tools and packages to build:
26
27 * `git`
28 * `curl` (on Unix)
29 * `pkg-config` (on Unix, used to figure out the `libssl` headers/libraries)
30 * OpenSSL headers (only for Unix, this is the `libssl-dev` package on ubuntu)
31 * A C compiler [for your platform](https://github.com/rust-lang/cc-rs#compile-time-requirements)
32 * `cargo` and `rustc`
33
34 First, you'll want to check out this repository
35
36 ```
37 git clone https://github.com/rust-lang/cargo
38 cd cargo
39 ```
40
41 With `cargo` already installed, you can simply run:
42
43 ```
44 cargo build --release
45 ```
46
47 ## Adding new subcommands to Cargo
48
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.
52
53 [third-party-subcommands]: https://github.com/rust-lang/cargo/wiki/Third-party-cargo-subcommands
54
55
56 ## Releases
57
58 Cargo releases coincide with Rust releases.
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].
61
62 [rel]: https://github.com/rust-lang/rust/blob/master/RELEASES.md
63 [CHANGELOG.md]: CHANGELOG.md
64
65 ## Reporting issues
66
67 Found a bug? We'd love to know about it!
68
69 Please report all issues on the GitHub [issue tracker][issues].
70
71 [issues]: https://github.com/rust-lang/cargo/issues
72
73 ## Contributing
74
75 See the **[Cargo Contributor Guide]** for a complete introduction
76 to contributing to Cargo.
77
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
83 See [LICENSE-APACHE](LICENSE-APACHE) and [LICENSE-MIT](LICENSE-MIT) for details.
84
85 ### Third party software
86
87 This product includes software developed by the OpenSSL Project
88 for use in the OpenSSL Toolkit (https://www.openssl.org/).
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
94 See [LICENSE-THIRD-PARTY](LICENSE-THIRD-PARTY) for details.
95
96 [1]: https://github.com/libgit2/libgit2
97