]> git.lizzy.rs Git - rust.git/blobdiff - README.md
auto merge of #13908 : pcwalton/rust/box-pattern, r=alexcrichton
[rust.git] / README.md
index 23e4bd7dbf090b61e40174b808fc7b8dc68a89bc..8f498240802c0a67a257612bd37ad7c70e905656 100644 (file)
--- a/README.md
+++ b/README.md
@@ -3,65 +3,92 @@
 This is a compiler for Rust, including standard libraries, tools and
 documentation.
 
+## Quick Start
 
-## Installation
+1. Download a [binary installer][installer] for your platform.
+2. Read the [tutorial].
+3. Enjoy!
 
-The Rust compiler is slightly unusual in that it is written in Rust and
-therefore must be built by a precompiled "snapshot" version of itself (made in
-an earlier state of development). As such, source builds require that:
+> ***Note:*** Windows users can read the detailed
+> [getting started][wiki-start] notes on the wiki.
 
-    * You are connected to the internet, to fetch snapshots.
+[installer]: http://www.rust-lang.org/install.html
+[tutorial]: http://static.rust-lang.org/doc/tutorial.html
+[wiki-start]: https://github.com/mozilla/rust/wiki/Note-getting-started-developing-Rust
+[win-wiki]: https://github.com/mozilla/rust/wiki/Using-Rust-on-Windows
 
-    * You can at least execute snapshot binaries of one of the forms we offer
-      them in. Currently we build and test snapshots on:
-        * Windows (7, server 2008 r2) x86 only
-        * Linux 2.6.x (various distributions) x86 and x86-64
-        * OSX 10.6 ("Snow leopard") or 10.7 ("Lion") x86 and x86-64
+## Building from Source
 
-You may find other platforms work, but these are our "tier 1" supported build
-environments that are most likely to work. Further platforms will be added to
-the list in the future via cross-compilation.
+1. Make sure you have installed the dependencies:
+    * `g++` 4.4 or `clang++` 3.x
+    * `python` 2.6 or later (but not 3.x)
+    * `perl` 5.0 or later
+    * GNU `make` 3.81 or later
+    * `curl`
+    * `git`
+2. Download and build Rust:
 
-To build from source you will also need the following prerequisite packages:
+    You can either download a [tarball] or build directly from the [repo].
 
-    * g++ 4.4 or clang++ 3.x
-    * python 2.6 or later
-    * perl 5.0 or later
-    * gnu make 3.81 or later
-    * curl
+    To build from the [tarball] do:
 
-Assuming you're on a relatively modern Linux/OSX system and have met the
-prerequisites, something along these lines should work:
+        $ curl -O http://static.rust-lang.org/dist/rust-nightly.tar.gz
+        $ tar -xzf rust-nightly.tar.gz
+        $ cd rust-nightly
 
-    $ tar -xzf rust-0.2.tar.gz
-    $ cd rust-0.2
-    $ ./configure
-    $ make && make install
+    Or to build from the [repo] do:
 
-When complete, make install will place the following programs into
-/usr/local/bin:
+        $ git clone https://github.com/mozilla/rust.git
+        $ cd rust
 
-    * rustc, the Rust compiler
-    * rustdoc, the API-documentation tool
-    * cargo, the Rust package manager
+    Now that you have Rust's source code, you can configure and build it:
 
-In addition to a manual page under /usr/local/share/man and a set of host and
-target libraries under /usr/local/lib/rustc.
+        $ ./configure
+        $ make && make install
 
-The install locations can be adjusted by passing a --prefix argument to
-configure. Various other options are also supported, pass --help for more
-information on them.
+    > ***Note:*** You may need to use `sudo make install` if you do not normally have
+    > permission to modify the destination directory. The install locations can
+    > be adjusted by passing a `--prefix` argument to `configure`. Various other
+    > options are also supported, pass `--help` for more information on them.
 
+    When complete, `make install` will place several programs into
+    `/usr/local/bin`: `rustc`, the Rust compiler, and `rustdoc`, the
+    API-documentation tool.
+    system.
+3. Read the [tutorial].
+4. Enjoy!
 
-## License
+[repo]: https://github.com/mozilla/rust
+[tarball]: http://static.rust-lang.org/dist/rust-nightly.tar.gz
+[tutorial]: http://static.rust-lang.org/doc/master/tutorial.html
+
+## Notes
+
+Since the Rust compiler is written in Rust, it must be built by a
+precompiled "snapshot" version of itself (made in an earlier state of
+development). As such, source builds require a connection to the Internet, to
+fetch snapshots, and an OS that can execute the available snapshot binaries.
+
+Snapshot binaries are currently built and tested on several platforms:
 
-Rust is primarily distributed under the terms of the MIT license, with
-portions covered by various BSD-like licenses.
+* Windows (7, 8, Server 2008 R2), x86 only
+* Linux (2.6.18 or later, various distributions), x86 and x86-64
+* OSX 10.7 (Lion) or greater, x86 and x86-64
 
-See LICENSE.txt for complete terms of copyright and redistribution.
+You may find that other platforms work, but these are our officially
+supported build environments that are most likely to work.
 
+Rust currently needs about 1.5 GiB of RAM to build without swapping; if it hits
+swap, it will take a very long time to build.
+
+There is a lot more documentation in the [wiki].
+
+[wiki]: https://github.com/mozilla/rust/wiki
+
+## License
 
-## More help
+Rust is primarily distributed under the terms of both the MIT license
+and the Apache License (Version 2.0), with portions covered by various
+BSD-like licenses.
 
-The [tutorial](http://dl.rust-lang.org/doc/tutorial.html) is a good
-starting point.
+See LICENSE-APACHE, LICENSE-MIT, and COPYRIGHT for details.