summaryrefslogtreecommitdiff
path: root/chromium/docs/clang.md
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@theqtcompany.com>2016-07-14 17:41:05 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2016-08-04 12:37:36 +0000
commit399c965b6064c440ddcf4015f5f8e9d131c7a0a6 (patch)
tree6b06b60ff365abef0e13b3503d593a0df48d20e8 /chromium/docs/clang.md
parent7366110654eec46f21b6824f302356426f48cd74 (diff)
downloadqtwebengine-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.md44
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.