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 1. **gclient**. A checkout involves pulling nearly 100 different SVN
repositories of code. This process is managed with a tool called `gclient`. repositories of code. This process is managed with a tool called `gclient`.
1. **GN** / **gyp**. Cross-platform build configuration systems (GYP is the 1. **GN**. Cross-platform build configuration system. It generates ninja
older one, GN is the one being transitioned to). It generates ninja build build files. Running `gn` is analogous to the `./configure` step seen in
files. Running `gn`/`gyp` is analogous to the `./configure` step seen in
most other software. most other software.
1. **ninja**. The actual build itself uses `ninja`. A prebuilt binary is in 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 `depot_tools` and should already be in your path if you followed the steps
@ -42,7 +41,7 @@ your checkout.
## Compilation ## Compilation
The weird "`src/`" directory is an artifact of `gclient`. Start with: The "`src/`" directory is an artifact of `gclient`. Start with:
$ cd src $ cd src
@ -89,19 +88,13 @@ to see what ninja is actually doing.
### Clean builds ### Clean builds
If you're using GN, you can clean the build directory (`out/Default` in this You can clean the build directory (`out/Default` in this example):
example):
gn clean out/Default gn clean out/Default
This will delete all files except a bootstrap ninja file necessary for This will delete all files except a bootstrap ninja file necessary for
recreating the build. 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 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. 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. 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 #### Gentoo setup
emerge www-client/chromium emerge www-client/chromium

@ -38,11 +38,6 @@ gn args:
target_cpu = "arm" target_cpu = "arm"
Or the following gyp settings:
GYP_CROSSCOMPILE=1
GYP_DEFINES="target_arch=arm"
## Testing ## Testing
### Automated Build and 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. for more info.
You can improve GDB load time significantly at the cost of link time by 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 splitting 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`. your "gn args".
## Core files ## 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++ space randomization (e.g. Fedora), you may also see valgrind errors in libstdc++
on startup and in gnome-breakpad. 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 use_allocator="none"
$ build/gyp_chromium -Duse_allocator=none
and rebuild. 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 After fighting with with a number of approaches, I've found the below to work
best for me. 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 1. From a shell in your src directory, run
`GYP_GENERATORS=ninja,eclipse build/gyp_chromium` `GYP_GENERATORS=ninja,eclipse build/gyp_chromium`
1. This generates <project root>/out/Debug/eclipse-cdt-settings.xml which 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 lot of time linking for a bit of time during startup, which is fine especially
when you're in an edit/compile/test cycle. when you're in an edit/compile/test cycle.
Run gyp with the `-Dcomponent=shared_library` flag to put it in this Add the flag `is_component_build=true` in your build args (to edit build args
configuration. (Or set those flags via the `GYP_DEFINES` environment variable.) run `gn args out/foo` where `out/foo` is your build directory).
e.g.
build/gyp_chromium -D component=shared_library
ninja -C out/Debug chrome
See the See the
[component build page](http://www.chromium.org/developers/how-tos/component-build) [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 cut down the size and slowness of debug builds significantly by building WebKit
without debug symbols. without debug symbols.
Set the gyp variable `remove_webcore_debug_symbols=1`, either via the Set the GN build arg `remove_webcore_debug_symbols=true` (to edit build args
`GYP_DEFINES` environment variable, the `-D` flag to gyp, or by adding the run `gn args out/foo` where `out/foo` is your build directory).
following to `~/.gyp/include.gypi`:
```
{
'variables': {
'remove_webcore_debug_symbols': 1,
},
}
```
## Tune ccache for multiple working directories ## Tune ccache for multiple working directories

@ -1,5 +1,9 @@
# Linux `SUID` Sandbox # 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 With [r20110](https://crrev.com/20110), Chromium on Linux can now sandbox its
renderers using a `SUID` helper binary. This is one of renderers using a `SUID` helper binary. This is one of
[our layer-1 sandboxing solutions](linux_sandboxing.md). [our layer-1 sandboxing solutions](linux_sandboxing.md).

@ -1,5 +1,9 @@
# Linux SUID Sandbox Development # 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) For context see [LinuxSUIDSandbox](linux_suid_sandbox.md)
We need a SUID helper binary to turn on the sandbox on Linux. We need a SUID helper binary to turn on the sandbox on Linux.