gecko-dev/servo
Brian J. Burg 58cda6476a servo: Split freetype bindings into rust-freetype submodule.
Source-Repo: https://github.com/servo/servo
Source-Revision: 9bde1e9f2648b54a917b25277658b9eb7740edc9
2012-10-25 11:32:10 -07:00
..
mk servo: Split freetype bindings into rust-freetype submodule. 2012-10-25 11:32:10 -07:00
src servo: Split freetype bindings into rust-freetype submodule. 2012-10-25 11:32:10 -07:00
.gitignore servo: Rewrite configure script to be more robust; move autogen.sh logic into configure script. 2012-09-04 16:17:36 -07:00
configure servo: Split freetype bindings into rust-freetype submodule. 2012-10-25 11:32:10 -07:00
Info.plist servo: Build an app bundle on OS X 2012-04-23 17:43:45 -07:00
Makefile.in servo: build: Optimize C++ code in submodules. Closes #157. 2012-10-24 23:05:33 -07:00
README.md servo: Update servo to rust 3b6f5a1. Removes extraneous by-ref parameter to option::get(), and removes binary move operator. 2012-10-24 14:27:10 -07:00

The Servo Parallel Browser Project

Servo is a prototype web browser engine written in the Rust language. It is currently developed on OS X and Linux.

Note: Servo always requires a specific version of Rust - building against a released version of Rust will not work, nor will the Rust 'master' branch. The commit below will probably work. If it does not then the topic in #servo might know better.

  • Last known-good Rust commit: 3b6f5a1

Prerequisites

First, you need the Rust compiler, built from the exact commit listed above.

On OS X (homebrew):

brew install https://raw.github.com/Homebrew/homebrew-versions/master/autoconf213.rb
brew install cairo

On OS X (MacPorts):

sudo port install autoconf213 cairo +x11 +quartz

On Debian-based Linuxes:

sudo apt-get install libcairo2-dev libpango1.0-dev autoconf2.13 freeglut3-dev

Building

git clone git://github.com/mozilla/servo.git
cd servo
mkdir -p build && cd build
../configure
make check-servo && make
./servo ../src/test/hello.html

If rustc is not installed then add RUSTC=/path/to/rustc to your make commands.

Build Workarounds

MacPorts

Currently, the Makefile for the rust-azure submodule has hardcoded library paths that assumes cairo has been installed with homebrew or MacPorts. If you have installed cairo via another methods or a different version, you will need to change the library path.

This problem should go away once Issue #40 is fixed, and an externally-built cairo is no longer needed.