2012-07-10 00:18:37 -05:00
|
|
|
# The Rust Programming Language
|
2012-01-23 15:53:12 -06:00
|
|
|
|
2012-07-10 00:13:48 -05:00
|
|
|
This is a compiler for Rust, including standard libraries, tools and
|
|
|
|
documentation.
|
|
|
|
|
|
|
|
|
|
|
|
## Installation
|
2012-01-23 15:53:12 -06:00
|
|
|
|
|
|
|
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:
|
|
|
|
|
2012-07-10 00:20:32 -05:00
|
|
|
* You are connected to the internet, to fetch snapshots.
|
2012-01-23 15:53:12 -06:00
|
|
|
|
2012-07-10 00:20:32 -05:00
|
|
|
* 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
|
2012-01-23 15:53:12 -06:00
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
To build from source you will also need the following prerequisite packages:
|
|
|
|
|
2012-07-10 00:20:32 -05:00
|
|
|
* g++ 4.4 or clang++ 3.x
|
|
|
|
* python 2.6 or later
|
|
|
|
* perl 5.0 or later
|
|
|
|
* gnu make 3.81 or later
|
|
|
|
* curl
|
2012-01-23 15:53:12 -06:00
|
|
|
|
|
|
|
Assuming you're on a relatively modern Linux/OSX system and have met the
|
|
|
|
prerequisites, something along these lines should work:
|
|
|
|
|
2012-03-29 00:44:53 -05:00
|
|
|
$ tar -xzf rust-0.2.tar.gz
|
|
|
|
$ cd rust-0.2
|
2012-01-23 15:53:12 -06:00
|
|
|
$ ./configure
|
|
|
|
$ make && make install
|
|
|
|
|
|
|
|
When complete, make install will place the following programs into
|
|
|
|
/usr/local/bin:
|
|
|
|
|
2012-07-10 00:20:32 -05:00
|
|
|
* rustc, the Rust compiler
|
|
|
|
* rustdoc, the API-documentation tool
|
|
|
|
* cargo, the Rust package manager
|
2012-01-23 15:53:12 -06:00
|
|
|
|
|
|
|
In addition to a manual page under /usr/local/share/man and a set of host and
|
|
|
|
target libraries under /usr/local/lib/rustc.
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
2012-07-10 00:13:48 -05:00
|
|
|
## License
|
|
|
|
|
|
|
|
Rust is primarily distributed under the terms of the MIT license, with
|
|
|
|
portions covered by various BSD-like licenses.
|
|
|
|
|
|
|
|
See LICENSE.txt for complete terms of copyright and redistribution.
|
|
|
|
|
2012-01-23 15:53:12 -06:00
|
|
|
|
2012-07-10 00:13:48 -05:00
|
|
|
## More help
|
2012-01-23 15:53:12 -06:00
|
|
|
|
2012-07-10 00:13:48 -05:00
|
|
|
The [tutorial](http://dl.rust-lang.org/doc/tutorial.html) is a good
|
|
|
|
starting point.
|