mirror of
https://github.com/servo/servo
synced 2026-04-25 17:15:48 +02: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:
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user