Instead, apply them as direct_dependent_settings to dependents of the
instrumented_libraries target. This is functionally equivalent, but reduces code
duplication, improves locality and also allows us to disable the use of
instrumented libraries on a target-by-target basis.
BUG=313751
TBR=glider@chromium.org
TEST=MSan
NOTRY=true
Review URL: https://codereview.chromium.org/240413004
git-svn-id: http://src.chromium.org/svn/trunk/src/build@264281 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
linux_use_bundled_binutils adds the binutils to cflags.
linux_use_bundled_gold adds it to the ldflags. The former
does not work when cross compiling to ARM as the other
binutils do not currently support ARM. This was causing the
ARM cross compile (for which we do want use the bundled
gold) to break.
I think the word "bundled" works better than "binary" since
it distinguishes from the system gold (which is also a binary).
BUG=363661
TEST=linux_arm_cross_compile trybot
Review URL: https://codereview.chromium.org/239163003
git-svn-id: http://src.chromium.org/svn/trunk/src/build@264165 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This is a copy of https://codereview.chromium.org/201153007 and https://codereview.chromium.org/213113002
updated to the current trunk with more descriptive comments in sanitizer_options.cc and the additional
legacy_pthread_cond=1 option for the Linux Official builds (legacy_pthread_cond is to be deprecated,
thus we don't enable it on the bots).
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.
The default options target is deliberately disabled on 32-bit Chromium OS builds,
where one of the host binaries (mksnapshot.ia32) is 32-bit despite host_arch==x86_64.
GYP changes for OSX and iOS will be committed separately.
TBR=thakis@chromium.org,mseaborn@chromium.org
BUG=302040
Review URL: https://codereview.chromium.org/238123003
git-svn-id: http://src.chromium.org/svn/trunk/src/build@263941 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This is a copy of https://codereview.chromium.org/201153007 and https://codereview.chromium.org/213113002
updated to the current trunk with more descriptive comments in sanitizer_options.cc and the additional
legacy_pthread_cond=1 option for the Linux builds.
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.
The default options target is deliberately disabled on 32-bit Chromium OS builds, where one of the host binaries (mksnapshot.ia32) is 32-bit despite host_arch==x86_64.
GYP changes for OSX and iOS will be committed separately.
BUG=302040,341805
TBR=thakis@chromium.org,mseaborn@chromium.org
Review URL: https://codereview.chromium.org/230263003
git-svn-id: http://src.chromium.org/svn/trunk/src/build@263625 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
As third_party/binutils is 2.24, this also satisfies the binutils version requirements for Debug Fission. Thus, when building with clang on Ubuntu Precise it should now be enabled. This should cause a significant speedup in linking for most chrome developers on Linux.
Requires;
* https://codereview.chromium.org/209853003/ - Adding binutils as a DEPS to allow DebugFission on Ubuntu Precise when compiling with clang.
BUG=352046
Review URL: https://codereview.chromium.org/196573022
git-svn-id: http://src.chromium.org/svn/trunk/src/build@262794 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Suspected of causing:
http://build.chromium.org/p/chromium.linux/builders/Linux%20Builder%20(dbg)/builds/71338/steps/compile/logs/stdio
[13474/21627] CXX obj/cc/animation/cc_unittests.scrollbar_animation_controller_linear_fade_unittest.o
FAILED: cd ../../remoting; python ../tools/gypv8sh.py ../out/Debug/d8 ../chrome/third_party/mock4js/mock4js.js ../third_party/accessibility-audit/axs_testing.js ../chrome/test/data/webui/test_api.js ../chrome/test/base/js2gtest.js unit "webapp/all_js_load.gtestjs" "chrome/webapp/all_js_load.gtestjs" "../out/Debug/obj/remoting/remoting_unittests.gen/chrome/webapp/all_js_load-gen.cc" "../out/Debug/test_data/chrome/webapp/all_js_load.gtestjs"
../out/Debug/d8: error while loading shared libraries: libicui18n.so: cannot open shared object file: No such file or directory
Traceback (most recent call last):
File "../tools/gypv8sh.py", line 55, in <module>
sys.exit(main())
File "../tools/gypv8sh.py", line 44, in main
subprocess.check_call(cmd, stdin=subprocess.PIPE, stdout=f)
File "/usr/lib/python2.7/subprocess.py", line 511, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['../out/Debug/d8', '-e', 'arguments=["../chrome/test/base/js2gtest.js", "webapp/all_js_load.gtestjs", "chrome/webapp/all_js_load.gtestjs", "../out/Debug/obj/remoting/remoting_unittests.gen/chrome/webapp/all_js_load-gen.cc", "unit"]', '../chrome/third_party/mock4js/mock4js.js', '../third_party/accessibility-audit/axs_testing.js', '../chrome/test/data/webui/test_api.js', '../chrome/test/base/js2gtest.js']' returned non-zero exit status 127
FAILED: cd ../../remoting; python ../tools/gypv8sh.py ../out/Debug/d8 ../chrome/third_party/mock4js/mock4js.js ../third_party/accessibility-audit/axs_testing.js ../chrome/test/data/webui/test_api.js ../chrome/test/base/js2gtest.js unit "webapp/browser_globals.gtestjs" "chrome/webapp/browser_globals.gtestjs" "../out/Debug/obj/remoting/remoting_unittests.gen/chrome/webapp/browser_globals-gen.cc" "../out/Debug/test_data/chrome/webapp/browser_globals.gtestjs"
../out/Debug/d8: error while loading shared libraries: libicui18n.so: cannot open shared object file: No such file or directory
Traceback (most recent call last):
File "../tools/gypv8sh.py", line 55, in <module>
sys.exit(main())
File "../tools/gypv8sh.py", line 44, in main
subprocess.check_call(cmd, stdin=subprocess.PIPE, stdout=f)
File "/usr/lib/python2.7/subprocess.py", line 511, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['../out/Debug/d8', '-e', 'arguments=["../chrome/test/base/js2gtest.js", "webapp/browser_globals.gtestjs", "chrome/webapp/browser_globals.gtestjs", "../out/Debug/obj/remoting/remoting_unittests.gen/chrome/webapp/browser_globals-gen.cc", "unit"]', '../chrome/third_party/mock4js/mock4js.js', '../third_party/accessibility-audit/axs_testing.js', '../chrome/test/data/webui/test_api.js', '../chrome/test/base/js2gtest.js']' returned non-zero exit status 127
FAILED: cd ../../remoting; python ../tools/gypv8sh.py ../out/Debug/d8 ../chrome/third_party/mock4js/mock4js.js ../third_party/accessibility-audit/axs_testing.js ../chrome/test/data/webui/test_api.js ../chrome/test/base/js2gtest.js unit "webapp/format_iq.gtestjs" "chrome/webapp/format_iq.gtestjs" "../out/Debug/obj/remoting/remoting_unittests.gen/chrome/webapp/format_iq-gen.cc" "../out/Debug/test_data/chrome/webapp/format_iq.gtestjs"
../out/Debug/d8: error while loading shared libraries: libicui18n.so: cannot open shared object file: No such file or directory
Traceback (most recent call last):
File "../tools/gypv8sh.py", line 55, in <module>
sys.exit(main())
File "../tools/gypv8sh.py", line 44, in main
subprocess.check_call(cmd, stdin=subprocess.PIPE, stdout=f)
File "/usr/lib/python2.7/subprocess.py", line 511, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['../out/Debug/d8', '-e', 'arguments=["../chrome/test/base/js2gtest.js", "webapp/format_iq.gtestjs", "chrome/webapp/format_iq.gtestjs", "../out/Debug/obj/remoting/remoting_unittests.gen/chrome/webapp/format_iq-gen.cc", "unit"]', '../chrome/third_party/mock4js/mock4js.js', '../third_party/accessibility-audit/axs_testing.js', '../chrome/test/data/webui/test_api.js', '../chrome/test/base/js2gtest.js']' returned non-zero exit status 127
ninja: build stopped: subcommand failed.
> When "linux_use_gold_binary" is set, we now use gold from third_party/binutils rather than third_party/gold (allowing us to remove third_party/gold dependency).
>
> As third_party/binutils is 2.24, this also satisfies the binutils version requirements for Debug Fission. Thus, when building with clang on Ubuntu Precise it should now be enabled. This should cause a significant speedup in linking for most chrome developers on Linux.
>
> Requires;
> * https://codereview.chromium.org/209853003/ - Adding binutils as a DEPS to allow DebugFission on Ubuntu Precise when compiling with clang.
>
> BUG=352046
>
> Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=261778
>
> Review URL: https://codereview.chromium.org/196573022TBR=mithro@mithis.com
Review URL: https://codereview.chromium.org/225093013
git-svn-id: http://src.chromium.org/svn/trunk/src/build@262036 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
We don't have 32bit clang binaries, but several 32bit builders.
(And since clang now needs a c++11 compiler newer than gcc4.6 to
compile, we can't tell these bots to just build clang themselves
either.)
BUG=360311
Review URL: https://codereview.chromium.org/227133002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@262030 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Broke ASAN builders: e.g. http://build.chromium.org/p/chromium.memory/builders/Linux%20ASan%2BLSan%20Builder/builds/2502/steps/runhooks/logs/stdio
________ running '/usr/bin/python src/build/gyp_chromium' in '/b/build/slave/Linux_ASan_LSan_Builder/build'
Error: Command /usr/bin/python src/build/gyp_chromium returned non-zero exit status 1 in /b/build/slave/Linux_ASan_LSan_Builder/build
Updating projects from gyp files...
/bin/sh: 1: clang++: not found
compiler_version.py failed to execute: clang++ -Xassembler --version -x assembler -c /dev/null
Command 'clang++ -Xassembler --version -x assembler -c /dev/null' returned non-zero exit status 127
gyp: Call to 'python ../build/compiler_version.py assembler' returned exit status 1.
program finished with exit code 2
elapsedTime=6.794917
> When "linux_use_gold_binary" is set, we now use gold from third_party/binutils rather than third_party/gold (allowing us to remove third_party/gold dependency).
>
> As third_party/binutils is 2.24, this also satisfies the binutils version requirements for Debug Fission. Thus, when building with clang on Ubuntu Precise it should now be enabled. This should cause a significant speedup in linking for most chrome developers on Linux.
>
> Requires;
> * https://codereview.chromium.org/209853003/ - Adding binutils as a DEPS to allow DebugFission on Ubuntu Precise when compiling with clang.
>
> BUG=352046
>
> Review URL: https://codereview.chromium.org/196573022TBR=mithro@mithis.com
Review URL: https://codereview.chromium.org/224933007
git-svn-id: http://src.chromium.org/svn/trunk/src/build@261782 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
As third_party/binutils is 2.24, this also satisfies the binutils version requirements for Debug Fission. Thus, when building with clang on Ubuntu Precise it should now be enabled. This should cause a significant speedup in linking for most chrome developers on Linux.
Requires;
* https://codereview.chromium.org/209853003/ - Adding binutils as a DEPS to allow DebugFission on Ubuntu Precise when compiling with clang.
BUG=352046
Review URL: https://codereview.chromium.org/196573022
git-svn-id: http://src.chromium.org/svn/trunk/src/build@261778 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
-Adds new repack_options variables
-Updates pragma to output numeric_id instead of resource_id
-Updates find_used_resources.py to filter for numeric_id
To use the existing system you need to do following steps:
1. Remove out directory (we need to do a clean build)
2. Append " enable_resource_whitelist_generation=1" to GYP_DEFINES
3. Run gyp
4. Build your target (e.g. chrome_shell_apk) saving output to a file
(e.g. build.txt)
5. cat build.txt | tools/resources/find_used_resources.py > whitelist.txt
6. Append " repack_options='--whitelist /path/to/whitelist.txt'"
7. Run gyp
8. Build your target again.
9. ???
10. Profit!!!
BUG=338759
Review URL: https://codereview.chromium.org/216233012
git-svn-id: http://src.chromium.org/svn/trunk/src/build@261611 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
The protobuf code is not 64-bit clean and Xcode automatically enable the
-Wshorten-64-to-32 warning when compiling for arm64 so explicitly disable
it to allow compilation to succeed, as the warning is quite pedantic here
(likelihood of a buffer larger than INT_MAX characters is quite low).
BUG=359107
Review URL: https://codereview.chromium.org/221823004
git-svn-id: http://src.chromium.org/svn/trunk/src/build@261258 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
about:flags now has a disable WebAudio flag on Android for x86, just like for
arm, as expected. I manually tested that the flag does disable WebAudio.
I verified that on desktop (linux), there is no disable (or enable)
flag, as expected. (Desktop always has WebAudio enabled, and there is
no flag to disable it.)
BUG=353809
Review URL: https://codereview.chromium.org/208763003
git-svn-id: http://src.chromium.org/svn/trunk/src/build@260429 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
See discussion at chromium issue 338885.
When USE_OPENSSL_CERTS is defined, X509::OSCertHandle is now
typedef'ed to struct X509*.
When USE_OPENSSL is defined, USE_OPENSSL_CERTS will now be
defined for linux and Android, while being off for Mac and
Windows. This allows OpenSSL to be used while leaving
certificate handling to the OS.
OpenSSL cert verifying code will only be used on Linux.
This patch does not change any default behavior.
Bug=none
Test=none
Review URL: https://codereview.chromium.org/206453002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@260152 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
> Set the default ASan options for executables built with ASan on Linux.
>
> This is a copy of https://codereview.chromium.org/25687005/ updated for the current trunk
> with the link_dependency attribute speculatively added to base/base.gyp:sanitizer_options
> to avoid potential dependency cycles.
>
> 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
> TBR=thakis@chromium.org
>
> Review URL: https://codereview.chromium.org/201153007TBR=glider@chromium.org
BUG=357093
Review URL: https://codereview.chromium.org/215363006
git-svn-id: http://src.chromium.org/svn/trunk/src/build@260037 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Note that this change DOES NOT "opt-in" any platform at this time, it merely
makes it possible to read the CLD data in from a file if cld_version=2 and
cld_dynamic=1. Subsequent changes will be required for platforms to "opt-in"
to using this approach; e.g., each platform will have to generate their data
file and package it appropriately before turning this feature on in compile
flags.
IMPORTANT: Can't be enabled on on Android until the SIGBUS in CLD is fixed:
https://code.google.com/p/cld2/issues/detail?id=11
BUG=326023
Review URL: https://codereview.chromium.org/187393005
git-svn-id: http://src.chromium.org/svn/trunk/src/build@259900 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This is a copy of https://codereview.chromium.org/25687005/ updated for the current trunk
with the link_dependency attribute speculatively added to base/base.gyp:sanitizer_options
to avoid potential dependency cycles.
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
TBR=thakis@chromium.org
Review URL: https://codereview.chromium.org/201153007
git-svn-id: http://src.chromium.org/svn/trunk/src/build@259561 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
It's part of the pango library we use already, so by using it, we avoid
a link time collission.
However, if you build just the browser on linux on ubuntu 12, we don't
have such an up to date pango available, so we need to be a bit smart
about whether or not to use the system harfbuzz.
This also allows for treating linker warnings as errors on chromeos
BUG=353127
R=jshin@chromium.org,thakis@chromium.org
Review URL: https://codereview.chromium.org/203163003
git-svn-id: http://src.chromium.org/svn/trunk/src/build@259423 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
On some Android devices (e.g., Sony Xperia), package manager may
fail to extract native libraries when updating Chrome.
The change tries alleviate the situation by:
1) name libchrome with version number;
2) when failed to load library, try to extract native libraies
and load them.
BUG=311644
Review URL: https://codereview.chromium.org/200753002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@258546 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Changes:
1. Consolidate the logic of "ENABLE_MDNS or OS_MACOSX" into a single C++/grit/ninja define called "enable_service_discovery"
2. Move a bunch of files from being conditioned on enable_mdns to being conditioned on enable_service_discovery.
3. Create a separate, simplified PrivetHTTPAsynchronousFactory that synchronously returns a PrivetHTTPClient for the mDNS host and port
without resolving, since on OSX mDNS resolution is baked into the operating system.
BUG=352811
Review URL: https://codereview.chromium.org/195983023
git-svn-id: http://src.chromium.org/svn/trunk/src/build@258480 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
The Android WebView uses the system ICU on target anyway, so this only
affects the host build of ICU used to build the host V8. This means the
flag is now enabled on all platforms by default and no longer needs to
be conditional.
BUG=
Review URL: https://codereview.chromium.org/204783003
git-svn-id: http://src.chromium.org/svn/trunk/src/build@258278 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Reason for revert:
Might be the cause for memory exhaustion during compilation on the Linux dbg build bot:
http://build.chromium.org/p/chromium.linux/buildstatus?builder=Linux%20Builder%20%28dbg%29%2832%29&number=21991
Original issue's description:
> Adding -g3 to get macro expansion support. (Default is -g2.)
> Adding -gdwarf-4 for macro expansion support.
>
> * gcc 4.6 outputs DWARF-2 by default
> * gcc 4.7 outputs DWARF-4 by default
> * clang <3.4 outputs DWARF-3 by default
> * clang >3.4 outputs DWARF-4 by default
>
> From http://gcc.gnu.org/onlinedocs/gcc/Debugging-Options.html
> > -g3
> > Level 3 includes extra information, such as all the macro
> > definitions present in the program. Some debuggers support macro
> > expansion when you use -g3.
> >
> > -gdwarf-4
> > Produce debugging information in DWARF format (if that is
> > supported). The value of version may be either 2, 3 or 4; the
> > default version for most targets is 4. Note that with DWARF
> > Version 2, some ports require and always use some non-conflicting
> > DWARF 3 extensions in the unwind tables.
> >
> > Version 4 may require GDB 7.0 and -fvar-tracking-assignments for
> > maximum benefit.
>
> Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=257944TBR=stuartmorgan@chromium.org,erg@chromium.org,mark@chromium.org,mmoss@chromium.org,thestig@chromium.org,mmoss@google.com,mithro@mithis.com
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/203683007
git-svn-id: http://src.chromium.org/svn/trunk/src/build@257959 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Adding -gdwarf-4 for macro expansion support.
* gcc 4.6 outputs DWARF-2 by default
* gcc 4.7 outputs DWARF-4 by default
* clang <3.4 outputs DWARF-3 by default
* clang >3.4 outputs DWARF-4 by default
From http://gcc.gnu.org/onlinedocs/gcc/Debugging-Options.html
> -g3
> Level 3 includes extra information, such as all the macro
> definitions present in the program. Some debuggers support macro
> expansion when you use -g3.
>
> -gdwarf-4
> Produce debugging information in DWARF format (if that is
> supported). The value of version may be either 2, 3 or 4; the
> default version for most targets is 4. Note that with DWARF
> Version 2, some ports require and always use some non-conflicting
> DWARF 3 extensions in the unwind tables.
>
> Version 4 may require GDB 7.0 and -fvar-tracking-assignments for
> maximum benefit.
Review URL: https://codereview.chromium.org/198363002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@257944 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
A bunch of mac builder bots are still on 10.6 (http://crbug.com/353529)
> roll clang 198389:202554
>
> This change contains several big changes, many of the caused by upstream
> llvm enabling c++11 in their codebase and thus having higher minimum
> requirements for their toolchain and runtime environment:
>
> * clang on OS X now requires libc++, which means it'll only run on OS X 10.7+,
> so change the deployment target from 10.5 to 10.7 (we were planning on
> requiring 10.8 or 10.9, see bug 335325, but since several people are waiting
> on a new clang, let's go to 10.7 only for now and do more as a follow-up)
> * On OS X, the compiler is only usable with libc++ if libc++ is checked out
> and `make install` is run, so do that for the phase 1 compiler.
> (Chrome doesn't use libc++ yet, so we don't do that for the bootstrapped
> compiler.)
> * clang on linux now needs libstdc++ 4.7+ which isn't present on precise.
> So we now include a newer libstdc++ in the compiler bundle (meaning
> this clang should still run on precise).
> * clang is broken for android at r202554. To unblock oilpan, merge three
> later changes into this roll, llvm r202793, r203601, and r203635
>
> Regular, less tricky clang roll stuff:
> * Disable the new warning -Wabsolute-value for now (crbug.com/351479
> for turning it on)
> * Disable -Wno-tautological-pointer-compare for libxml where it now
> fires.
> * Since this bundles a new version of the oilpan plugin, bump its suffix to _3
> * Change plugin code to track upstream api change
> * Remove plugin flag check-url-directory as that's now always on
>
> Due to the c++11 stuff, it's likely that this change will get reverted a few times.
>
> BUG=351479, 287029,341352,333968,335325
> TBR=hans@chromium.org
>
> Review URL: https://codereview.chromium.org/195623002TBR=thakis@chromium.org
Review URL: https://codereview.chromium.org/203313004
git-svn-id: http://src.chromium.org/svn/trunk/src/build@257620 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This change contains several big changes, many of the caused by upstream
llvm enabling c++11 in their codebase and thus having higher minimum
requirements for their toolchain and runtime environment:
* clang on OS X now requires libc++, which means it'll only run on OS X 10.7+,
so change the deployment target from 10.5 to 10.7 (we were planning on
requiring 10.8 or 10.9, see bug 335325, but since several people are waiting
on a new clang, let's go to 10.7 only for now and do more as a follow-up)
* On OS X, the compiler is only usable with libc++ if libc++ is checked out
and `make install` is run, so do that for the phase 1 compiler.
(Chrome doesn't use libc++ yet, so we don't do that for the bootstrapped
compiler.)
* clang on linux now needs libstdc++ 4.7+ which isn't present on precise.
So we now include a newer libstdc++ in the compiler bundle (meaning
this clang should still run on precise).
* clang is broken for android at r202554. To unblock oilpan, merge three
later changes into this roll, llvm r202793, r203601, and r203635
Regular, less tricky clang roll stuff:
* Disable the new warning -Wabsolute-value for now (crbug.com/351479
for turning it on)
* Disable -Wno-tautological-pointer-compare for libxml where it now
fires.
* Since this bundles a new version of the oilpan plugin, bump its suffix to _3
* Change plugin code to track upstream api change
* Remove plugin flag check-url-directory as that's now always on
Due to the c++11 stuff, it's likely that this change will get reverted a few times.
BUG=351479, 287029,341352,333968,335325
TBR=hans@chromium.org
Review URL: https://codereview.chromium.org/195623002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@257618 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
builds,
* Slow link times.
* Slow gdb startup times.
Lots more detailed information at http://gcc.gnu.org/wiki/DebugFission
Overall, this improves linking speed of debug Chrome builds on Linux
by ~12% and speeds up gdb by around 30%.
This requires a objcopy with --extract-dwo object (binutils newer then
2.22.52.0.4 // 2.23). Ubuntu Precise only comes with 2.23
BUG=
Review URL: https://codereview.chromium.org/197013010
git-svn-id: http://src.chromium.org/svn/trunk/src/build@257424 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This allows to do a PGO optimized build of Chrome with the following commands:
python build\gyp_chromium -Dchrome_pgo_phase=1
ninja -C out\Release chrome
run with '--no-sandbox' + pgosweep
python build\gyp_chromium -Dchrome_pgo_phase=2
ninja -C out\Release chrome
----- Approach that didn't worked -----
(see comment #13 to know why this didn't work)
Instead of having the following gyp dependency chain (for a regular build), here '->' means 'depends on':
'chrome'->|'chrome_main_dll'
----------|'chrome_child_dll'
we know have the following one (when chrome_pgo==1):
'chrome'->|'chrome_main_dll' |->'chrome_pgo_optimize'->|'chrome_main_dll_pgi'
----------|'chrome_child_dll'|-------------------------|'chrome_child_dll_pgi'
The '*_pgi' target correspond to the instrumented dll, the name of the DLLs produced by target will be terminated by '_pgi'.
During the 'chrome_pgo_optimize' step the instrumented DLLs will be renamed (the '_pgi' suffix will be removed) and Chrome will be run against a set of profile test cases, pgosweep.exe will also be invoked to collect the instrumentation data.
Then the main targets ('chrome_main_dll' and 'chrome_child_dll') will be linked with the flag /LTCG:PGOPTIMIZE, this will produce the optimized DLLs.
--------------------------------------------
R=scottmg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/187813008
git-svn-id: http://src.chromium.org/svn/trunk/src/build@257133 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Xcode 5.1 ships with a clang that deprecates the register keyword by default.
This warning flag is needed in order to compile for iOS with Xcode 5.1.
However, the old version of Xcode (5.0) does not understand this flag. In order
to temporarily support compiling on both versions of Xcode, this CL also adds
-Wno-unknown-warning-option to suppress errors about unknown compiler flags.
This flag will be removed as soon as all of the bots have been updated with
Xcode 5.1, within a week.
BUG=255186,337611
TEST=None
Review URL: https://codereview.chromium.org/194803006
git-svn-id: http://src.chromium.org/svn/trunk/src/build@256592 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Previously, only 32-bit Google Chrome Linux was being built with x87 floating point math, which led to bugs caused by 80-to-{32,64}-bit rounding errors that weren't caught on the main Chromium builders. UMA data tells us there are ~0 Google Chrome Linux users without SSE2, making a strong case to require SSE2 across the board and align the Google Chrome build closer to the Chromium build.
As for disable_sse2 option, it was added in r45777 but it's unclear if anyone is using it outside of some other GYP code that flips it to 1 for ARM and MIPS architectures. Instead replace the few instances that don't support SSE2 with specific checks for the target architecture and remove the option entirely.
BUG=348761
R=jamesr@chromium.org
TBR=cpu
Review URL: https://codereview.chromium.org/187423002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@256366 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
- Remove DCHECK in non-official-release build by default
- Gyp variable dcheck_always_on=1 (existing) forces to enable DCHECK
in release build
- Remove flag --enable-dcheck
Other effects/notes:
- Now allow "buildtype=Official dcheck_always_on=1" (which will
enable DCHECK in official build) combination.
- Gyp variable logging_like_official_build no longer has an effect
- Leave DCHECK_IS_ON() unchanged. May deal with it in a later change
if needed.
This won't affect bots which use dcheck_always_on=1.
BUG=350462
TEST=LoggingTest.Dcheck
R=thakis@chromium.org
TBR=darin,sehr (command line changes in components/nacl and mojo)
Review URL: https://codereview.chromium.org/189603007
git-svn-id: http://src.chromium.org/svn/trunk/src/build@255987 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
0. Roll icu to r249466 to copy Android-specific icudtl.dat
1. Turn it in build/common.gypi by default except for android webview build. Move it inside L2 var dict and pull it up to the top level var dict to make 'Google Chrome' build on Android happy.
2. Add an entry for icudtl.dat to chrome/chrome_android_paks.gypi so that
it's copied to assets directory for Chrome and related targets.
3. Extract icudtl.dat from the asset and copy to DIR_ANDROID_APP_DATA and make it world-readable so that child processes (sandboxed with uid) can read it.
4. Add icudtl.dat to MANDATORY_PAKS list in various Android build targets
Google Chrome has #4 but in a separate CL ( https://chrome-internal-review.googlesource.com/#/c/155554/ ). That CL will land before this CL.
This also depends on a Blink change https://codereview.chromium.org/183013006/TBR=avi@chromium.org
BUG=72633
TEST=base_unittests:*Convers*, net_unittests:*IDN*, browser tests on all platforms.
TEST=On Android, 1. Layout tests
2. build/android/test_runner.py gtest -s webkit_unit_tests
--gtest_filter=WebFrameTest.SelectRange*
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=253938
Review URL: https://codereview.chromium.org/156333002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@255762 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This will be used in Blink to protect the old implementation of hiDPI
filter scaling. Once CC has been taught how to apply hiDPI to filters,
the Blink implementation will be switched off at the same time by
removing this #define.
BUG=281516
Review URL: https://codereview.chromium.org/182863007
git-svn-id: http://src.chromium.org/svn/trunk/src/build@255580 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
May have caused crashes on Android layout test bots.
> Enable icu_use_data_file_flag on Android
>
> 0. Roll icu to r249466 to copy Android-specific icudtl.dat
> 1. Turn it in build/common.gypi by default except for android webview build. Move it inside L2 var dict and pull it up to the top level var dict to make 'Google Chrome' build on Android happy.
> 2. Add an entry for icudtl.dat to chrome/chrome_android_paks.gypi so that
> it's copied to assets directory for Chrome and related targets.
> 3. Extract icudtl.dat from the asset and copy to DIR_ANDROID_APP_DATA and make it world-readable so that child processes (sandboxed with uid) can read it.
> 4. Add icudtl.dat to MANDATORY_PAKS list in various Android build targets
>
> Google Chrome has #4 but in a separate CL ( https://chrome-internal-review.googlesource.com/#/c/155554/ ). That CL will land before this CL.
>
> TBR=avi@chromium.org
> BUG=72633
> TEST=base_unittests:*Convers*, net_unittests:*IDN*, browser tests on all platforms.
>
> Review URL: https://codereview.chromium.org/156333002TBR=jshin@chromium.org
Review URL: https://codereview.chromium.org/183863005
git-svn-id: http://src.chromium.org/svn/trunk/src/build@254020 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
0. Roll icu to r249466 to copy Android-specific icudtl.dat
1. Turn it in build/common.gypi by default except for android webview build. Move it inside L2 var dict and pull it up to the top level var dict to make 'Google Chrome' build on Android happy.
2. Add an entry for icudtl.dat to chrome/chrome_android_paks.gypi so that
it's copied to assets directory for Chrome and related targets.
3. Extract icudtl.dat from the asset and copy to DIR_ANDROID_APP_DATA and make it world-readable so that child processes (sandboxed with uid) can read it.
4. Add icudtl.dat to MANDATORY_PAKS list in various Android build targets
Google Chrome has #4 but in a separate CL ( https://chrome-internal-review.googlesource.com/#/c/155554/ ). That CL will land before this CL.
TBR=avi@chromium.org
BUG=72633
TEST=base_unittests:*Convers*, net_unittests:*IDN*, browser tests on all platforms.
Review URL: https://codereview.chromium.org/156333002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@253938 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This is finally possible following the conjunction of scottmg's work on embedding manifests as resources post-link and mine/caitkp's work on the version assembly manifest and its compatibility with the component build installer :)!
BUG=276953, 346843, 127233
TEST=
A) Installer still works in component builds
B) Self-destruct now works in component builds
C) Incremental linking still works for chrome_dll/unit_tests/browser_tests.
R=robertshield@chromium.org, scottmg@chromium.org
Review URL: https://codereview.chromium.org/179903004
git-svn-id: http://src.chromium.org/svn/trunk/src/build@253534 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
When running Instruments, it is better to use a Release build, but
with a dSYM file. So introduce a new configuration 'Profile' based
on 'Release' that also generates a dSYM file.
This uses a separate configuration because Instruments needs a
real dSYM file, and generating it with dsymutil is slow. Moreover,
it is not possible to build a dSYM file from the Release build, and
profiling a Debug build is not really representative of real usage.
BUG=None
Review URL: https://codereview.chromium.org/179933002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@253444 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
- Add ExternalVideoSurfaceContainer which handles the external surface for the hole punching in WebView.
- Refactor the callbacks of ContentViewClient on the hole-punching to make them have the single purpose per each function.
BUG=329447
Review URL: https://codereview.chromium.org/132233042
git-svn-id: http://src.chromium.org/svn/trunk/src/build@252571 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Most people don't use this parameter and get arm binaries. This is
still the default, so this change shouldn't affect most people.
Folks should instead pass -Dtarget_arch to gyp. (Or, soon, envsetup will stop
clobbering GYP_DEFINES, then you can just add target_arch to your GYP_DEFINES.)
Note that in gyp land, 'mips' is called 'mipsel' and 'x86' is called 'ia32'.
'arm' stays 'arm'.
So for example, instead of running
. build/android/envsetup.sh --target-arch=mips
android_gyp
you'd run
. build/android/envsetup.sh
android_gyp -Dtarget_arch=mipsel
I updated the bots I was able to find to pass the -D flag in addition to
--target-arch. After this CL here is in, I'll update the bots to stop passing
--target-arch, and then I'll make --target-arch a hard error in this script for
a while, to make sure nobody still uses it.
BUG=330631,34476
R=torne@chromium.org
TBR=yfriedman
Review URL: https://codereview.chromium.org/171903002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@252034 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
If ANDROID_SDK_ROOT is set, it's still added to the path for now, but it's
no longer passed to gyp. If you want to set a custom sdk root, call gyp like
"build/gyp_chromium -Dandroid_sdk_root=path".
If ANDROID_SDK_ROOT is not set, it's still getting exported with a default
value that's identical to the default value of gyp's android_sdk_root variable.
ANDROID_SDK_TOOLS and ANDROID_SDK_BUILD_TOOLS_VERSION are now
completely ignored. Set the android_sdk_tools or android_sdk_build_tools_version
gyp defines instead if you need to change either. If they are not set,
envsetup no longer sets them.
(Dependent on an internal that changes a bot to set these gyp defines in
addition to the env vars.)
BUG=330631
NOTRY=true
Review URL: https://codereview.chromium.org/164193010
git-svn-id: http://src.chromium.org/svn/trunk/src/build@251904 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Right now when supplying a 32-bit sysroot via the 'sysroot' GYP flag on a 64-bit host arch,
pkg-config (and pkg-config-wrapper) fail to generate the correct 32-bit paths within that sysroot.
The solution is to chroot into that directory and run pkg-config from there.
This is intended to work with schroot scripts like 'precise32' generated when running build/install-chroot.sh
BUG=324207
R=piman@chromium.org
Review URL: https://codereview.chromium.org/163583003
git-svn-id: http://src.chromium.org/svn/trunk/src/build@251353 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Clients should set the host_os gyp variable instead. (As far as I can tell,
this flag was added for the webview build, and this CL updates gyp_webview
to use the gyp define instead. I haven't found other clients.)
Since several gyp targets check the value of host_os in a
target_conditions block and most of the build/common.gypi variables
aren't available during target_conditions processing time, use the same
trick that chromium_code uses to make host_os available at target_conditions
time.
BUG=330631
NOTRY=true
Review URL: https://codereview.chromium.org/153623011
git-svn-id: http://src.chromium.org/svn/trunk/src/build@251138 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Since iOS 7, the iPhone 5s, the iPad Air and the iPad Mini Retina
supports 64-bits binaries. This requires building a fat binary with
support for both armv7 and arm64 (and optionally armv7s).
In an effort to prepare building such a fat binary for Chrome on
iOS, introduce a "target_subarch" variable that control the variant
we want to build (32-bit only, 64-bit only -- mainly for debugging,
fat binary).
This require introducing way to use the clang compiler shipped with
Xcode, as the clang compiler shipped with Chromium code does not
support "arm64" architecture yet (Apple has not yet opensource the
implementation).
BUG=341453, 314720
R=mark@chromium.org
Review URL: https://codereview.chromium.org/156473005
git-svn-id: http://src.chromium.org/svn/trunk/src/build@251083 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
1. Enabling icu_use_data_file_flag led to a crash because GetStringUTF8 (that relies on ICU to determine whether the current UI language is RTL) is called before InitializeICU is called. Instead of using GetStringUTF8, get the string directly from the resource bundle because there's no need to adjust the string for the RTL locale in this particular case.
2. update chromite to a revision that copies icudtl.dat when icu_use_data_file_flag is on.
The switch (icu_use_data_file) will be flipped in a follow-up CL (either in build/common.gypi or chromeos-chrome ebuild file or both as necessary).
BUG=72633
TEST=cros_{amd,x86,amd64} pass all the tests. No actual change with this CL.
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=248325
Review URL: https://codereview.chromium.org/135963010
git-svn-id: http://src.chromium.org/svn/trunk/src/build@248954 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Instead of the slightly rube-goldbergian approach of giving mips_arch_variant
the default value mips32r2 in common.gypi and then always overriding this with
mips32r1 in envsetup, just set mips_arch_variant to mips32r1 by default and
don't set it in envsetup.
I checked that the generated ninja file for base is identical before and after
this change, and that the mips flags change as expected when manually setting
mips_arch_variant to mips32r2. No behavior change.
BUG=330631
TBR=torne@chromium.org
Review URL: https://codereview.chromium.org/152233002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@248409 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Reason for revert:
This is breaking the Chrome OS bots on the waterfall:
http://build.chromium.org/p/chromium.chromiumos/buildstatus?builder=ChromiumOS%20%28x86%29&number=19593http://build.chromium.org/p/chromium.chromiumos/buildstatus?builder=ChromiumOS%20%28amd64%29&number=13965
From discussion on chromium-dev:
Looking at /var/log/messages for one of the failing tests, Chrome is exiting with SIGABRT over and over, and ui.LATEST has the following over and over:
[0201/085858:FATAL:content_main_runner.cc(735)] Check failed: base::i18n::InitializeICU().
Original issue's description:
> Enable icu_use_data_file_flag on CrOS
>
> 1. Enable icu_use_data_file_flag on CrOS
>
> 2. Doing #1 led to a crash because GetStringUTF8 (that relies on ICU to determine whether the current UI language is RTL) is called before InitializeICU is called. Instead of using GetStringUTF8, get the string directly from the resource bundle because there's no need to adjust the string for the RTL locale in this particular case.
>
> Note to perf-sheriff : The size of chrome binary will be 10M smaller because the ICU data is now in a separate file (icudtl.dat) whose size is about 10M.
>
> BUG=72633
> TEST=ui_base_unittests
>
> Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=248325TBR=tony@chromium.org,vapier@chromium.org,mark@chromium.org,nkostylev@chromium.org,jshin@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=72633
Review URL: https://codereview.chromium.org/151163003
git-svn-id: http://src.chromium.org/svn/trunk/src/build@248374 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
1. Enable icu_use_data_file_flag on CrOS
2. Doing #1 led to a crash because GetStringUTF8 (that relies on ICU to determine whether the current UI language is RTL) is called before InitializeICU is called. Instead of using GetStringUTF8, get the string directly from the resource bundle because there's no need to adjust the string for the RTL locale in this particular case.
Note to perf-sheriff : The size of chrome binary will be 10M smaller because the ICU data is now in a separate file (icudtl.dat) whose size is about 10M.
BUG=72633
TEST=ui_base_unittests
Review URL: https://codereview.chromium.org/135963010
git-svn-id: http://src.chromium.org/svn/trunk/src/build@248325 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
1. Set icu_use_data_file_flag to 1 in common.gypi
2. Add icudatl.dat to the resournce bundle list in
chrome_dll_bundle.gypi and content_shell.gypi
3. Move ICU_UTIL_DATA_IMPL to base.gyp
This CL has to be landed after
https://codereview.chromium.org/111723007/ is landed and rolled in.
(done in https://codereview.chromium.org/118313004/ )
Note to perf-sheriff: This CL adds ~10MB to the resource bundle while cutting down the same amount from the Chrome executable/binary.
BUG=72633
TEST=All the Mac builds (static, shared) go through and tests (e.g.
layout tests, base_unittests --gtest_filter=*String*, net_unittests
--gtest_filter=*IDN*) loading the ICU data pass.
Review URL: https://codereview.chromium.org/109013004
git-svn-id: http://src.chromium.org/svn/trunk/src/build@247404 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Reason for revert:
mini_installer somehow does not install icudtl.dat in the top product directory (alongside chrome.exe) leading to a failure in InitializeICU().
icudtl.dat is listed in both mini_installer.gypi and FILES.cfg for windows.
Original issue's description:
> Enable icu_use_data_file on Windows
>
>
> Set icu_use_data_file_flag to 1 on Windows in common.gypi and make the dependency on icudata conditional on 'icu_use_data_file_flag != 0' in common.gypi, base.gyp and net.gyp
>
> This also requires a change in third_party/icu/icu.gyp
> ( https://codereview.chromium.org/111723007/ ), which was rolled in by https://codereview.chromium.org/118313004/
>
> BUG=72633
> TEST=All windows builds work fine and there's no perf regression (start-up etc).
>
> Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=246387TBR=mark@chromium.org,scottmg@chromium.org,laforge@chromium.org,maruel@chromium.org,grt@chromium.org,wtc@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=72633
Review URL: https://codereview.chromium.org/139403006
git-svn-id: http://src.chromium.org/svn/trunk/src/build@246632 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This will start covering the policy iOS build on the main waterfall. The code
in chrome/browser/policy is still disabled on that platform by default, but
the policy component and its unittests will be built.
This change also enables one policy on iOS, otherwise some parts of the build
break.
BUG=275292
Review URL: https://codereview.chromium.org/132233031
git-svn-id: http://src.chromium.org/svn/trunk/src/build@246422 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
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