0

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:
brettw
2016-04-11 17:10:49 -07:00
committed by Commit bot
parent 22392bf05d
commit 20d800c70e
8 changed files with 24 additions and 50 deletions

@ -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.