Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upAdd a post on the build system #20
Conversation
|
|
||
| ## Things we'd like to fix in the future | ||
|
|
||
| It would be great if there was a single Cargo.toml file and it was at the toplevel of the Servo repo. It's confusing to people familiar with Rust projects, who go looking for a Cargo.toml file and can't find them. |
This comment has been minimized.
This comment has been minimized.
|
|
||
| * `mach test-wpt` runs the cross-browser W3C Web Platform Tests, which primarily test DOM features. | ||
|
|
||
| * `mach test-css` runs the cross-browser CSS WG refernce tests, which are a version of the reference tests that are intended to work across many browsers. |
This comment has been minimized.
This comment has been minimized.
| ### mach bootstrap | ||
|
|
||
| The steps that mach will handle before issuing a normal `cargo build` command are: | ||
| * Downloading the correct versions of the cargo and rustc tools. Servo uses most of the unstable features in Rust, which change pretty frequently. We also test the edges of feature compatibility and so are the first ones to notice many changes that did not at first seem as if they would break anyone. Further, we build a custom version of the tools that additionally supports cross-compilation targeting Android (and ARM in the near future). A random local install of the Rust toolchain is pretty unlikely to work with Servo. |
This comment has been minimized.
This comment has been minimized.
Manishearth
Jul 21, 2015
Member
Servo uses most of the unstable features in Rust
I'd say this has changed. We use some of the most unstable features of Rust, but actually our unstable usage is pretty low other than plugins and some APIs here and there.
local install of the Rust toolchain is pretty unlikely to work with Servo
I wonder if we split plugins into lints and expansion (expansion plugins are generally more stable) and made it possible to turn lints off, we might get a decently large error box around the rustc version.
|
|
||
| * `mach test-css` runs the cross-browser CSS WG reference tests, which are a version of the reference tests that are intended to work across many browsers. | ||
|
|
||
| * `mach test-unit` runs the Rust unit tests embedded in Servo crates. We do not have many of these, except for basic tests of per-crate functionality. |
This comment has been minimized.
This comment has been minimized.
Manishearth
Jul 21, 2015
Member
Might be worth mentioning that we don't have many of these because wpt and css cover most bases.
|
I think I've addressed everybody's comments - should I squash & land this? |
|
lgtm, r=me |
Add a post on the build system
larsbergstrom commentedJul 21, 2015
r? @metajack
Wrote this up from some notes I was already preparing on Servo's build system for @alexcrichton anyway :-)