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