Open a new MSYS shell window as Administrator and remove the Python binaries (they are not compatible with our machdriver script yet, unfortunately):
mv python2.exe python2-mingw64.exe
mv python2.7.exe python2.7-mingw64.exe
Now, open a MINGW64 (not MSYS!) shell window, and you should be able to build servo as usual!
Cross-compilation for Android:
Pre-installed Android tools are needed. See wiki for details
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, seerust-nightly-date.
Servo is built with Cargo, the Rust package manager. We also use Mozilla's Mach tools to orchestrate the build and other tasks.
To build Servo in development mode. This is useful for development, but the resulting binary is very slow.
git clone https://github.com/servo/servo
./mach build --dev
./mach run tests/html/about-mozilla.html
For benchmarking, performance testing, or real-world use, add the --release flag to create an optimized build:
./mach build --release
./mach run --release tests/html/about-mozilla.html
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).
-p INTERVAL turns on the profiler and dumps info to the console every INTERVAL seconds
-s SIZE sets the tile size for painting; defaults to 512
-z disables all graphical output; useful for running JS / layout tests
Ctrl-- zooms out
Ctrl-= zooms in
Backspace goes backwards in the history
Shift-Backspace goes forwards in the history
Esc exits servo
There are lots of mach commands you can use. You can list them with ./mach --help.