- iOS support was merged
into
master
. The only problem is that since it is not tested on Mozilla's internal buildbots, building frommaster
might be broken. This branch is automatically tested to be 100% compilable even if means to lag a bit behindmaster
. - Should work out of box both for device and simulator
- Segmented stacks are currently disabled. It also means there is no prevention from stack overflow
- Unwinding works
Is available in Releases section, direct link, it is kind of experimental now, will be updated daily. Unpack and install as usual Rust nightly.
curl -O https://github.com/vhbit/rust/releases/download/ios-latest/rustc-1.0.0-dev-x86_64-apple-darwin.tar.gz
tar xzf rustc-1.0.0-dev-x86_64-apple-darwin.tar.gz
cd rustc-1.0.0-dev-x86_64-apple-darwin
./install.sh
git clone [email protected]:vhbit/rust.git
git checkout ios
mkdir build
cd build
../configure --target=armv7-apple-ios,armv7s-apple-ios,aarch64-apple-ios,i386-apple-ios,x86_64-apple-ios
make -j4
make install
Once you've got a cross-compiler, you have to provide same targets to rustc binary, i.e.
$ rustc --target=armv7-apple-ios hello.rs
Supported architectures are: armv7-apple-ios
, armv7s-apple-ios
, aarch64-apple-ios
, i386-apple-ios
, x86_64-apple-ios
.
You can check how it works on ObjCrust sample project. It also has an example of how to setup make
for building fat libraries and incorporate Rust build into Xcode build process through Script Phase
(cargo
support is planned but unfortunately there is a bug which makes it impossible to use so far).
Rust is a fast systems programming language that guarantees memory safety and offers painless concurrency (no data races). It does not employ a garbage collector and has minimal runtime overhead.
This repo contains the code for rustc
, the Rust compiler, as well
as standard libraries, tools and documentation for Rust.
Read "Installing Rust" from The Book.
-
Make sure you have installed the dependencies:
g++
4.7 orclang++
3.xpython
2.6 or later (but not 3.x)- GNU
make
3.81 or later curl
git
-
Clone the source with
git
:$ git clone https://github.com/rust-lang/rust.git $ cd rust
-
Build and install:
$ ./configure $ make && make install
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 toconfigure
. 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, andrustdoc
, the API-documentation tool. This install does not include Cargo, Rust's package manager, which you may also want to build.
MSYS2 can be used to easily build Rust on Windows:
-
Grab the latest MSYS2 installer and go through the installer.
-
From the MSYS2 terminal, install the
mingw64
toolchain and other required tools.# Choose one based on platform: $ pacman -S mingw-w64-i686-toolchain $ pacman -S mingw-w64-x86_64-toolchain $ pacman -S base-devel
-
Run
mingw32_shell.bat
ormingw64_shell.bat
from wherever you installed MYSY2 (i.e.C:\msys
), depending on whether you want 32-bit or 64-bit Rust. -
Navigate to Rust's source code, configure and build it:
$ ./configure $ make && make install
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:
Platform \ Architecture | x86 | x86_64 |
---|---|---|
Windows (7, 8, Server 2008 R2) | ✓ | ✓ |
Linux (2.6.18 or later) | ✓ | ✓ |
OSX (10.7 Lion or later) | ✓ | ✓ |
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 more advice about hacking on Rust in CONTRIBUTING.md.
The Rust community congregates in a few places:
- Stack Overflow - Direct questions about using the language.
- users.rust-lang.org - General discussion and broader questions.
- /r/rust - News and general discussion.
To contribute to Rust, please see CONTRIBUTING.
Rust has an IRC culture and most real-time collaboration happens in a variety of channels on Mozilla's IRC network, irc.mozilla.org. The most popular channel is #rust, a venue for general discussion about Rust, and a good place to ask for 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.
See LICENSE-APACHE, LICENSE-MIT, and COPYRIGHT for details.