On Android/ARM we add -fomit-frame-pointer elsewhere in common.gypi.
Simply adding -fno-omit-frame-pointer when building with sanitizers is
not enough, because the former flag wins (it get added closer to the end
of the command line). Therefore, we also remove all -fomit-frame-pointer
flags under sanitizers.
BUG=325685
TEST=wait for the next clang roll, run asan tests on android
R=glider@chromium.org
Review URL: https://codereview.chromium.org/143873009
git-svn-id: http://src.chromium.org/svn/trunk/src/build@246256 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
We've switched to Aura on Linux (see chromium-dev threads). NPAPI plugins aren't supported on Linux Aura (also see chromium-dev thread). These tests should just be disabled.
> Revert of Reenable linux_aura on the main builders. (Again). (https://codereview.chromium.org/138033023/)
>
> Reason for revert:
> Blink layout tests are failing:
>
> http/tests/plugins/interrupted-get-url.html
> http/tests/plugins/third-party-cookie-accept-policy.html
> plugins/mouse-click-plugin-clears-selection.html
>
> Original issue's description:
> > Reenable linux_aura on the main builders. (Again).
> >
> > We upgraded the eu-strip binary so that it can deal with binaries that
> > are more than two gigabytes large. This should fix the crash on the
> > Google Chrome Linux builder, which was the only bot to break last night.
> >
> > BUG=319075,125106,303342,318961
> > NOTRY=True
> >
> > Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=245737
>
> TBR=erg@chromium.org
> NOTREECHECKS=true
> NOTRY=true
> BUG=319075,125106,303342,318961
>
> Review URL: https://codereview.chromium.org/143073002TBR=eustas@chromium.org
Review URL: https://codereview.chromium.org/137493007
git-svn-id: http://src.chromium.org/svn/trunk/src/build@246094 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Reason for revert:
Blink layout tests are failing:
http/tests/plugins/interrupted-get-url.html
http/tests/plugins/third-party-cookie-accept-policy.html
plugins/mouse-click-plugin-clears-selection.html
Original issue's description:
> Reenable linux_aura on the main builders. (Again).
>
> We upgraded the eu-strip binary so that it can deal with binaries that
> are more than two gigabytes large. This should fix the crash on the
> Google Chrome Linux builder, which was the only bot to break last night.
>
> BUG=319075,125106,303342,318961
> NOTRY=True
>
> Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=245737TBR=erg@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=319075,125106,303342,318961
Review URL: https://codereview.chromium.org/143073002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@245865 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
For a short transition period, let envsetup.sh set the right GYP_DEFINES when
GOMA_DIR is set, so that people aren't broken immediately after this lands.
Also stop setting GOMA_COMPILER_PROXY_THREADS – if the value this sets
is truly better, that should be the default in goma, it shouldn't be set in
envsetup.sh (doing it in goma has the advantage that it works on all
platforms, also abstraction barriers, etc.)
BUG=332697
R=brettw@chromium.org, ilevy@chromium.org
Review URL: https://codereview.chromium.org/142393002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@245801 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
We upgraded the eu-strip binary so that it can deal with binaries that
are more than two gigabytes large. This should fix the crash on the
Google Chrome Linux builder, which was the only bot to break last night.
BUG=319075,125106,303342,318961
NOTRY=True
Review URL: https://codereview.chromium.org/138033023
git-svn-id: http://src.chromium.org/svn/trunk/src/build@245737 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Reason for revert:
Failed due to mysterious failures on the Google Chrome Linux bot.
Example:
FAILED: cd ../../chrome; flock -- /tmp/linux_package_lock bash ../out/Release/installer/debian/build.sh -o../out/Release -b ../out/Release -a ia32 -c stable
Staging common install files in '/tmp/deb.build.AEvway'...
eu-strip: while computing checksum for debug information: Invalid argument
Cleaning...
BUG=335451
Original issue's description:
> Reenable linux_aura on the main builders.
>
> We fixed the browser test slowdown that lead to linux_aura being
> disabled in r235280. (Different test suites are faster or slower, but
> overall, tests run faster.)
>
> We are turning this on primarily to get perf data; if things look
> acceptable, we hope to cut a dev channel this week.
>
> BUG=319075,125106,303342,318961
> NOTRY=True
>
> Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=245415
TBR=
NOTREECHECKS=true
NOTRY=true
BUG=319075,125106,303342,318961
Review URL: https://codereview.chromium.org/140823008
git-svn-id: http://src.chromium.org/svn/trunk/src/build@245429 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Reason for revert:
Didn't actually help with the build failures on Google Chrome Linux.
Original issue's description:
> linux_aura: Attempt to green the official builder by reverting unwind support.
>
> This effectively reverts in r243919 and r244331 in a desperate attempt
> to fix the tree.
>
> Build fail output:
>
> FAILED: cd ../../chrome; flock -- /tmp/linux_package_lock bash ../out/Release/installer/rpm/build.sh -o../out/Release -b ../out/Release -a ia32 -c beta
> Staging common install files in '/tmp/rpm.build.XtJRbJ'...
> eu-strip: while computing checksum for debug information: Invalid argument
> FAILED: cd ../../chrome; flock -- /tmp/linux_package_lock bash ../out/Release/installer/rpm/build.sh -o../out/Release -b ../out/Release -a ia32 -c unstable
> Staging common install files in '/tmp/rpm.build.t4jNp4'...
> eu-strip: while computing checksum for debug information: Invalid argument
> FAILED: cd ../../chrome; flock -- /tmp/linux_package_lock bash ../out/Release/installer/debian/build.sh -o../out/Release -b ../out/Release -a ia32 -c unstable
> Staging common install files in '/tmp/deb.build.CxnH9l'...
> eu-strip: while computing checksum for debug information: Invalid argument
> Cleaning...
> FAILED: cd ../../chrome; flock -- /tmp/linux_package_lock bash ../out/Release/installer/debian/build.sh -o../out/Release -b ../out/Release -a ia32 -c stable
> Staging common install files in '/tmp/deb.build.9Zyie1'...
> eu-strip: while computing checksum for debug information: Invalid argument
> Cleaning...
> FAILED: cd ../../chrome; flock -- /tmp/linux_package_lock bash ../out/Release/installer/debian/build.sh -o../out/Release -b ../out/Release -a ia32 -c beta
> Staging common install files in '/tmp/deb.build.xUB39X'...
> eu-strip: while computing checksum for debug information: Invalid argument
> Cleaning...
> FAILED: cd ../../chrome; flock -- /tmp/linux_package_lock bash ../out/Release/installer/rpm/build.sh -o../out/Release -b ../out/Release -a ia32 -c stable
> Staging common install files in '/tmp/rpm.build.aN0PGV'...
> eu-strip: while computing checksum for debug information: Invalid argument
> ../out/Release/chrome, section '.eh_frame': the call frame entry at offset 0x18 uses a DWARF expression to describe how to recover register '.cfa', but this translator cannot yet translate DWARF expressions to Breakpad postfix expressions
> ninja: build stopped: subcommand failed.
>
> BUG=180975
> TBR=spang@chromium.org, stip@chromium.org
>
> Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=245421TBR=spang@chromium.org,stip@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=180975
Review URL: https://codereview.chromium.org/141273005
git-svn-id: http://src.chromium.org/svn/trunk/src/build@245428 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This effectively reverts in r243919 and r244331 in a desperate attempt
to fix the tree.
Build fail output:
FAILED: cd ../../chrome; flock -- /tmp/linux_package_lock bash ../out/Release/installer/rpm/build.sh -o../out/Release -b ../out/Release -a ia32 -c beta
Staging common install files in '/tmp/rpm.build.XtJRbJ'...
eu-strip: while computing checksum for debug information: Invalid argument
FAILED: cd ../../chrome; flock -- /tmp/linux_package_lock bash ../out/Release/installer/rpm/build.sh -o../out/Release -b ../out/Release -a ia32 -c unstable
Staging common install files in '/tmp/rpm.build.t4jNp4'...
eu-strip: while computing checksum for debug information: Invalid argument
FAILED: cd ../../chrome; flock -- /tmp/linux_package_lock bash ../out/Release/installer/debian/build.sh -o../out/Release -b ../out/Release -a ia32 -c unstable
Staging common install files in '/tmp/deb.build.CxnH9l'...
eu-strip: while computing checksum for debug information: Invalid argument
Cleaning...
FAILED: cd ../../chrome; flock -- /tmp/linux_package_lock bash ../out/Release/installer/debian/build.sh -o../out/Release -b ../out/Release -a ia32 -c stable
Staging common install files in '/tmp/deb.build.9Zyie1'...
eu-strip: while computing checksum for debug information: Invalid argument
Cleaning...
FAILED: cd ../../chrome; flock -- /tmp/linux_package_lock bash ../out/Release/installer/debian/build.sh -o../out/Release -b ../out/Release -a ia32 -c beta
Staging common install files in '/tmp/deb.build.xUB39X'...
eu-strip: while computing checksum for debug information: Invalid argument
Cleaning...
FAILED: cd ../../chrome; flock -- /tmp/linux_package_lock bash ../out/Release/installer/rpm/build.sh -o../out/Release -b ../out/Release -a ia32 -c stable
Staging common install files in '/tmp/rpm.build.aN0PGV'...
eu-strip: while computing checksum for debug information: Invalid argument
../out/Release/chrome, section '.eh_frame': the call frame entry at offset 0x18 uses a DWARF expression to describe how to recover register '.cfa', but this translator cannot yet translate DWARF expressions to Breakpad postfix expressions
ninja: build stopped: subcommand failed.
BUG=180975
TBR=spang@chromium.org, stip@chromium.org
Review URL: https://codereview.chromium.org/141013009
git-svn-id: http://src.chromium.org/svn/trunk/src/build@245421 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
We fixed the browser test slowdown that lead to linux_aura being
disabled in r235280. (Different test suites are faster or slower, but
overall, tests run faster.)
We are turning this on primarily to get perf data; if things look
acceptable, we hope to cut a dev channel this week.
BUG=319075,125106,303342,318961
NOTRY=True
Review URL: https://codereview.chromium.org/136813004
git-svn-id: http://src.chromium.org/svn/trunk/src/build@245415 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This makes unwind support consistent on Linux (used by
base::debug::StackTrace). A combination of arch-specific toolchain defaults
and arch-specific cflags made the previous behavior inconsistent.
Unwind tables are useful for development and much cheaper than
debuginfo, so enable them for all non-official builds.
TEST=build for ia32, x64, arm (compared defaults & official)
BUG=180975
Review URL: https://codereview.chromium.org/129283003
git-svn-id: http://src.chromium.org/svn/trunk/src/build@243919 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
We add a use_seccomp_bpf variable to allow not building
seccomp-bpf.
We make sure that it can't be use by mistake with sanity
checks that the architecture is MIPS.
BUG=267179
TEST=Use "GYP_DEFINES='use_seccomp_bpf=0' and comment out the two #error.
about:sandbox should say that seccomp-bpf is disabled.
Review URL: https://codereview.chromium.org/117803002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@241949 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This also moves DiscardableMemory::CreateLockedMemory implementations
to platform specific files and allows us to choose what implementation
to use at runtime.
No change in behavior, refactor only.
BUG=327516
TEST=base_unitttest --gtest_filter=DiscardableMemory*
Review URL: https://codereview.chromium.org/111713008
git-svn-id: http://src.chromium.org/svn/trunk/src/build@240924 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This adds a PDF component extension which is used for rendering PDFs with an
out of process PDF plugin. It adds the extension as a MIME handler for pdf file
types. The extension is currently only added if the --out-of-process-pdf switch
is passed to Chrome, AND the PDF plugin is available.
BUG=303491
Review URL: https://codereview.chromium.org/96233002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@239451 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
dirname outputs "." when given an empty argument, which gyp rules then
interpret as goma being available.
Remove ANDROID_GOMA_WRAPPER which is no longer used, and use GOMA_DIR
directly for android build.
BUG=
NOTRY=true
Review URL: https://codereview.chromium.org/104563004
git-svn-id: http://src.chromium.org/svn/trunk/src/build@238718 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
If use_goma is specified in GYP_DEFINES, gomacc is automatically set as
CC wrapper and CXX wrapper. It uses the default goma directory if the gomadir
option is not given. No need to fix PATH when running ninja (or make).
This is the revival of https://codereview.chromium.org/69293004/.
In https://codereview.chromium.org/69293004/, I removed ANDROID_GOMA_WRAPPER
code, which is actually used. This code supports both way of enabling goma
for Android. You can set GOMA_DIR or you can set -D use_goma=1.
Currently, this works well with ninja (default build system of chromium).
It does not work well with make in some case (e.g. build on linux with make).
Example 1
$ GYP_DEFINES="clang=1 use_goma=1" build/gyp_chromium
(no need to set CC/CXX at this stage)
build.ninja will have
cc = ${HOME}/gomacc ../../third_party/llvm-build/Release+Asserts/bin/clang
cxx = ${HOME}/gomacc ../../third_party/llvm-build/Release+Asserts/bin/clang++
The user can run ninja without setting PATH or so.
$ ninja -C out/Release -j100
Example 2
$ GYP_DEFINES="use_goma=1 gomadir=/path/to/goma" build/gyp_chromium
build.ninja will have
cc = /path/to/goma/gomacc gcc
cxx = /path/to/goma/gomacc g++
user can run ninja without setting PATH or so.
$ ninja -C out/Release -j100
BUG=173686
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=237900
Review URL: https://codereview.chromium.org/96923002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@238630 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Currently, how to build/link the icu data is split between
common.gypi and icu_util.cc
Move it out of icu_util.cc and put it in common.gypi
Also, remove icudata from the dependency list in url.gyp. icuuc depends
on icudata and specifying icuuc alone is sufficient. Otherwise, ninja
complains about multiple rules specified for icudata and a circular
dependency when icu_use_data_file_flag is set to 1 on Linux.
A similar change has to be made in
third_party/WebKit/Source/web/web.gyp.
(see https://codereview.chromium.org/93053003/ )
This CL does not change the actual build process, yet. It's just to prepare
to switch to "icu*.dat" on Mac and Linux.
BUG=72633
TEST=All the configuration/builds go fine on all platforms.
Review URL: https://codereview.chromium.org/89863002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@238567 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
fork chromium. The first patchset below is equivalent to what we have
in KLP branch (minus machine generated makefiles).
This is to unfork the implementation.
Note that the print messages and print_web_view_helper are same (or
very slightly different) from their counterpart in
chrome/renderer/printing and chrome/common/print_messages. The plan is
to start componentizing printing immediately after and remove the
duplicate code
TBR=danakj@chromium.org
BUG=322276
Review URL: https://codereview.chromium.org/54963005
git-svn-id: http://src.chromium.org/svn/trunk/src/build@238196 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Broke the blink android build.
TBR=mkwst@chromium.org
> Add use_goma for GYP_DEFINES
>
> If use_goma is specified in GYP_DEFINES, gomacc is automatically set as
> CC wrapper and CXX wrapper. It uses the default goma directory if the gomadir
> option is not given. No need to fix PATH when running ninja (or make).
> This is the revival of https://codereview.chromium.org/12419003/,
> and expected to work with https://codereview.chromium.org/66303010/.
> Note: Goma team suggest not to put gomadir in PATH if you use use_goma option.
>
> Currently, this works well with ninja (default build system of chromium).
> It does not work well with make in some case (e.g. build on linux with make).
>
> According to the review comment, ANDROID_GOMA_WRAPPER has already been
> obsoleted. ANDROID_GOMA_WRAPPER will be just ignored after this change.
>
> Example 1
> $ GYP_DEFINES="clang=1 use_goma=1" build/gyp_chromium
> (no need to set CC/CXX at this stage)
>
> build.ninja will have
> cc = ${HOME}/gomacc ../../third_party/llvm-build/Release+Asserts/bin/clang
> cxx = ${HOME}/gomacc ../../third_party/llvm-build/Release+Asserts/bin/clang++
>
> The user can run ninja without setting PATH or so.
> $ ninja -C out/Release -j100
>
> Example 2
>
> $ GYP_DEFINES="use_goma=1 gomadir=/path/to/goma" build/gyp_chromium
>
> build.ninja will have
> cc = /path/to/goma/gomacc gcc
> cxx = /path/to/goma/gomacc g++
>
> user can run ninja without setting PATH or so.
> $ ninja -C out/Release -j100
>
> BUG=173686
>
> Review URL: https://codereview.chromium.org/69293004TBR=yyanagisawa@chromium.org
Review URL: https://codereview.chromium.org/96703002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@237911 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
If use_goma is specified in GYP_DEFINES, gomacc is automatically set as
CC wrapper and CXX wrapper. It uses the default goma directory if the gomadir
option is not given. No need to fix PATH when running ninja (or make).
This is the revival of https://codereview.chromium.org/12419003/,
and expected to work with https://codereview.chromium.org/66303010/.
Note: Goma team suggest not to put gomadir in PATH if you use use_goma option.
Currently, this works well with ninja (default build system of chromium).
It does not work well with make in some case (e.g. build on linux with make).
According to the review comment, ANDROID_GOMA_WRAPPER has already been
obsoleted. ANDROID_GOMA_WRAPPER will be just ignored after this change.
Example 1
$ GYP_DEFINES="clang=1 use_goma=1" build/gyp_chromium
(no need to set CC/CXX at this stage)
build.ninja will have
cc = ${HOME}/gomacc ../../third_party/llvm-build/Release+Asserts/bin/clang
cxx = ${HOME}/gomacc ../../third_party/llvm-build/Release+Asserts/bin/clang++
The user can run ninja without setting PATH or so.
$ ninja -C out/Release -j100
Example 2
$ GYP_DEFINES="use_goma=1 gomadir=/path/to/goma" build/gyp_chromium
build.ninja will have
cc = /path/to/goma/gomacc gcc
cxx = /path/to/goma/gomacc g++
user can run ninja without setting PATH or so.
$ ninja -C out/Release -j100
BUG=173686
Review URL: https://codereview.chromium.org/69293004
git-svn-id: http://src.chromium.org/svn/trunk/src/build@237900 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Fuzzer child process takes messages from a testcase file specified by --ipc-fuzzer-testcase and sends them across IPC.
Renderer process is replaced by the fuzzer process using --renderer-cmd-prefix, which is only supported under POSIX.
BUG=260848
Review URL: https://codereview.chromium.org/18254010
git-svn-id: http://src.chromium.org/svn/trunk/src/build@237795 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
The previous expansion using <(PRODUCT_DIR)/../.. did not work correctly
if one was using a different build directory layout (out-of-source
builds, or some build directory with a different number of
subdirectories).
Solve this by doing the same as the sysroot variables: stop using
relative paths from the build directory and extract absolute paths using
DEPTH.
TEST=./build/gyp_chromium -Goutput_dir=/somewhere/else
R=phajdan.jr@chromium.org,thakis@chromium.org,dpranke@chromium.org
Review URL: https://codereview.chromium.org/83673002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@236822 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This is useful for embedded linux setups, which often don't include udev support.
TEST=Build content_shell on linux with use_udev=0 then run ldd on output binaries to verify libudev is not listed (and is listed if built with use_udev=1 or unspecified)
BUG=318315,318413
Review URL: https://codereview.chromium.org/12374068
git-svn-id: http://src.chromium.org/svn/trunk/src/build@236204 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This makes base build on Linux when use_glib is set to 0. The only glib
bits we are currently using in that configuration are g_get_home_dir()
and g_try_malloc().
Use of g_get_home_dir() is not essential. Without glib, we can just rely
on the $HOME environment variable always.
Use of g_try_malloc() is just a way to cause a large memory allocation
from a shared library. We can achieve the same effect using asprintf().
BUG=318315, 318413, 170408
Review URL: https://codereview.chromium.org/69953025
git-svn-id: http://src.chromium.org/svn/trunk/src/build@236162 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This adds a use_cairo gyp variable that removes cairo from the build.
To build skia without cairo, we need the code in
bitmap_platform_device_android.cc.
To make all platforms build the correct files, rename
bitmap_platform_device_linux to bitmap_platform_device_cairo and
rename bitmap_platform_device_android to bitmap_platform_device_skia.
We'll use bitmap_platform_device_skia for Android and for embedded
content shell.
BUG=318315, 318413
Review URL: https://codereview.chromium.org/59133008
git-svn-id: http://src.chromium.org/svn/trunk/src/build@236037 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
The linux wifi data provider adds an external dependency on libdbus.
This prevents building content_browser on linux systems that don't
include it (particularly embedded ones such as chromecast).
Introduce use_dbus gyp variable and remove this dependency when
use_dbus==0.
BUG=318315,318413
Review URL: https://codereview.chromium.org/59323007
git-svn-id: http://src.chromium.org/svn/trunk/src/build@234894 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
In VS2013, remoting_host_event_logger.lib fails with:
FAILED: E:\b\depot_tools\python_bin\python.exe gyp-win-tool link-wrapper environment.x86 lib.exe /nologo /ignore:4221 /OUT:obj\remoting\remoting_host_event_logger.lib @obj\remoting\remoting_host_event_logger.lib.rsp
LINK : warning LNK4068: /MACHINE not specified; defaulting to X64
obj\remoting\host\remoting_host_event_logger.host_event_logger_win.obj : fatalerror LNK1112: module machine type 'X86' conflicts with target machine type 'x64'
This is because if unspecified, lib.exe chooses the target architecture
based on the first input file. In this lib, the first file (there's only
2) happens to be a .res compiled from a .rc, which doesn't have an
architecture. Because we use the amd64 toolchain, lib decides to guess
that it should use x64. This fails to lib because the other .cc input is
x86.
After adding support for setting the architecture for libs in gyp here
https://codereview.chromium.org/68133006/ this sets it explicitly on our
libs too.
R=cpu@chromium.org
BUG=309197
Review URL: https://codereview.chromium.org/61893020
git-svn-id: http://src.chromium.org/svn/trunk/src/build@234656 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Seems to cause two Chrome Memory bots to fail consistently with the error
"Failed cbuildbot failed buildpackages failed report"
See these links:
http://build.chromium.org/p/chromium.memory/builders/Chromium%20OS%20(x86)%20ASANhttp://build.chromium.org/p/chromium.memory/builders/Chromium%20OS%20(amd64)%20ASAN
If those links break, mpearson@ has a copy of the failure output
(too long to paste here).
> Set the default ASan options for executables built with ASan on Linux.
>
> This CL introduces a module, base/debug/sanitizer_options.cc, which will override
> the defaults for various dynamic tools (only ASan at this moment). For every executable
> built with a dynamic tool this module will be linked into that executable, providing
> weak functions to be called by the tool.
>
> The existing declaration of __asan_default_options() in chrome/app/chrome_exe_main_gtk.cc
> has been moved into sanitizer_options.cc (now every binary built with GOOGLE_CHROME_BUILD=1
> will have the same options as google-chrome-asan.
> The existing declaration of __asan_default_options() in chrome/nacl/nacl_helper_linux.cc
> has been kept as is, but we had to remove -Wl,-u_sanitizer_options_link_helper to avoid picking sanitizer_options.cc.
>
> GYP changes for OSX and iOS will be committed separately.
>
> BUG=302040
> R=thakis@chromium.org
>
> Review URL: https://codereview.chromium.org/25687005TBR=glider@chromium.org
Review URL: https://codereview.chromium.org/68843003
git-svn-id: http://src.chromium.org/svn/trunk/src/build@234232 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This CL introduces a module, base/debug/sanitizer_options.cc, which will override
the defaults for various dynamic tools (only ASan at this moment). For every executable
built with a dynamic tool this module will be linked into that executable, providing
weak functions to be called by the tool.
The existing declaration of __asan_default_options() in chrome/app/chrome_exe_main_gtk.cc
has been moved into sanitizer_options.cc (now every binary built with GOOGLE_CHROME_BUILD=1
will have the same options as google-chrome-asan.
The existing declaration of __asan_default_options() in chrome/nacl/nacl_helper_linux.cc
has been kept as is, but we had to remove -Wl,-u_sanitizer_options_link_helper to avoid picking sanitizer_options.cc.
GYP changes for OSX and iOS will be committed separately.
BUG=302040
R=thakis@chromium.org
Review URL: https://codereview.chromium.org/25687005
git-svn-id: http://src.chromium.org/svn/trunk/src/build@234207 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This is essentially a revert of r227214. In the interim, we've enabled interactive_ui_tests, switched to openbox on the bots to theoretically fix browser_tests, and have a speculative nacl integration crash fix.
BUG=125106,303342,304554,125106,304555,316716,316919
Review URL: https://codereview.chromium.org/26622003
git-svn-id: http://src.chromium.org/svn/trunk/src/build@234139 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
All ozone configurations currently build DRI support, and therefore
have a dependency on the libdrm system library. This is not needed
except when ozone_platform_dri is enabled.
This allows us to drop the link to libdrm when it is not needed.
Review URL: https://codereview.chromium.org/62953003
git-svn-id: http://src.chromium.org/svn/trunk/src/build@233671 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
r232181 changed build/common.gypi to set ARCHS=i386 explicitly for
target_arch==ia32. However, we don't want to set ARCHS=i386 for iOS device
builds (because iOS devices are a different architecture entirely). This CL
arranges to leaved ARCHS untouched for iOS builds, so that Xcode will use its
defaults; this was the behavior before r232181.
The non-intuitive aspect is that target_arch==ia32 for OS=="ios", because
host_arch is set to 'ia32' at line 88 of build/common.gypi for 'OS=="win" or
OS=="mac" or OS=="ios"' and target_arch is set from host_arch at line 117.
With build/common.gypi fixed, we also need to fix
discardable_memory_provider_unittest.cc for iOS device builds, now that it is
being compiled with the correct architecture.
BUG=314712
Review URL: https://codereview.chromium.org/58373003
git-svn-id: http://src.chromium.org/svn/trunk/src/build@233050 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
The chromium_code variable is designed to be set by targets.
However, if it is used in a conditions predicate in common.gypi,
it will always be false, since conditions are evaluated early.
target_conditions are evaluated late, after the target has had a
chance to set its own variables.
R=mark@chromium.org
Review URL: https://codereview.chromium.org/55283002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@232397 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This provides a way to select an ozone implementation to use at runtime. Each
ozone implementation adds its name to the ozone_platforms GYP variable, and we
take care of parsing the flag value and configuring chromium to use that
implementation during initialization.
To support external ports, we generate the list of enabled platforms at
build time. The list is a static array that maps values of the --ozone_platform
flag to a constructor function for an OzonePlatform subclass. At runtime, we
call the constructor for platform specified on the command-line and use it to
provide implementations of the various ozone interfaces (SurfaceFactoryOzone,
EventFactoryOzone).
Review URL: https://codereview.chromium.org/44053005
git-svn-id: http://src.chromium.org/svn/trunk/src/build@232301 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This provides a way to select an ozone implementation to use at build time.
It replaces the previous ad-hoc requirement to inject implementations of
ozone interfaces somewhere during initialization, such as by overriding
ContentMainDelegate::PreSandboxStartup(). That requirement made it
difficult for external ozone implementations to build internal targets such
as content_shell because those targets do not initialize the external ozone
implementation without additional patching. Enabling external ports of
chromium is one of the main goals of ozone.
The OzonePlatform code is located at ui/ozone and depends on code in
ui/gfx and ui/events because it must inject implementations into
those components. The ozone platform is initialized from
ui/aura or ui/gl, as those components need the interfaces provided by ozone
in order to function.
There are two in-tree platforms currently: test (image dump) and dri
(libdrm-based direct rendering). The platform is selected by the setting
ozone_platform gyp variable and defaults to "test".
Review URL: https://codereview.chromium.org/44933002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@232170 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Adds support for emulated discardable memory. The memory is managed by a
provider which listens for memory pressure notifications from the platform.
Currently, only android pushes these notifications, but in future patches, we
will apply pressure on other platforms in certain situations (e.g., when a tab
gets backgrounded).
BUG=237681
Review URL: https://codereview.chromium.org/17106004
git-svn-id: http://src.chromium.org/svn/trunk/src/build@231845 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
armhf (hardware float) is the ubuntu default these
days so should be used over armel in most cases.
Also, the chromium ARM/linux test hardware is
running armhf.
This CL does not change the default or remove armel
support. That is left for a future CL.
BUG=308256
Review URL: https://codereview.chromium.org/27197011
git-svn-id: http://src.chromium.org/svn/trunk/src/build@231487 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This broke the "iOS Device" bot.
> Remove ninja special cases for iOS build configurations.
>
> Gyp now sets -iphoneos architecture, so armv7 switching isn't required in
> common.gypi. This CL also gets rid of ONLY_ACTIVE_ARCH, which requires full
> rebuilds when switching devices between armv7, armv7s and arm64 devices.
>
> Also remove the iOS5 arclite link step, which isn't needed in iOS6+.
>
> BUG=312300
> Test=ios_rel_device builds
>
> Review URL: https://codereview.chromium.org/25535004TBR=justincohen@google.com
Review URL: https://codereview.chromium.org/49613003
git-svn-id: http://src.chromium.org/svn/trunk/src/build@231466 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Gyp now sets -iphoneos architecture, so armv7 switching isn't required in
common.gypi. This CL also gets rid of ONLY_ACTIVE_ARCH, which requires full
rebuilds when switching devices between armv7, armv7s and arm64 devices.
Also remove the iOS5 arclite link step, which isn't needed in iOS6+.
BUG=312300
Test=ios_rel_device builds
Review URL: https://codereview.chromium.org/25535004
git-svn-id: http://src.chromium.org/svn/trunk/src/build@231456 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
And introduce a gyp variable use_ozone_evdev to allow this feature to be
removed from the build. Additionally, the --ozone-events flag is introduced
to select an EventFactoryDelegateOzone implementation to use.
If an embedder or out-of-tree EventFactoryDelegateOzone implementation
calls SetEventFactoryDelegateOzone during initialization, the flag has no
effect.
BUG=none
TEST=Build & run content_shell, ui_unittests with use_ozone=1
Review URL: https://codereview.chromium.org/28513004
git-svn-id: http://src.chromium.org/svn/trunk/src/build@229950 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
The GpsLocationProvider is not actually used anywhere, and has most likely bit
rotted after years of no maintenance. It is brittle code written for a
specific version (3.1) of gpsd that is now outdated.
The only Chrome version that had this feature enabled (ChromeOS) makes no use
of it as no hardware was ever shipped that used GPS.
TBR=jam,brettw
Review URL: https://codereview.chromium.org/25752005
git-svn-id: http://src.chromium.org/svn/trunk/src/build@227104 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This extension will be used for an experimental prototype of enhanced
bookmark styling in Chrome behind the enable_enhanced_bookmarks build
flag. This change duplicates the existing bookmarks WebUI extension as
a basis for future changes.
BUG=299274
Review URL: https://codereview.chromium.org/24891002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@226314 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This CL enables brlapi support by default in builds for chromeos (it's already enabled by default in chromeos itself, so that part is a noop). This revealed a threading bug in the implementation which is also fixed my moving a file_path_watcher from the IO thread to the FILE threadd.
BUG=178559
Review URL: https://chromiumcodereview.appspot.com/24325002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@225008 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
When Xcode recognizes a device, it sets the active arch to the arch of
the device. Since the Debug configuration is set to only compile for the
active arch, Xcode was failing to build when an iPhone 5 was connected
because that device uses armv7s which is not in the list of VALID_ARCHS.
This CL uses the default value of VALID_ARCHS for Debug so that Xcode
will build no matter what device is connected.
This CL also moves the arch-twiddling into an OS=="ios" block to make it
clear that the configurations are only needed for iOS.
BUG=None
Review URL: https://chromiumcodereview.appspot.com/23535007
git-svn-id: http://src.chromium.org/svn/trunk/src/build@222625 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
breaks XP Tests:
ActivityLogPrerenderTest.TestScriptInjected
FindInPageTest.PrepopulateRespectBlank
KeyboardAccessTest.TestAltMenuKeyboardAccessFocusOmnibox
KeyboardAccessTest.TestMenuKeyboardOpenDismiss
> Switch all windows bots to use Aura.
>
> Because we've been shipping Aura to canary for a while. And because force compositor landed 40 hours ago and things seem ok. See https://codereview.chromium.org/23874016/
>
> This also allows to see perf numbers for Aura.
>
> This has happened before see for example r204698, r211007 and 214056 as an experiment but this time it might stick.
>
> BUG=259185
> TEST=none
> TBR=scottmg
>
> Review URL: https://codereview.chromium.org/23816007TBR=cpu@chromium.org
Review URL: https://codereview.chromium.org/23523035
git-svn-id: http://src.chromium.org/svn/trunk/src/build@221952 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
--
Use Finch to compare the performances of CLD1 and CLD2
Add a compile time constant CLD_VERSION, which indicates the version of CLD. If this is not define, Finch test to compare CLD1 and CLD2 is supposed to be used.
By this CL, each platform will have the below status:
Linux: Use both CLD1 and CLD2 (and use Finch).
Mac OS X: Use both CLD1 and CLD2 (and use Finch).
Windows: Use only CLD1 once because now CLD2 can't be compiled on Windows. After we can have CLD2 compiled on Windows, we will use CLD2 and Finch asap.
iOS: Still use only CLD1. (It's because it is hard to use both CLD1 and CLD2 on mobile platform because of the binary size impact.)
Android: Still use only CLD1. (The same reason as iOS)
So some platforms will have two CLD binaries, but this is temporal in the sense that we intend to use Finch only for Dev and Beta channel. Before releasing the stable Chromium version, we decide which version of CLD is adopted, make another CL to use only one CLD, and send a merge request. (Of course, we hope we will be able to adopt CLD2.)
BUG=240647
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=221380
Review URL: https://chromiumcodereview.appspot.com/22867032
git-svn-id: http://src.chromium.org/svn/trunk/src/build@221675 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Changes to enable annotating known leaks in blink so that leak sanitizer doesn't raise alarm.
Removing addition of StringImpl::createStatic from tools/lsan/suppressions.txt
This patch currently just handles Leak Sanitizer only. The changes for Heap Checker would be done in a follow up patch.
BUG=268258
TEST=Running content_unittests with Leak Sanitizer enabled.
Output of Leak Sanitizer before the fix: http://pastebin.com/niDgRNAQ
Output of Leak Sanitizer after the fix: http://pastebin.com/v6hF43Lj
Review URL: https://chromiumcodereview.appspot.com/23460014
git-svn-id: http://src.chromium.org/svn/trunk/src/build@221586 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Add a compile time constant CLD_VERSION, which indicates the version of CLD. If this is not define, Finch test to compare CLD1 and CLD2 is supposed to be used.
By this CL, each platform will have the below status:
Linux: Use both CLD1 and CLD2 (and use Finch).
Mac OS X: Use both CLD1 and CLD2 (and use Finch).
Windows: Use only CLD1 once because now CLD2 can't be compiled on Windows. After we can have CLD2 compiled on Windows, we will use CLD2 and Finch asap.
iOS: Still use only CLD1. (It's because it is hard to use both CLD1 and CLD2 on mobile platform because of the binary size impact.)
Android: Still use only CLD1. (The same reason as iOS)
So some platforms will have two CLD binaries, but this is temporal in the sense that we intend to use Finch only for Dev and Beta channel. Before releasing the stable Chromium version, we decide which version of CLD is adopted, make another CL to use only one CLD, and send a merge request. (Of course, we hope we will be able to adopt CLD2.)
BUG=240647
Review URL: https://chromiumcodereview.appspot.com/22867032
git-svn-id: http://src.chromium.org/svn/trunk/src/build@221380 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
In Xcode, each project has a warning that "Build only for active
architecture" should be enabled for Debug configuration. This change to
common.gypi sets the ONLY_ACTIVE_ARCH variable at the project level for
Debug configurations.
BUG=None
Review URL: https://chromiumcodereview.appspot.com/23684011
git-svn-id: http://src.chromium.org/svn/trunk/src/build@220960 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Re-enable linker warnings being treated as errors when using the system
version of skia, since there are no more warnings in this configuration.
Also, fix the global disabling of linker warnings (introduced to fix mac
builds) to only apply to host targets.
BUG=157326
Review URL: https://chromiumcodereview.appspot.com/23506016
git-svn-id: http://src.chromium.org/svn/trunk/src/build@220873 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
grit now supports passing '-t ios', which sets is_ios, and doesn't set
is_macosx (matching the semantics of gyp). All instances of
pp_ifdef('ios') change to is_ios, matching the syntax used by other
platforms.
Because this flips the setting of is_macosx for iOS, most places where
code looked at is_macosx also now look for is_ios. This CL errs on the
side of being behavior-preserving, adding is_ios checks in some places
where they probably aren't needed, to avoid accidental regressions.
In places where it's very obvious it's not needed, it hasn't been
added.
Also adds a missing is_ios to history.html, resolving drift from
not-yet-upstreamed changes.
BUG=227781
Review URL: https://chromiumcodereview.appspot.com/22600003
git-svn-id: http://src.chromium.org/svn/trunk/src/build@218386 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This code was previously #ifdef'd out based on CHROME_MULTIPLE_DLL. This works
for chrome, but not for test targets which link content_browser. content_browser
needs to not link against child-only targets (as they'll cause linking blink
into the browser dll).
Instead of having utility_process_host_impl, et al. own the in-process
implementation, use a factory to create them that's installed in test code, and
in chrome for supporting --single-process.
At the same time, remove the global CHROME_MULTIPLE_DLL define and localize it
to chrome_exe.gypi because it's too easy to use incorrectly.
TBR=darin
R=piman@chromium.org,jam@chromium.org
BUG=237249
Review URL: https://chromiumcodereview.appspot.com/23235002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@217968 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This change switches how we compile v8 by default in Debug builds
so that the compiler optimizations are enabled and much of the
still enabled to do some level of dcheck-like assertion checking).
This gives us a 5x speedup over the debug v8 for running the layout
tests, making debug times only 2x slower than release.
R=jamesr@chromium.org, jochen@chromium.org
BUG=254188
Review URL: https://codereview.chromium.org/21004010
git-svn-id: http://src.chromium.org/svn/trunk/src/build@216287 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Make sure the MediaStreamDevice has the correct loopback device ID for system
audio capture in MediaCaptureDevicesDispatcher::ProcessScreenCaptureAccessRequest.
Remove the hack in audio_input_renderer_host to override the loopback device ID.
BUG=269626
TBR=dalecurtis@chromium.org, xians@chromium.org
TEST=passes trybots, local testing on Chrome OS confirms device ID is passed to WebRtcLocalAudioTrack ctor.
Review URL: https://codereview.chromium.org/22408006
git-svn-id: http://src.chromium.org/svn/trunk/src/build@216271 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This CL introduces an automated and centralized way to embed
compatibility manifest into all *.exe files. With this CL,
a potential risk of behavioural inconsistency between
production binaries and unit test binaries is resolved by
enforcing the same compatibility context.
This CL uses 'target_conditions' feature of gyp to inject
manifest settings into each executable target. One tricky
part is that some executables such as setup.exe and
mini_installer.exe require external manifest file instead of
embedded one when component build is enabled.
See http://crbug.com/127233 for this.
You can override the gyp variable
'win_exe_compatibility_manifest' locally for a given
executable target to embed a custom compatibility manifest.
BUG=260692
Review URL: https://chromiumcodereview.appspot.com/19275010
git-svn-id: http://src.chromium.org/svn/trunk/src/build@214427 4ff67af0-8c30-449e-8e8b-ad334ec8d88c