diff options
author | Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> | 2016-07-14 17:41:05 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2016-08-04 12:37:36 +0000 |
commit | 399c965b6064c440ddcf4015f5f8e9d131c7a0a6 (patch) | |
tree | 6b06b60ff365abef0e13b3503d593a0df48d20e8 /chromium/docs/clang.md | |
parent | 7366110654eec46f21b6824f302356426f48cd74 (diff) | |
download | qtwebengine-chromium-399c965b6064c440ddcf4015f5f8e9d131c7a0a6.tar.gz |
BASELINE: Update Chromium to 52.0.2743.76 and Ninja to 1.7.1
Change-Id: I382f51b959689505a60f8b707255ecb344f7d8b4
Reviewed-by: Michael BrĂ¼ning <michael.bruning@qt.io>
Diffstat (limited to 'chromium/docs/clang.md')
-rw-r--r-- | chromium/docs/clang.md | 44 |
1 files changed, 28 insertions, 16 deletions
diff --git a/chromium/docs/clang.md b/chromium/docs/clang.md index 5b5b43f7ada..4e12a7e48c0 100644 --- a/chromium/docs/clang.md +++ b/chromium/docs/clang.md @@ -18,20 +18,11 @@ Get clang (happens automatically during `gclient runhooks` on Mac and Linux): tools/clang/scripts/update.py -(Only needs to be run once per checkout, and clang will be automatically updated -by `gclient runhooks`.) +Only needs to be run once per checkout, and clang will be automatically updated +by `gclient runhooks`. -### Reverting to gcc on linux - -We don't have bots that test this, but building with gcc4.8+ should still work -on Linux. If your system gcc is new enough, use this to build with gcc if you -don't want to build with clang: - - GYP_DEFINES=clang=0 build/gyp_chromium - -### Ninja - -Regenerate the build files (`clang=1` is on by default on Mac and Linux): +Regenerate the ninja build files with Clang enabled. Again, on Linux and Mac, +Clang is the default compiler. If you use gyp: `GYP_DEFINES=clang=1 build/gyp_chromium` @@ -39,6 +30,14 @@ If you use gn, run `gn args` and add `is_clang = true` to your args.gn file. Build: `ninja -C out/Debug chrome` +## Reverting to gcc on linux + +We don't have bots that test this, but building with gcc4.8+ should still work +on Linux. If your system gcc is new enough, use this to build with gcc if you +don't want to build with clang: + + GYP_DEFINES=clang=0 build/gyp_chromium + ## Mailing List http://groups.google.com/a/chromium.org/group/clang/topics @@ -79,8 +78,6 @@ See [clang_static_analyzer.md](clang_static_analyzer.md). ## Windows -**Experimental!** - clang can be used as compiler on Windows. Clang uses Visual Studio's linker and SDK, so you still need to have Visual Studio installed. @@ -97,9 +94,11 @@ python build\gyp_chromium ninja -C out\Debug chrome ``` +The `update.py` script only needs to be run once per checkout. Clang will be +kept up-to-date by `gclient runhooks`. + Current brokenness: -* Goma doesn't work. * Debug info is very limited. * To get colored diagnostics, you need to be running [ansicon](https://github.com/adoxa/ansicon/releases). @@ -131,3 +130,16 @@ If your clang revision is very different from the one currently used in chromium * Check `tools/clang/scripts/update.py` to find chromium's clang revision * You might have to tweak warning flags. Or you could set `werror=` in the line above to disable warnings as errors (but this only works on Linux). + +## Using LLD + +**Experimental!** + +LLD is a relatively new linker from LLVM. The current focus is on Windows and +Linux support, where it can link Chrome approximately twice as fast as gold and +MSVC's link.exe as of this writing. LLD does not yet support generating PDB +files, which makes it hard to debug Chrome while using LLD. + +If you use gyp, you can enable it with `GYP_DEFINES=lld=1`. If you use gn, set +`use_lld = true` in args.gn. Currently this configuration is only supported on +Windows. |