The recommended C++ library on iOS is libc++ but the compiler still default
to libstdc++ so add a new gyp variable "use_system_libcxx" to choose which
C++ library to use.
When building Chrome for iOS, so tool are still build on the host which
targets Mac OS X SDK 10.6 which does not supports libc++ so only enabled the
usage of libc++ when not building for the host.
The version of clang shipped on Google storage does not supports using the
system libc++ so instead use the version of clang shipped with Xcode when
using libc++.
BUG=366744
Review URL: https://codereview.chromium.org/425313002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@287321 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
In addition to disabling warnings, this does turn on a few warnings that weren't
on before (-Wheader-hygiene, -Wstring-conversions). I'll see how our bot copes,
if it's too horrible I might revert this again for a bit.
BUG=82385
NOTRY=true
Review URL: https://codereview.chromium.org/419963004
git-svn-id: http://src.chromium.org/svn/trunk/src/build@287237 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Previously, every gyp file that wanted to set clang warnings had to check
for clang==1 and then set cflags and xcode_settings.WARNING_CFLAGS. Factor
this out, so that targets only need to set clang_warning_flags for warnings
that apply to all platforms. (Per-platform flags still need to be set manually.)
This removes existing duplication from gyp files, and prevents adding more
duplication when trying to add the same warning flags for clang/win.
BUG=82385
R=hans@chromium.org, scottmg@chromium.org
TBR=various owners
Review URL: https://codereview.chromium.org/437543007
git-svn-id: http://src.chromium.org/svn/trunk/src/build@287092 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Tested by running all IndexedDB tests (40 times) on the following devices:
1. Nexus 7: 4.4.3
2. Nexus 4: 4.2.2
3. Galaxy Nexus: 4.0.4
IndexedDBBrowserTestSingleProcess.RenderThreadShutdownTest is still
disabled - just in the standard way for Android.
BUG=256184,233118
Review URL: https://codereview.chromium.org/342413004
git-svn-id: http://src.chromium.org/svn/trunk/src/build@287030 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Passing $rspfile_content passes the content of the rsp file verbatim
to the command line, which kind of defeats the purpose of using rsp files.
@\$rspfile tells the linker to open up the file itself.
BUG=398255
Review URL: https://codereview.chromium.org/428013002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@286675 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This, along with other changes described in crbug/367239, allows refactoring
of the build logic to allow per-target customization of the CLD data source.
This, in turn, allows chrome_shell to be built with statically-linked CLD even
if other things (such as the full browser) are not.
BUG=367239
TBR=toyoshim@chromium.org
Review URL: https://codereview.chromium.org/424123003
git-svn-id: http://src.chromium.org/svn/trunk/src/build@286487 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
The solink command included the "real" link command twice and only used
the libs_section_prefix/postfix in one of the two. This splits the
construction of the link command up a bit to make it clearer.
This adds a simple post_solink arg to gcc_toolchain that allows the
caller to add more stuff to the solink command. This is used to
automatically strip all shared libraries in Android builds (in gyp, we
do this for a library once for each apk that it is in :/ ).
BUG=359249
Review URL: https://codereview.chromium.org/372813002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@286282 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
- Change the android_webview_apk gyp files to include the en-US.pak
file in the apk, which was erroneously missing.
- Add the do_not_compress gyp plumbing to store and zipalign paks in
the apk (only for the android_webview_apk target).
- Stop decompressing pak files in the android webview shell apk.
- Change aw_browser_main_parts.cc to take advantage of the new AwAssets
and DataPack/ResourceBundle *FromRegion methods (mmap from the apk).
- Add temporary workaround which loads always the en-US.pak locale, in
lack of a proper refactoring of i10n_utils and ResourceBundle.
BUG=394502
Review URL: https://codereview.chromium.org/402603006
git-svn-id: http://src.chromium.org/svn/trunk/src/build@286258 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Currently this relies on the user setting these variables
outside of gyp and outside of source control. Once this
lands the buildbot configs can be simplified to remove
these variables.
Even though we are trying to switch to clang by default
in the short term, this is still useful for building
with gcc on trusty (which has gcc 4.8), and allows us to
simplify the bot configs.
BUG=395832
R=thakis@chromium.org
Review URL: https://codereview.chromium.org/414343003
git-svn-id: http://src.chromium.org/svn/trunk/src/build@286219 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
On Android, we detect neon support at runtime and switch implementations
based on that. This requires that some parts of skia are compiled with
-mfpu=neon.
To support this, the -mfpu flag is moved out of the 'compiler' config
and into its own config. A target can then remove this config and supply
its own -mfpu flag (without having to duplicate all the other stuff in
the 'compiler' config).
BUG=359249
Review URL: https://codereview.chromium.org/371853007
git-svn-id: http://src.chromium.org/svn/trunk/src/build@286038 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This adds two templates, android_apk and unittest_apk. unittest_apk is
a simple wrapper of android_apk for packaging gtests into apks.
android_apk currently just does the java compilation, processing
resources, and build_config stuff for apks.
BUG=359249
Review URL: https://codereview.chromium.org/379333003
git-svn-id: http://src.chromium.org/svn/trunk/src/build@286031 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This patch:
- extracts the instrumentation test runner from the
AndroidManifest.xml file in the apk.
- allows test authors to specify a minimum SDK level for
instrumentation test classes via the MinAndroidSdkLevel annotation.
- filters the list of instrumentation tests according to the sdk
levels of all attached devices.
- speeds up our proguard function by dumping to a temporary file.
BUG=
Review URL: https://codereview.chromium.org/415463002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@286014 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
On android we have to specify crtbegin_dynamic.o / crtend_android.o when
linking executables and crtbegin_so.o / crtend_so.o when linking shared
libraries. This splits the variables up in gcc_toolchain so the android
template can differentiate between the two.
Review URL: https://codereview.chromium.org/420353002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@285991 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
It doesn't run yet. This disables WebRTC since that's not done yet.
Libvpx isn't done either. This patch exports the disable flag for this from media to dependent targets like the GYP build does. It adds one extra check for this flag in Pepper. I assume everybody that compiles without libvpx also disables plugins so this has never come up before.
Disable some warnings in Mesa.
The resulting binary does not yet run.
R=jamesr@chromium.org
Review URL: https://codereview.chromium.org/419913003
git-svn-id: http://src.chromium.org/svn/trunk/src/build@285962 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This code has been here since this script was created back
in bug 154525, however these days the warning code is 88.
Maybe the warning code has always been 88, but its always been
OK for an extract_build step to be non-fatal.
I would be happy to test this if someone could explain
to me how this file is tested.
These days we expect extract_build to fail the build, if it doesn't
then we just go and run test with the wrong revision, etc.
BUG=397710, 154525
Review URL: https://codereview.chromium.org/416243007
git-svn-id: http://src.chromium.org/svn/trunk/src/build@285914 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Hopefully the move will make DesktopWindowTreeHostX11Test.Deactivate no longer
flaky. Only a single window can be active at a time. I suspect that this test
sometimes fails when run in parallel with other tests
BUG=396491
TEST=None
Review URL: https://codereview.chromium.org/414123005
git-svn-id: http://src.chromium.org/svn/trunk/src/build@285834 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
They were previously enabled in shared_library builds for historical reasons.
Turning them off makes things nice and consistent across all build types,
and helps the Windows Clang build, which currently doesn't support exceptions.
Previous attemps failed due to:
- mojo_public_environment_unittests unreachable code warning in
DrMemory shared_library Release builds (crbug.com/397465)
Fixed in Chromium r285674.
- chrome_elf_unittests on x64 (crbug.com/396244)
Fixed in Chromium r285377.
- blink_platform_unittests:DateTimeFormatTest.CommonPattern et al.
Fixed in Blink r176189
BUG=82385
TBR=thakis
Review URL: https://codereview.chromium.org/419973003
git-svn-id: http://src.chromium.org/svn/trunk/src/build@285676 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
BUG=397465
> Disable exceptions on Windows in all builds (take 3)
>
> They were previously enabled in shared_library builds for historical reasons.
>
> This change is relevant for Clang, which currently doesn't support exceptions
> on Windows.
>
> Previous attemps failed due to:
> - chrome_elf_unittests on x64 (crbug.com/396244)
> Fixed in Chromium r285377.
>
> - blink_platform_unittests:DateTimeFormatTest.CommonPattern et al.
> Fixed in Blink r176189
>
> BUG=82385
> TBR=thakis
>
> Review URL: https://codereview.chromium.org/420593002TBR=hans@chromium.org
Review URL: https://codereview.chromium.org/418393002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@285614 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
They were previously enabled in shared_library builds for historical reasons.
This change is relevant for Clang, which currently doesn't support exceptions
on Windows.
Previous attemps failed due to:
- chrome_elf_unittests on x64 (crbug.com/396244)
Fixed in Chromium r285377.
- blink_platform_unittests:DateTimeFormatTest.CommonPattern et al.
Fixed in Blink r176189
BUG=82385
TBR=thakis
Review URL: https://codereview.chromium.org/420593002
git-svn-id: http://src.chromium.org/svn/trunk/src/build@285458 4ff67af0-8c30-449e-8e8b-ad334ec8d88c