The Servo Browser Engine
Find a file
2012-10-22 18:35:57 -07:00
mk Remove servo-sandbox build code 2012-10-22 16:29:18 -07:00
src Refactor box building so that we push and pop nodes instead of boxes to BoxGenerator. LayoutTreeBuilder is only concerned with Flow tree creation, while BoxGenerator deals with boxes. 2012-10-22 18:35:57 -07:00
.gitignore Rewrite configure script to be more robust; move autogen.sh logic into configure script. 2012-09-04 16:17:36 -07:00
.gitmodules Move over to mozilla-servo 2012-10-22 11:13:08 -07:00
configure Remove servo-sandbox build code 2012-10-22 16:29:18 -07:00
Info.plist Build an app bundle on OS X 2012-04-23 17:43:45 -07:00
Makefile.in Don't set the VPATH. Breaks the linux build 2012-10-08 16:22:31 -07:00
README.md Update rust commit hash 2012-10-19 11:29:20 -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: 754704ea9442ce92602f8022f6c979824b016842

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.