mirror of
https://github.com/servo/servo.git
synced 2025-08-06 14:10:11 +01:00
Enable debug assertions for all builds other than official releases (#30509)
* Run main and try jobs with debug assertions * use single quotes in workflow expressions * set force-debug-assertions in main.yml * set force-debug-assertions as part of decision job * fix typo in MachCommands.build * fix more hardcoded profile names * fix tidy * split cargo_profile_option on windows * Fix running servoshell and unit tests through a symlink * rename steps to make them less confusing * fix more hardcoded cargo profile options * fix missing inputs in linux-wpt and mac-wpt * make filename an inherent method of Resource * rework release-with-debug-assertions profile to production profile * rework resource logic to eliminate std_test_override * set production flag in nightly release builds * clean up servobuild.example and windows.yml * oops forgot to check in embedder_traits/build.rs * fix mach test-unit behaviour through symlink * unit tests only need current_dir and ancestors * fix macOS package smoketest breakage * expect css/css-color/currentcolor-003 to crash under layout 2013 * fix more references to {force,release-with}-debug-assertions * fix local build failures under --profile production
This commit is contained in:
parent
88234309b0
commit
a3d2f0c586
31 changed files with 342 additions and 188 deletions
|
@ -35,9 +35,19 @@ Building Servo is quite easy. Install the prerequisites described in the [README
|
|||
|
||||
*Note: on Mac, you might run into an SSL issue while compiling. You'll find a solution to this problem [here](https://github.com/sfackler/rust-openssl/issues/255).*
|
||||
|
||||
The `-d` option means "debug build". You can also build with the `-r` option which means "release build". Building with `-d` will allow you to use a debugger (lldb). A `-r` build is more performant. Release builds are slower to build.
|
||||
There are three main build profiles, which you can build and use independently of one another:
|
||||
|
||||
You can use and build a release build and a debug build in parallel.
|
||||
* debug builds, which allow you to use a debugger (lldb)
|
||||
* release builds, which are slower to build but more performant
|
||||
* production builds, which are used for official releases only
|
||||
|
||||
| profile | mach option | optimised? | debug<br>info? | debug<br>assertions? | finds resources in<br>current working dir? |
|
||||
|---|---|---|---|---|---|
|
||||
| debug | `-d` | no | yes | yes | yes |
|
||||
| release | `-r` | yes | no | yes(!) | yes |
|
||||
| production | `--profile production` | yes | yes | no | no |
|
||||
|
||||
You can change these settings in a servobuild file (see [servobuild.example](../servobuild.example)) or in the root [Cargo.toml](../Cargo.toml).
|
||||
|
||||
## Running Servo
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue