crrev.com/106633002 has recently introduced a dependency on libgbm-dev.
Unfortunatelly, this package is a bit more trickier to install, for the
following reason: it depends on mesa-glx and, conversely to most of the
other packages, only one version of mesa (w.r.t backports) can exist in
the system. Google's workstations are configured to use the -lts-saucy
version of mesa. The right package in this case is libgbm-dev-lts-saucy
and attempting to install just libgbm-dev ends up in a failure.
This change fixes install-build-deps.sh, installing the matching version
of libgbm-dev (w.r.t libgl1-mesa-glx), falling back to libgbm-dev.
BUG=
NOTRY=true
Review URL: https://codereview.chromium.org/344623002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@278433 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
The mac GN build exceeds the command line limit when linking large
targets like webkit_unit_tests. The fix is to pass a response file to
the linker instead of passing a list of object files. Passing this by
@rspfile ends up expanding the list before calling clang, so this instead
passes it via the filelist parameter.
BUG=386046
Review URL: https://codereview.chromium.org/340233002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@278424 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
It's a goodness to sequester build configuration in the build/
directory. The gn secondary_source stuff was under tools/gn for
historical reasons, so move it to a more appropriate place.
BUG=None
TEST=do a gn build of base_unittests, run said unittests.
Review URL: https://codereview.chromium.org/340153004
git-svn-id: http://src.chromium.org/svn/trunk/src/build@278355 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Strictly speaking this flag isn't here to force a deterministic build, it's here to help us to make sure that no build metadata ends up in the build artifacts to help us guarantee a deterministic build.
(See the discussion in https://codereview.chromium.org/324403006/ for more details)
FTR, Nico said he'll take care of getting rid of __DATE__ and __TIME__ so this
new define will not be necessary for that.
On the other hand we may have issues with absolute path in __FILE__ and whatever
unforeseen C++ issue. This would require #ifdef'ing them out. This is not
something devs would want to do normally so this flag is off by default.
Eventually we'll want to fix the build system to not have to hack __FILE__ out
by ensuring they are *always* relative paths but until then, this variable can
be used to make progress
R=maruel@chromium.org, thakis@chromium.orgTBR=brettw@chromium.org
BUG=314403
Review URL: https://codereview.chromium.org/330813003
git-svn-id: http://src.chromium.org/svn/trunk/src/build@278053 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
- All files from webkit/renderer/compositor_bindings have been moved to content/renderer/compositor_bindings
- Webkit_compositor_support is moved in content_renderer
- Webkit_compositor_bindings_unittests is moved in content_unittests
- A dummy target has been left for webkit_compositor_bindings_unittests so as to not break the build.
TBR=nduca
BUG=265753
Review URL: https://codereview.chromium.org/317163002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@277988 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Rewrite the argument handling code using argparse. It allows us to get
rid of a lot of manual parsing as well as the whole help message.
In addition, it fixes a few other bugs present in the previous
implementation:
- Passing 3 or more arguments that are not values for parameters would
cause an infinite loop.
- The "--template" option was not allowed (only its short form "-t"
was).
R=mark@chromium.org, brettw@chromium.org
Review URL: https://codereview.chromium.org/336513002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@277450 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
~21% speed up over floating point.
2.6% increase in executable size.
- Also switched to late expansion of release_optimize in common.gypi (debug_optimize was already using it). This makes it possible to set optimization level via release_optimize in lower level targets.
- Enable -O3 for Opus when building form arm32/arm64. This yields:
arm32: Speed increase up to 21% (encode) and 5% (decode).
arm32: 2.8% increase in executable size.
arm32: Output is bit exact with the output when -Os is used.
arm64: Speed increase up to 18% (encode) and 25% (decode).
arm64: 7.4% increase in executable size.
arm64: Output is exact within one LSB (max difference is 2) with the arm32 output.
Measured using webrtc/audio_codec_speed_tests.
BUG=chromium:354539
Review URL: https://codereview.chromium.org/315673002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@277414 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
At runtime, the classloader will look for classes in both apk's dex
files. In the standard Android build system, an instrumentation test
apk's dex file does not include the classes included in the tested apk's
dex file.
To do this, when doing obfuscation for an apk, write the list of
libraries included in the obfuscated jar and the list of proguard config
files. Then, when proguarding the test apk's code, exclude those
libraries included in the tested apk, use the configs from the tested
apk, and apply the proguard mapping (the renames from obfuscation). Also
add some extra test-specific proguard options.
Now that the test apk does not bundle its own copy of all the tested
apk's classes, some things may need to be kept in the main apk just for
tests. However, we already keep everything in org.chromium.** and
com.google.android.apps.** because of the fact that the test apk was
using its own copy of all the classes and so we couldn't depend on the
tests to actually catch us from over-optimizing with proguard.
BUG=272790
Review URL: https://codereview.chromium.org/321883002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@277257 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
I've started changing the way grit headers are included so the include path is relative to the root gen path (liek internal Google does). This also means we don't accumulate another implicit include path for every grit target in the build.
Updates the grit target a bit so that it also includes the generated id file as a dependency, since if this changes everything will need to be re-run.
This adds a bunch of tracing targets required by the content browser build
TBR=scottmg
Review URL: https://codereview.chromium.org/335693004
git-svn-id: http://src.chromium.org/svn/trunk/src/build@277124 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
r262292 moved much of the script under the android_envsetup_main
function. Since zsh does not define BASH_SOURCE, SCRIPT_DIR ends up
being set to $0, which contains the name of the function. As a result,
the various paths are computed incorrectly under when envsetup.sh is
sourced from zsh.
BUG=
Review URL: https://codereview.chromium.org/330513007
git-svn-id: http://src.chromium.org/svn/trunk/src/build@276931 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Also remove the option -w to only wipe without provisioning. This was temporary
functionality to recover from INSUFFICIENT_STORAGE on device error. With the
default wiping, this should be unnecessary. For bots that skip wiping, we can
still manually fix by manually running without --skip-wipe.
BUG=383106
TBR=craigdh@chromium.org
Review URL: https://codereview.chromium.org/334503002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@276866 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
At runtime, the classloader will look for classes in both apk's dex
files. In the standard Android build system, an instrumentation test
apk's dex file does not include the classes included in the tested apk's
dex file.
To do this, when dexing, write a file listing the inputs to the dex
file. When dexing for an instrumentation apk, exclude those files listed
as inputs of the tested apk's dex file.
For proguarded apks, this exclusion will need to happen for proguard
inputs instead of dex inputs, so this change does not cover that case.
BUG=272790
NOTRY=true
Review URL: https://codereview.chromium.org/313273004
git-svn-id: http://src.chromium.org/svn/trunk/src/build@276788 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This is forked off of https://codereview.chromium.org/266613002 The code to compile yasm itself is mostly from that patch, with a few updates for the other changes.
Adds a template for running compiled binaries. Compared to Albert's patch above, this assumes the binary is generated by the source tree so can have a cleaner interface (just specify the label of the tool you use).
The yasm rule is new compared to Albert's patch. It uses a special wrapper script instead of the new compiled_action templates so it can properly support depfiles. This also adds convenient support for defines and include dirs.
This adds some trivial ios changes to the content/public/browser. This should be a NOP now.
Fixes a bug in GN depfile creation. Previously, the .d file was emitted as an output of the script, but this confuses ninja. This change just removes that.
BUG=
R=ajwong@chromium.org
Review URL: https://codereview.chromium.org/321323004
git-svn-id: http://src.chromium.org/svn/trunk/src/build@276772 4ff67af0-8c30-449e-8e8b-ad334ec8d88c