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