(MSVC only) Install Visual Studio 2015 Community Edition (https://www.visualstudio.com/). You MUST add "Visual C++" to the
list of installed components. It is not on by default.

(MinGW only) Install MSYS2 (https://msys2.github.io/). After you have done so, open an MSYS shell
window and update the core libraries and install new packages. The extra step at the end is to
downgrade GCC to 5.4, as the GCC6 versions in mingw currently fail to compile some of our
dependencies. We are upgrading to a gcc-free build on Windows as soon as possible:

Cross-compilation for Android

The Rust compiler

Servo's build system automatically downloads a 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 which nightly build of Rust we use, see
rust-commit-hash.

Building

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

To build Servo in development mode. This is useful for development, but
the resulting binary is very slow.

Rather than setting the ANDROID_* environment variables every time, you can
also create a .servobuild file and then edit it to contain the correct paths
to the Android SDK/NDK tools:

cp servobuild.example .servobuild
# edit .servobuild

Running

Use ./mach run [url] to run Servo. Also, don't miss the info on the browserhtml page on how to run the Browser.html
full tech demo (it provides a more browser-like experience than just browsing a single
URL with servo).

Commandline Arguments

-p INTERVAL turns on the profiler and dumps info to the console every
INTERVAL seconds