Update the README a bit.

This commit is contained in:
Jack Moffitt 2014-09-09 09:25:08 -06:00
parent b1305bb7d0
commit 39f7dd9277

View file

@ -1,7 +1,8 @@
The Servo Parallel Browser Project
Servo is a prototype web browser engine written in the [Rust](https://github.com/mozilla/rust)
language. It is currently developed on 64bit OS X and 64bit Linux.
Servo is a prototype web browser engine written in the
[Rust](https://github.com/mozilla/rust) language. It is currently developed on
64bit OS X, 64bit Linux, and Android.
Servo welcomes contribution from everyone. See
[`CONTRIBUTING.md`](CONTRIBUTING.md) for help getting started.
@ -11,30 +12,29 @@ Servo welcomes contribution from everyone. See
On OS X (homebrew):
``` sh
brew install https://raw.github.com/Homebrew/homebrew-versions/master/autoconf213.rb
brew install automake libtool pkg-config python
brew install automake pkg-config python
pip install virtualenv
```
On OS X (MacPorts):
``` sh
sudo port install autoconf213 python27 py27-virtualenv
sudo port install python27 py27-virtualenv
```
On Debian-based Linuxes:
``` sh
sudo apt-get install autoconf2.13 curl freeglut3-dev libtool \
sudo apt-get install curl freeglut3-dev \
libfreetype6-dev libgl1-mesa-dri libglib2.0-dev xorg-dev \
msttcorefonts gperf g++ automake cmake python-virtualenv \
msttcorefonts gperf g++ cmake python-virtualenv \
libssl-dev
```
On Fedora:
``` sh
sudo yum install autoconf213 curl freeglut-devel libtool gcc-c++ libXi-devel \
sudo yum install curl freeglut-devel libtool gcc-c++ libXi-devel \
freetype-devel mesa-libGL-devel glib2-devel libX11-devel libXrandr-devel gperf \
fontconfig-devel cabextract ttmkfdir python python-virtualenv expat-devel \
rpm-build openssl-devel
@ -49,33 +49,31 @@ popd
On Arch Linux:
``` sh
sudo pacman -S base-devel autoconf2.13 git gperf python2 \
sudo pacman -S base-devel git gperf python2 \
python2-virtualenv mesa libxrandr libxi libgl glu ttf-font
```
Note: autoconf 2.13 is required for SpiderMonkey; the autoconf project did not
preserve backwards compatibility after version 2.13, and changing the Firefox
build to work with a newer version is not considered a good use of developers'
time.
Cross-compilation for Android:
Basically, pre-installed Android tools are needed.
See wiki for [details](https://github.com/mozilla/servo/wiki/Building-for-Android)
Pre-installed Android tools are needed. See wiki for
[details](https://github.com/mozilla/servo/wiki/Building-for-Android)
## The Rust compiler
Servo builds its own copy of Rust, so there is no need to provide a Rust
compiler.
If you'd like to know the snapshot revision of Rust which we use, see `./rust-snapshot-hash`.
Servo uses a snapshot Rust compiler to build itself. This is normally a
specific revision of Rust upstream, but sometimes has a backported patch or
two. If you'd like to know the snapshot revision of Rust which we use, see
`./rust-snapshot-hash`.
## Building
Servo cannot be built in-tree; you must create a directory in which to run
configure and make and place the build artifacts.
Servo is built with Cargo, the Rust package manager. We also use Mozilla's
Mach tools to orchestrate the build and other tasks.
### Normal build
``` sh
git clone https://github.com/servo/servo.git
git clone https://github.com/servo/servo
cd servo
./mach build
./mach run tests/html/about-mozilla.html
@ -84,7 +82,7 @@ cd servo
### Building for Android target
``` sh
git clone https://github.com/servo/servo.git
git clone https://github.com/servo/servo
cd servo
ANDROID_TOOLCHAIN=/path/to/toolchain ANDROID_NDK=/path/to/ndk PATH=$PATH:/path/to/toolchain/bin ./mach build --target arm-linux-androideabi
cd ports/android
@ -112,4 +110,5 @@ ANDROID_SDK=/path/to/sdk make install
## Developing
There are lots of mach commands you can use. You can list them with `./mach --help`.
There are lots of mach commands you can use. You can list them with `./mach
--help`.