Update Linux build docs to remove GYP references.
This removes most references to the GYP build from files in docs starting with "linux_". Review URL: https://codereview.chromium.org/1877013002 Cr-Commit-Position: refs/heads/master@{#386526}
This commit is contained in:
@ -17,9 +17,8 @@ Here's an overview of the steps you'll run:
|
||||
|
||||
1. **gclient**. A checkout involves pulling nearly 100 different SVN
|
||||
repositories of code. This process is managed with a tool called `gclient`.
|
||||
1. **GN** / **gyp**. Cross-platform build configuration systems (GYP is the
|
||||
older one, GN is the one being transitioned to). It generates ninja build
|
||||
files. Running `gn`/`gyp` is analogous to the `./configure` step seen in
|
||||
1. **GN**. Cross-platform build configuration system. It generates ninja
|
||||
build files. Running `gn` is analogous to the `./configure` step seen in
|
||||
most other software.
|
||||
1. **ninja**. The actual build itself uses `ninja`. A prebuilt binary is in
|
||||
`depot_tools` and should already be in your path if you followed the steps
|
||||
@ -42,7 +41,7 @@ your checkout.
|
||||
|
||||
## Compilation
|
||||
|
||||
The weird "`src/`" directory is an artifact of `gclient`. Start with:
|
||||
The "`src/`" directory is an artifact of `gclient`. Start with:
|
||||
|
||||
$ cd src
|
||||
|
||||
@ -89,19 +88,13 @@ to see what ninja is actually doing.
|
||||
|
||||
### Clean builds
|
||||
|
||||
If you're using GN, you can clean the build directory (`out/Default` in this
|
||||
example):
|
||||
You can clean the build directory (`out/Default` in this example):
|
||||
|
||||
gn clean out/Default
|
||||
|
||||
This will delete all files except a bootstrap ninja file necessary for
|
||||
recreating the build.
|
||||
|
||||
If you're using GYP, do:
|
||||
|
||||
rm -rf out
|
||||
gclient runhooks
|
||||
|
||||
Ninja can also be used to clean a build with `ninja -C out/Debug -t clean` but
|
||||
this will not be as complete as the above methods.
|
||||
|
||||
|
@ -156,17 +156,6 @@ Note 3: some of these packages might not be explicitly necessary as they come as
|
||||
dependencies, there is no harm in including them however.
|
||||
***
|
||||
|
||||
*** note
|
||||
Note 4: to build on 64 bit systems use, instead of
|
||||
`GYP_DEFINES=target_arch=x64`, as mentioned in the general notes for building on
|
||||
64 bit:
|
||||
|
||||
```shell
|
||||
export GYP_DEFINES="target_arch=x64"
|
||||
gclient runhooks --force
|
||||
```
|
||||
***
|
||||
|
||||
#### Gentoo setup
|
||||
|
||||
emerge www-client/chromium
|
||||
|
@ -38,11 +38,6 @@ gn args:
|
||||
|
||||
target_cpu = "arm"
|
||||
|
||||
Or the following gyp settings:
|
||||
|
||||
GYP_CROSSCOMPILE=1
|
||||
GYP_DEFINES="target_arch=arm"
|
||||
|
||||
## Testing
|
||||
|
||||
### Automated Build and Testing
|
||||
|
@ -270,8 +270,8 @@ https://groups.google.com/a/chromium.org/forum/#!searchin/chromium-dev/gdb-add-i
|
||||
for more info.
|
||||
|
||||
You can improve GDB load time significantly at the cost of link time by
|
||||
plitting symbols from the object files. In GN, set `use_debug_fission=false` in
|
||||
your "gn args". In GYP add `linux_use_debug_fission=0` to your `GYP_DEFINES`.
|
||||
splitting symbols from the object files. In GN, set `use_debug_fission=false` in
|
||||
your "gn args".
|
||||
|
||||
## Core files
|
||||
|
||||
@ -428,10 +428,9 @@ some instances in webkit that are ignorable. On systems with prelink and address
|
||||
space randomization (e.g. Fedora), you may also see valgrind errors in libstdc++
|
||||
on startup and in gnome-breakpad.
|
||||
|
||||
Valgrind doesn't seem to play nice with tcmalloc. To disable tcmalloc run GYP
|
||||
Valgrind doesn't seem to play nice with tcmalloc. To disable tcmalloc set the GN arg:
|
||||
|
||||
$ cd $CHROMIUM_ROOT/src
|
||||
$ build/gyp_chromium -Duse_allocator=none
|
||||
use_allocator="none"
|
||||
|
||||
and rebuild.
|
||||
|
||||
|
@ -280,6 +280,10 @@ requires the Eclipse knows correct include paths and pre-processor definitions.
|
||||
After fighting with with a number of approaches, I've found the below to work
|
||||
best for me.
|
||||
|
||||
*The instrcutions below are out-of-date since it references GYP. Please see
|
||||
`gn help gen` for how to generate an Eclipse CDT file in GN. If you use
|
||||
Eclipse and make it work, please update this documentation.*
|
||||
|
||||
1. From a shell in your src directory, run
|
||||
`GYP_GENERATORS=ninja,eclipse build/gyp_chromium`
|
||||
1. This generates <project root>/out/Debug/eclipse-cdt-settings.xml which
|
||||
|
@ -66,13 +66,8 @@ enormous (nearly 1gb in debug mode) files. If you dynamically link, you save a
|
||||
lot of time linking for a bit of time during startup, which is fine especially
|
||||
when you're in an edit/compile/test cycle.
|
||||
|
||||
Run gyp with the `-Dcomponent=shared_library` flag to put it in this
|
||||
configuration. (Or set those flags via the `GYP_DEFINES` environment variable.)
|
||||
|
||||
e.g.
|
||||
|
||||
build/gyp_chromium -D component=shared_library
|
||||
ninja -C out/Debug chrome
|
||||
Add the flag `is_component_build=true` in your build args (to edit build args
|
||||
run `gn args out/foo` where `out/foo` is your build directory).
|
||||
|
||||
See the
|
||||
[component build page](http://www.chromium.org/developers/how-tos/component-build)
|
||||
@ -103,17 +98,8 @@ If you're working on UI bits where you don't care to trace into WebKit you can
|
||||
cut down the size and slowness of debug builds significantly by building WebKit
|
||||
without debug symbols.
|
||||
|
||||
Set the gyp variable `remove_webcore_debug_symbols=1`, either via the
|
||||
`GYP_DEFINES` environment variable, the `-D` flag to gyp, or by adding the
|
||||
following to `~/.gyp/include.gypi`:
|
||||
|
||||
```
|
||||
{
|
||||
'variables': {
|
||||
'remove_webcore_debug_symbols': 1,
|
||||
},
|
||||
}
|
||||
```
|
||||
Set the GN build arg `remove_webcore_debug_symbols=true` (to edit build args
|
||||
run `gn args out/foo` where `out/foo` is your build directory).
|
||||
|
||||
## Tune ccache for multiple working directories
|
||||
|
||||
|
@ -1,5 +1,9 @@
|
||||
# Linux `SUID` Sandbox
|
||||
|
||||
*IMPORTANT NOTE: The Linux SUID sandbox is almost but not completely removed.
|
||||
See https://bugs.chromium.org/p/chromium/issues/detail?id=598454
|
||||
This page is mostly out-of-date.*
|
||||
|
||||
With [r20110](https://crrev.com/20110), Chromium on Linux can now sandbox its
|
||||
renderers using a `SUID` helper binary. This is one of
|
||||
[our layer-1 sandboxing solutions](linux_sandboxing.md).
|
||||
|
@ -1,5 +1,9 @@
|
||||
# Linux SUID Sandbox Development
|
||||
|
||||
*IMPORTANT NOTE: The Linux SUID sandbox is almost but not completely removed.
|
||||
See https://bugs.chromium.org/p/chromium/issues/detail?id=598454
|
||||
This page is mostly out-of-date.*
|
||||
|
||||
For context see [LinuxSUIDSandbox](linux_suid_sandbox.md)
|
||||
|
||||
We need a SUID helper binary to turn on the sandbox on Linux.
|
||||
|
Reference in New Issue
Block a user