diff options
author | Delan Azabani <dazabani@igalia.com> | 2023-10-26 16:22:14 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-10-26 08:22:14 +0000 |
commit | a3d2f0c586e97e26906bd2327395186bf140f49b (patch) | |
tree | b21cbb63ae0695b93e6ef569691ef2fbbaf2b264 /docs/HACKING_QUICKSTART.md | |
parent | 88234309b04057d7474e51131a806105032acc28 (diff) | |
download | servo-a3d2f0c586e97e26906bd2327395186bf140f49b.tar.gz servo-a3d2f0c586e97e26906bd2327395186bf140f49b.zip |
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
Diffstat (limited to 'docs/HACKING_QUICKSTART.md')
-rw-r--r-- | docs/HACKING_QUICKSTART.md | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/docs/HACKING_QUICKSTART.md b/docs/HACKING_QUICKSTART.md index 5efca5a2377..24960afb131 100644 --- a/docs/HACKING_QUICKSTART.md +++ b/docs/HACKING_QUICKSTART.md @@ -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 |