| Index: build/common.gypi
|
| diff --git a/build/common.gypi b/build/common.gypi
|
| index 634f478a10b83b45ab3bc733f1382da83bc6ab28..99426eb9692ff196bdfde6f9bda7a64c72367aa9 100644
|
| --- a/build/common.gypi
|
| +++ b/build/common.gypi
|
| @@ -82,6 +82,14 @@
|
| # Enable HiDPI support.
|
| 'enable_hidpi%': 0,
|
|
|
| + # Enable top chrome material design.
|
| + 'enable_topchrome_md%' : 0,
|
| +
|
| + # Force building against pre-built sysroot image on linux. By default
|
| + # the sysroot image is only used for Official builds or when cross
|
| + # compiling to arm or mips.
|
| + 'use_sysroot%': 0,
|
| +
|
| # Override buildtype to select the desired build flavor.
|
| # Dev - everyday build for development/testing
|
| # Official - release build (generally implies additional processing)
|
| @@ -147,6 +155,7 @@
|
| 'use_openssl_certs%': '<(use_openssl_certs)',
|
| 'enable_viewport%': '<(enable_viewport)',
|
| 'enable_hidpi%': '<(enable_hidpi)',
|
| + 'enable_topchrome_md%': '<(enable_topchrome_md)',
|
| 'buildtype%': '<(buildtype)',
|
| 'branding%': '<(branding)',
|
| 'branding_path_component%': '<(branding)',
|
| @@ -173,7 +182,6 @@
|
|
|
| # The system root for cross-compiles. Default: none.
|
| 'sysroot%': '',
|
| - 'use_sysroot%': 0,
|
| 'chroot_cmd%': '',
|
|
|
| # The system libdir used for this ABI.
|
| @@ -222,6 +230,11 @@
|
| 'enable_hidpi%': 1,
|
| }],
|
|
|
| + # Enable Top Chrome Material Design on Chrome OS, and Windows.
|
| + ['chromeos==1 or OS=="win"', {
|
| + 'enable_topchrome_md%': 1,
|
| + }],
|
| +
|
| # Enable the OpenSSL backend on Mac OS and Windows.
|
| ['OS=="mac" or OS=="win"', {
|
| 'use_openssl%': 1,
|
| @@ -234,7 +247,7 @@
|
| 'enable_app_list%': 0,
|
| }],
|
|
|
| - ['use_aura==1 or (OS!="win" and OS!="mac" and OS!="ios" and OS!="android")', {
|
| + ['use_aura==1 and OS!="android"', {
|
| 'use_default_render_theme%': 1,
|
| }, {
|
| 'use_default_render_theme%': 0,
|
| @@ -273,6 +286,27 @@
|
| ['target_arch=="mipsel"', {
|
| 'mips_arch_variant%': 'r1',
|
| }],
|
| +
|
| + ['OS=="linux" and target_arch=="arm" and chromeos==0', {
|
| + # sysroot needs to be an absolute path otherwise it generates
|
| + # incorrect results when passed to pkg-config
|
| + 'sysroot%': '<!(cd <(DEPTH) && pwd -P)/chrome/installer/linux/debian_wheezy_arm-sysroot',
|
| + }], # OS=="linux" and target_arch=="arm" and chromeos==0
|
| +
|
| + ['OS=="linux" and ((branding=="Chrome" and buildtype=="Official" and chromeos==0) or use_sysroot==1)' , {
|
| + 'conditions': [
|
| + ['target_arch=="x64"', {
|
| + 'sysroot%': '<!(cd <(DEPTH) && pwd -P)/chrome/installer/linux/debian_wheezy_amd64-sysroot',
|
| + }],
|
| + ['target_arch=="ia32"', {
|
| + 'sysroot%': '<!(cd <(DEPTH) && pwd -P)/chrome/installer/linux/debian_wheezy_i386-sysroot',
|
| + }],
|
| + ],
|
| + }], # OS=="linux" and branding=="Chrome" and buildtype=="Official" and chromeos==0
|
| +
|
| + ['OS=="linux" and target_arch=="mipsel"', {
|
| + 'sysroot%': '<!(cd <(DEPTH) && pwd -P)/mipsel-sysroot/sysroot',
|
| + }],
|
| ],
|
| },
|
|
|
| @@ -298,6 +332,7 @@
|
| 'use_openssl_certs%': '<(use_openssl_certs)',
|
| 'enable_viewport%': '<(enable_viewport)',
|
| 'enable_hidpi%': '<(enable_hidpi)',
|
| + 'enable_topchrome_md%': '<(enable_topchrome_md)',
|
| 'android_channel%': '<(android_channel)',
|
| 'use_goma%': '<(use_goma)',
|
| 'gomadir%': '<(gomadir)',
|
| @@ -381,6 +416,9 @@
|
| # Web speech is enabled by default. Set to 0 to disable.
|
| 'enable_web_speech%': 1,
|
|
|
| + # 'Ok Google' hotwording is enabled by default. Set to 0 to disable.
|
| + 'enable_hotwording%': 1,
|
| +
|
| # Notifications are compiled in by default. Set to 0 to disable.
|
| 'notifications%' : 1,
|
|
|
| @@ -446,6 +484,7 @@
|
| # See http://clang.llvm.org/docs/UsersManual.html
|
| 'ubsan%': 0,
|
| 'ubsan_blacklist%': '<(PRODUCT_DIR)/../../tools/ubsan/blacklist.txt',
|
| + 'ubsan_vptr_blacklist%': '<(PRODUCT_DIR)/../../tools/ubsan/vptr_blacklist.txt',
|
|
|
| # Enable building with UBsan's vptr (Clang's -fsanitize=vptr option).
|
| # -fsanitize=vptr only works with clang, but ubsan_vptr=1 implies clang=1
|
| @@ -602,9 +641,6 @@
|
| # with one of those tools.
|
| 'build_for_tool%': '',
|
|
|
| - # If no directory is specified then a temporary directory will be used.
|
| - 'test_isolation_outdir%': '',
|
| -
|
| 'wix_path%': '<(DEPTH)/third_party/wix',
|
|
|
| # Supervised users are enabled by default.
|
| @@ -613,8 +649,6 @@
|
| # Platform sends memory pressure signals natively.
|
| 'native_memory_pressure_signals%': 0,
|
|
|
| - 'spdy_proxy_auth_property%' : '',
|
| - 'spdy_proxy_auth_value%' : '',
|
| 'enable_mdns%' : 0,
|
| 'enable_service_discovery%': 0,
|
| 'enable_wifi_bootstrapping%': 0,
|
| @@ -653,21 +687,13 @@
|
| 'use_lto%': 0,
|
| 'use_lto_o2%': 0,
|
|
|
| - # Allowed level of identical code folding in the gold linker.
|
| - 'gold_icf_level%': 'safe',
|
| -
|
| # Libxkbcommon usage.
|
| 'use_xkbcommon%': 0,
|
|
|
| - # Control Flow Integrity for virtual calls.
|
| + # Control Flow Integrity for virtual calls and casts.
|
| # See http://clang.llvm.org/docs/ControlFlowIntegrity.html
|
| 'cfi_vptr%': 0,
|
|
|
| - # Control Flow Integrity for casts.
|
| - # See http://clang.llvm.org/docs/ControlFlowIntegrity.html
|
| - 'cfi_derived_cast%': 0,
|
| - 'cfi_unrelated_cast%': 0,
|
| -
|
| 'cfi_blacklist%': '<(PRODUCT_DIR)/../../tools/cfi/blacklist.txt',
|
|
|
| # Whether the entire browser uses toolkit-views on Mac instead of Cocoa.
|
| @@ -804,12 +830,10 @@
|
| # Enable autofill dialog when not on iOS.
|
| ['OS!="ios"', {
|
| 'enable_autofill_dialog%': 1,
|
| + }],
|
|
|
| - 'conditions': [
|
| - ['buildtype=="Official"', {
|
| - 'enable_prod_wallet_service%': 1,
|
| - }],
|
| - ]
|
| + ['buildtype=="Official"', {
|
| + 'enable_prod_wallet_service%': 1,
|
| }],
|
|
|
| ['OS=="android"', {
|
| @@ -932,30 +956,6 @@
|
| 'enable_settings_app%': 0,
|
| }],
|
|
|
| - ['OS=="linux" and target_arch=="arm" and chromeos==0', {
|
| - # Set some defaults for arm/linux chrome builds
|
| - 'use_allocator%': 'none',
|
| - # sysroot needs to be an absolute path otherwise it generates
|
| - # incorrect results when passed to pkg-config
|
| - 'sysroot%': '<!(cd <(DEPTH) && pwd -P)/chrome/installer/linux/debian_wheezy_arm-sysroot',
|
| - }], # OS=="linux" and target_arch=="arm" and chromeos==0
|
| -
|
| - ['OS=="linux" and ((branding=="Chrome" and buildtype=="Official" and chromeos==0) or use_sysroot==1)' , {
|
| - 'conditions': [
|
| - ['target_arch=="x64"', {
|
| - 'sysroot%': '<!(cd <(DEPTH) && pwd -P)/chrome/installer/linux/debian_wheezy_amd64-sysroot',
|
| - }],
|
| - ['target_arch=="ia32"', {
|
| - 'sysroot%': '<!(cd <(DEPTH) && pwd -P)/chrome/installer/linux/debian_wheezy_i386-sysroot',
|
| - }],
|
| - ],
|
| - }], # OS=="linux" and branding=="Chrome" and buildtype=="Official" and chromeos==0
|
| -
|
| - ['OS=="linux" and target_arch=="mipsel"', {
|
| - 'sysroot%': '<!(cd <(DEPTH) && pwd -P)/mipsel-sysroot/sysroot',
|
| - 'CXX%': '<!(cd <(DEPTH) && pwd -P)/mipsel-sysroot/bin/mipsel-linux-gnu-gcc',
|
| - }],
|
| -
|
| # Whether tests targets should be run, archived or just have the
|
| # dependencies verified. All the tests targets have the '_run' suffix,
|
| # e.g. base_unittests_run runs the target base_unittests. The test
|
| @@ -1010,6 +1010,12 @@
|
| }, {
|
| 'sas_dll_path%': '<(DEPTH)/third_party/platformsdk_win7/files/redist/x86',
|
| }],
|
| +
|
| + ['sysroot!=""', {
|
| + 'pkg-config': '<(DEPTH)/build/linux/pkg-config-wrapper "<(sysroot)" "<(target_arch)" "<(system_libdir)"',
|
| + }, {
|
| + 'pkg-config': 'pkg-config'
|
| + }],
|
| ],
|
|
|
| # Setting this to '0' will cause V8's startup snapshot to be
|
| @@ -1110,6 +1116,7 @@
|
| 'chromecast%': '<(chromecast)',
|
| 'enable_viewport%': '<(enable_viewport)',
|
| 'enable_hidpi%': '<(enable_hidpi)',
|
| + 'enable_topchrome_md%': '<(enable_topchrome_md)',
|
| 'image_loader_extension%': '<(image_loader_extension)',
|
| 'fastbuild%': '<(fastbuild)',
|
| 'dont_embed_build_metadata%': '<(dont_embed_build_metadata)',
|
| @@ -1120,6 +1127,7 @@
|
| 'arm_neon%': '<(arm_neon)',
|
| 'arm_neon_optional%': '<(arm_neon_optional)',
|
| 'sysroot%': '<(sysroot)',
|
| + 'pkg-config%': '<(pkg-config)',
|
| 'chroot_cmd%': '<(chroot_cmd)',
|
| 'system_libdir%': '<(system_libdir)',
|
| 'component%': '<(component)',
|
| @@ -1136,6 +1144,7 @@
|
| 'configuration_policy%': '<(configuration_policy)',
|
| 'safe_browsing%': '<(safe_browsing)',
|
| 'enable_web_speech%': '<(enable_web_speech)',
|
| + 'enable_hotwording%': '<(enable_hotwording)',
|
| 'notifications%': '<(notifications)',
|
| 'clang_use_chrome_plugins%': '<(clang_use_chrome_plugins)',
|
| 'mac_want_real_dsym%': '<(mac_want_real_dsym)',
|
| @@ -1156,6 +1165,7 @@
|
| 'tsan_blacklist%': '<(tsan_blacklist)',
|
| 'ubsan%': '<(ubsan)',
|
| 'ubsan_blacklist%': '<(ubsan_blacklist)',
|
| + 'ubsan_vptr_blacklist%': '<(ubsan_vptr_blacklist)',
|
| 'ubsan_vptr%': '<(ubsan_vptr)',
|
| 'use_instrumented_libraries%': '<(use_instrumented_libraries)',
|
| 'use_prebuilt_instrumented_libraries%': '<(use_prebuilt_instrumented_libraries)',
|
| @@ -1178,7 +1188,6 @@
|
| 'linux_use_debug_fission%': '<(linux_use_debug_fission)',
|
| 'use_canvas_skia%': '<(use_canvas_skia)',
|
| 'test_isolation_mode%': '<(test_isolation_mode)',
|
| - 'test_isolation_outdir%': '<(test_isolation_outdir)',
|
| 'enable_basic_printing%': '<(enable_basic_printing)',
|
| 'enable_print_preview%': '<(enable_print_preview)',
|
| 'enable_spellcheck%': '<(enable_spellcheck)',
|
| @@ -1206,8 +1215,6 @@
|
| 'google_default_client_secret%': '<(google_default_client_secret)',
|
| 'enable_supervised_users%': '<(enable_supervised_users)',
|
| 'native_memory_pressure_signals%': '<(native_memory_pressure_signals)',
|
| - 'spdy_proxy_auth_property%': '<(spdy_proxy_auth_property)',
|
| - 'spdy_proxy_auth_value%': '<(spdy_proxy_auth_value)',
|
| 'enable_mdns%' : '<(enable_mdns)',
|
| 'enable_service_discovery%' : '<(enable_service_discovery)',
|
| 'enable_wifi_bootstrapping%': '<(enable_wifi_bootstrapping)',
|
| @@ -1218,12 +1225,9 @@
|
| 'gomadir%': '<(gomadir)',
|
| 'use_lto%': '<(use_lto)',
|
| 'use_lto_o2%': '<(use_lto_o2)',
|
| - 'gold_icf_level%': '<(gold_icf_level)',
|
| 'video_hole%': '<(video_hole)',
|
| 'v8_use_external_startup_data%': '<(v8_use_external_startup_data)',
|
| 'cfi_vptr%': '<(cfi_vptr)',
|
| - 'cfi_derived_cast%': '<(cfi_derived_cast)',
|
| - 'cfi_unrelated_cast%': '<(cfi_unrelated_cast)',
|
| 'cfi_blacklist%': '<(cfi_blacklist)',
|
| 'mac_views_browser%': '<(mac_views_browser)',
|
| 'android_app_version_name%': '<(android_app_version_name)',
|
| @@ -1444,6 +1448,9 @@
|
| # untrusted toolchain.
|
| 'disable_nacl_untrusted%': 0,
|
|
|
| + # PNaCl toolchain does not support sanitizers. Disable by default.
|
| + 'enable_nacl_nonsfi_test%': 0,
|
| +
|
| # Disable Dart by default.
|
| 'enable_dart%': 0,
|
|
|
| @@ -1465,7 +1472,7 @@
|
| 'sas_dll_exists': '<!pymod_do_main(dir_exists "<(sas_dll_path)")',
|
| 'wix_exists': '<!pymod_do_main(dir_exists "<(wix_path)")',
|
|
|
| - 'windows_sdk_default_path': '<(DEPTH)/third_party/platformsdk_win8/files',
|
| + 'windows_sdk_path%': 'C:/Program Files (x86)/Windows Kits/8.1',
|
| 'directx_sdk_default_path': '<(DEPTH)/third_party/directxsdk/files',
|
|
|
| # Whether we are using the rlz library or not. Platforms like Android send
|
| @@ -1581,11 +1588,6 @@
|
| 'host_gcc_version%': 0,
|
| 'gcc_version%': 0,
|
| }],
|
| - ['OS=="win" and "<!pymod_do_main(dir_exists <(windows_sdk_default_path))"=="True"', {
|
| - 'windows_sdk_path%': '<(windows_sdk_default_path)',
|
| - }, {
|
| - 'windows_sdk_path%': 'C:/Program Files (x86)/Windows Kits/8.1',
|
| - }],
|
| ['OS=="win" and "<!pymod_do_main(dir_exists <(directx_sdk_default_path))"=="True"', {
|
| 'directx_sdk_path%': '<(directx_sdk_default_path)',
|
| }, {
|
| @@ -1602,10 +1604,6 @@
|
| 'nacl_untrusted_build%': 0,
|
| 'use_allocator%': 'none',
|
| }],
|
| - ['OS=="linux" and target_arch=="mipsel"', {
|
| - 'sysroot%': '<(sysroot)',
|
| - 'CXX%': '<(CXX)',
|
| - }],
|
| # Use a 64-bit linker to avoid running out of address space. The
|
| # buildbots should have a 64-bit kernel and a 64-bit libc installed.
|
| ['host_arch=="ia32" and target_arch=="ia32"', {
|
| @@ -1696,17 +1694,17 @@
|
| 'host_os%': '<(host_os)',
|
|
|
| 'android_sdk%': '<(android_sdk_root)/platforms/android-<(android_sdk_version)',
|
| - # Android SDK build tools (e.g. dx, aapt, aidl)
|
| + # Android SDK build tools (e.g. dx, aidl)
|
| 'android_sdk_tools%': '<(android_sdk_root)/build-tools/<(android_sdk_build_tools_version)',
|
|
|
| - # Android API level 14 is ICS (Android 4.0) which is the minimum
|
| + # Android API level 16 is JB (Android 4.1) which is the minimum
|
| # platform requirement for Chrome on Android, we use it for native
|
| # code compilation.
|
| 'conditions': [
|
| ['target_arch == "ia32"', {
|
| 'android_app_abi%': 'x86',
|
| 'android_gdbserver%': '<(android_ndk_absolute_root)/prebuilt/android-x86/gdbserver/gdbserver',
|
| - 'android_ndk_sysroot%': '<(android_ndk_root)/platforms/android-14/arch-x86',
|
| + 'android_ndk_sysroot%': '<(android_ndk_root)/platforms/android-16/arch-x86',
|
| 'android_ndk_lib_dir%': 'usr/lib',
|
| 'android_toolchain%': '<(android_ndk_absolute_root)/toolchains/x86-4.9/prebuilt/<(host_os)-<(android_host_arch)/bin',
|
| }],
|
| @@ -1726,7 +1724,7 @@
|
| }],
|
| ],
|
| 'android_gdbserver%': '<(android_ndk_absolute_root)/prebuilt/android-arm/gdbserver/gdbserver',
|
| - 'android_ndk_sysroot%': '<(android_ndk_root)/platforms/android-14/arch-arm',
|
| + 'android_ndk_sysroot%': '<(android_ndk_root)/platforms/android-16/arch-arm',
|
| 'android_ndk_lib_dir%': 'usr/lib',
|
| 'android_toolchain%': '<(android_ndk_absolute_root)/toolchains/arm-linux-androideabi-4.9/prebuilt/<(host_os)-<(android_host_arch)/bin',
|
| }],
|
| @@ -1740,7 +1738,7 @@
|
| ['target_arch == "mipsel"', {
|
| 'android_app_abi%': 'mips',
|
| 'android_gdbserver%': '<(android_ndk_absolute_root)/prebuilt/android-mips/gdbserver/gdbserver',
|
| - 'android_ndk_sysroot%': '<(android_ndk_root)/platforms/android-14/arch-mips',
|
| + 'android_ndk_sysroot%': '<(android_ndk_root)/platforms/android-16/arch-mips',
|
| 'android_ndk_lib_dir%': 'usr/lib',
|
| 'android_toolchain%': '<(android_ndk_absolute_root)/toolchains/mipsel-linux-android-4.9/prebuilt/<(host_os)-<(android_host_arch)/bin',
|
| }],
|
| @@ -1765,6 +1763,7 @@
|
| 'android_ndk_include': '<(android_ndk_sysroot)/usr/include',
|
| 'android_ndk_lib': '<(android_ndk_sysroot)/<(android_ndk_lib_dir)',
|
| 'android_sdk_tools%': '<(android_sdk_tools)',
|
| + 'android_aapt_path%': '<(android_sdk_tools)/aapt',
|
| 'android_sdk%': '<(android_sdk)',
|
| 'android_sdk_jar%': '<(android_sdk)/android.jar',
|
|
|
| @@ -1978,7 +1977,7 @@
|
| 'use_cups%': 0,
|
| }],
|
|
|
| - ['enable_plugins==1 and (OS=="linux" or OS=="mac" or OS=="win")', {
|
| + ['enable_plugins==1 and (OS=="linux" or OS=="mac" or OS=="win") and chromecast==0', {
|
| 'enable_pepper_cdms%': 1,
|
| }, {
|
| 'enable_pepper_cdms%': 0,
|
| @@ -2178,20 +2177,43 @@
|
| # On Windows, the plugin is built directly into clang, so there's
|
| # no need to load it dynamically.
|
| 'clang_dynlib_flags%': '',
|
| - }]
|
| + }],
|
| + # https://crbug.com/441916
|
| + ['OS=="android" or OS=="linux" or OS=="mac"', {
|
| + 'clang_plugin_args%': '-Xclang -plugin-arg-find-bad-constructs -Xclang check-templates ',
|
| + }, { # OS != "linux"
|
| + 'clang_plugin_args%': ''
|
| + }],
|
| ],
|
| },
|
| # If you change these, also change build/config/clang/BUILD.gn.
|
| 'clang_chrome_plugins_flags%':
|
| '<(clang_dynlib_flags)'
|
| - '-Xclang -add-plugin -Xclang find-bad-constructs ',
|
| + '-Xclang -add-plugin -Xclang find-bad-constructs <(clang_plugin_args)',
|
| }],
|
| ['asan==1 or msan==1 or lsan==1 or tsan==1', {
|
| 'clang%': 1,
|
| 'use_allocator%': 'none',
|
| 'use_sanitizer_options%': 1,
|
| - # Disable ICF in the linker to avoid debug info loss.
|
| - 'gold_icf_level%': 'none',
|
| + }],
|
| +
|
| + # Allowed level of identical code folding in the gold linker.
|
| + ['OS=="linux" and target_arch=="x64"', {
|
| + # --icf=safe disables much more folding on x86_64 than elsewhere, see
|
| + # http://crbug.com/492177. Turning it on saves over 12 MB of binary
|
| + # size, but it seems to regress cold startup time by over a second
|
| + # (see http://crbug.com/492809).
|
| + # TODO(thakis): Check if disabling ICF would inmprove android cold start
|
| + # times by several seconds too.
|
| + 'gold_icf_level%': 'safe',
|
| + }, {
|
| + 'gold_icf_level%': 'all',
|
| + }],
|
| +
|
| + ['OS=="linux" and asan==0 and msan==0 and lsan==0 and tsan==0', {
|
| + # PNaCl toolchain Non-SFI build only supports linux OS build.
|
| + # Also, it does not support sanitizers.
|
| + 'enable_nacl_nonsfi_test%': 1,
|
| }],
|
| ['asan==1 and OS=="linux" and chromeos==0', {
|
| 'use_custom_libcxx%': 1,
|
| @@ -2236,12 +2258,6 @@
|
| ],
|
| }],
|
|
|
| - ['OS=="win" and target_arch=="x64"', {
|
| - # TODO(thakis): Enable on x64 once all warnings are fixed.
|
| - # http://crbug.com/486571
|
| - 'blink_gc_plugin%': 0,
|
| - }],
|
| -
|
| # On valgrind bots, override the optimizer settings so we don't inline too
|
| # much and make the stacks harder to figure out.
|
| #
|
| @@ -2317,9 +2333,12 @@
|
| }, {
|
| 'arm_fpu%': 'vfpv3-d16',
|
| }],
|
| + ['OS=="android"', {
|
| + 'arm_float_abi%': 'softfp',
|
| + }, {
|
| + 'arm_float_abi%': 'hard',
|
| + }],
|
| ],
|
| - # Change the default to hard once the armhf transition is complete.
|
| - 'arm_float_abi%': 'softfp',
|
| 'arm_thumb%': 1,
|
| }],
|
|
|
| @@ -2388,9 +2407,15 @@
|
| 'use_seccomp_bpf%': 0,
|
| }],
|
|
|
| - ['cfi_vptr==1 or cfi_derived_cast==1 or cfi_unrelated_cast==1', {
|
| + ['cfi_vptr==1', {
|
| 'use_lto%': 1,
|
| }],
|
| +
|
| + ['branding=="Chrome" and buildtype=="Official"', {
|
| + 'enable_hangout_services_extension%': 1,
|
| + }, {
|
| + 'enable_hangout_services_extension%': 0,
|
| + }],
|
| ],
|
|
|
| # The path to the ANGLE library.
|
| @@ -2581,6 +2606,11 @@
|
| '<(SHARED_INTERMEDIATE_DIR)',
|
| ],
|
| 'conditions': [
|
| + ['OS=="mac"', {
|
| + # When compiling Objective C, warns if a method is used whose
|
| + # availability is newer than the deployment target.
|
| + 'xcode_settings': { 'WARNING_CFLAGS': ['-Wpartial-availability']},
|
| + }],
|
| ['(OS=="mac" or OS=="ios") and asan==1', {
|
| 'dependencies': [
|
| '<(DEPTH)/build/mac/asan.gyp:asan_dynamic_runtime',
|
| @@ -2716,6 +2746,9 @@
|
| ['enable_hidpi==1', {
|
| 'defines': ['ENABLE_HIDPI=1'],
|
| }],
|
| + ['enable_topchrome_md==1', {
|
| + 'defines': ['ENABLE_TOPCHROME_MD=1'],
|
| + }],
|
| ['native_memory_pressure_signals==1', {
|
| 'defines': ['SYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE'],
|
| }],
|
| @@ -2975,12 +3008,6 @@
|
| ['enable_supervised_users==1', {
|
| 'defines': ['ENABLE_SUPERVISED_USERS=1'],
|
| }],
|
| - ['spdy_proxy_auth_property != ""', {
|
| - 'defines': ['SPDY_PROXY_AUTH_PROPERTY="<(spdy_proxy_auth_property)"'],
|
| - }],
|
| - ['spdy_proxy_auth_value != ""', {
|
| - 'defines': ['SPDY_PROXY_AUTH_VALUE="<(spdy_proxy_auth_value)"'],
|
| - }],
|
| ['enable_mdns==1', {
|
| 'defines': ['ENABLE_MDNS=1'],
|
| }],
|
| @@ -3107,11 +3134,6 @@
|
| '_SCL_SECURE_NO_DEPRECATE',
|
| ],
|
| 'msvs_disabled_warnings': [
|
| - # These are variable shadowing warnings that are new in VS2015.
|
| - # We should probably work through these at some point for
|
| - # non-chromium code, but for now, focus on chromium_code==1 code.
|
| - 4456, 4457, 4458, 4459,
|
| -
|
| 4800,
|
| ],
|
| 'msvs_settings': {
|
| @@ -3606,6 +3628,13 @@
|
| ],
|
| },
|
| }],
|
| + ['os_posix==1 and OS=="linux"', {
|
| + 'defines': [
|
| + '_LARGEFILE_SOURCE',
|
| + '_LARGEFILE64_SOURCE',
|
| + '_FILE_OFFSET_BITS=64',
|
| + ],
|
| + }],
|
| ['os_posix==1 and OS!="mac" and OS!="ios"', {
|
| 'target_defaults': {
|
| # Enable -Werror by default, but put it in a variable so it can
|
| @@ -3693,12 +3722,6 @@
|
| '-fomit-frame-pointer',
|
| ],
|
| }],
|
| - ['OS!="android"', {
|
| - 'defines': [
|
| - '_LARGEFILE_SOURCE',
|
| - '_LARGEFILE64_SOURCE',
|
| - ],
|
| - }],
|
| ['OS=="linux" and target_arch=="ia32"', {
|
| 'ldflags': [
|
| '-Wl,--no-as-needed',
|
| @@ -3796,6 +3819,14 @@
|
| 'cflags': ['-fno-unwind-tables', '-fno-asynchronous-unwind-tables'],
|
| 'defines': ['NO_UNWIND_TABLES'],
|
| }],
|
| + ['clang==1', {
|
| + # Non-unique section names appears to make linker dead stripping
|
| + # less effective. See http://crbug.com/483026#c20
|
| + # TODO(hans): Remove this if resolved upstream.
|
| + 'cflags': [
|
| + '-funique-section-names',
|
| + ],
|
| + }],
|
| ],
|
| },
|
| },
|
| @@ -3854,17 +3885,6 @@
|
| '-fuse-ld=gold',
|
| ],
|
| }],
|
| - # Install packages have started cropping up with
|
| - # different headers between the 32-bit and 64-bit
|
| - # versions, so we have to shadow those differences off
|
| - # and make sure a 32-bit-on-64-bit build picks up the
|
| - # right files.
|
| - # For android build, use NDK headers instead of host headers
|
| - ['host_arch!="ia32" and OS!="android"', {
|
| - 'include_dirs+': [
|
| - '/usr/include32',
|
| - ],
|
| - }],
|
| ],
|
| }],
|
| ],
|
| @@ -4133,6 +4153,9 @@
|
| ['OS=="android"', {
|
| 'cflags': [ '-target mipsel-linux-android', '-march=mipsel', '-mcpu=mips32r2'],
|
| 'ldflags': [ '-target mipsel-linux-android', ],
|
| + }, {
|
| + 'cflags': [ '-target mipsel-linux-gnu', '-march=mipsel', '-mcpu=mips32r2'],
|
| + 'ldflags': [ '-target mipsel-linux-gnu', ],
|
| }],
|
| ],
|
| }, { # clang==0
|
| @@ -4147,6 +4170,9 @@
|
| ['OS=="android"', {
|
| 'cflags': [ '-target mipsel-linux-android', '-march=mipsel', '-mcpu=mips32'],
|
| 'ldflags': [ '-target mipsel-linux-android', ],
|
| + }, {
|
| + 'cflags': [ '-target mipsel-linux-gnu', '-march=mipsel', '-mcpu=mips32'],
|
| + 'ldflags': [ '-target mipsel-linux-gnu', ],
|
| }],
|
| ],
|
| }, { # clang==0
|
| @@ -4162,6 +4188,10 @@
|
| 'cflags': [
|
| # TODO(gordanac) Enable integrated-as.
|
| '-no-integrated-as',
|
| + ],
|
| + }],
|
| + ['clang==1 and OS=="android"', {
|
| + 'cflags': [
|
| '-B<(android_toolchain)', # Else /usr/bin/as gets picked up.
|
| ],
|
| 'ldflags': [
|
| @@ -4334,7 +4364,19 @@
|
| 'target_conditions': [
|
| ['_toolset=="target"', {
|
| 'cflags': [
|
| - '-fsanitize=undefined',
|
| + # FIXME: work on enabling more flags and getting rid of false
|
| + # positives. http://crbug.com/174801.
|
| + '-fsanitize=bounds',
|
| + '-fsanitize=float-divide-by-zero',
|
| + '-fsanitize=integer-divide-by-zero',
|
| + '-fsanitize=null',
|
| + '-fsanitize=object-size',
|
| + '-fsanitize=return',
|
| + '-fsanitize=returns-nonnull-attribute',
|
| + '-fsanitize=shift-exponent',
|
| + '-fsanitize=signed-integer-overflow',
|
| + '-fsanitize=unreachable',
|
| + '-fsanitize=vla-bound',
|
| '-fsanitize-blacklist=<(ubsan_blacklist)',
|
| # Employ the experimental PBQP register allocator to avoid
|
| # slow compilation on files with too many basic blocks.
|
| @@ -4364,7 +4406,7 @@
|
| ['_toolset=="target"', {
|
| 'cflags': [
|
| '-fsanitize=vptr',
|
| - '-fsanitize-blacklist=<(ubsan_blacklist)',
|
| + '-fsanitize-blacklist=<(ubsan_vptr_blacklist)',
|
| ],
|
| 'cflags_cc!': [
|
| '-fno-rtti',
|
| @@ -4551,7 +4593,7 @@
|
| }],
|
| ],
|
| 'conditions': [
|
| - ['release_valgrind_build==0 and order_profiling==0', {
|
| + ['release_valgrind_build==0 and order_profiling==0 and asan==0 and msan==0 and lsan==0 and tsan==0', {
|
| 'target_conditions': [
|
| ['_toolset=="target"', {
|
| 'ldflags': [
|
| @@ -5439,6 +5481,19 @@
|
| },
|
| },
|
| ],
|
| + # This config is used to avoid a problem in ffmpeg, see
|
| + # http://crbug.com/264459.
|
| + ['optimize=="size_no_ltcg"', {
|
| + 'msvs_settings': {
|
| + 'VCCLCompilerTool': {
|
| + # 1, optimizeMinSpace, Minimize Size (/O1)
|
| + 'Optimization': '1',
|
| + # 2, favorSize - Favor small code (/Os)
|
| + 'FavorSizeOrSpeed': '2',
|
| + },
|
| + },
|
| + },
|
| + ],
|
| ['optimize=="speed"', {
|
| 'msvs_settings': {
|
| 'VCCLCompilerTool': {
|
| @@ -5549,6 +5604,7 @@
|
| 4510, # Default constructor could not be generated
|
| 4512, # Assignment operator could not be generated
|
| 4610, # Object can never be instantiated
|
| + 4838, # Narrowing conversion. Doesn't seem to be very useful.
|
| 4996, # 'X': was declared deprecated (for GetVersionEx).
|
|
|
| # These are variable shadowing warnings that are new in VS2015. We
|
| @@ -5636,11 +5692,10 @@
|
| 'conditions': [
|
| # Building with Clang on Windows is a work in progress and very
|
| # experimental. See crbug.com/82385.
|
| + # Keep this in sync with the similar blocks in build/config/compiler/BUILD.gn
|
| ['clang==1', {
|
| 'VCCLCompilerTool': {
|
| 'AdditionalOptions': [
|
| - '-fmsc-version=1800',
|
| -
|
| # Many files use intrinsics without including this header.
|
| # TODO(hans): Fix those files, or move this to sub-GYPs.
|
| '/FIIntrin.h',
|
| @@ -5697,6 +5752,20 @@
|
| ],
|
| },
|
| }],
|
| + ['clang==1 and MSVS_VERSION == "2013"', {
|
| + 'VCCLCompilerTool': {
|
| + 'AdditionalOptions': [
|
| + '-fmsc-version=1800',
|
| + ],
|
| + },
|
| + }],
|
| + ['clang==1 and MSVS_VERSION == "2015"', {
|
| + 'VCCLCompilerTool': {
|
| + 'AdditionalOptions': [
|
| + '-fmsc-version=1900',
|
| + ],
|
| + },
|
| + }],
|
| ],
|
| },
|
| },
|
| @@ -5881,7 +5950,7 @@
|
| ['CXX.host', '<(host_cxx)'],
|
| ],
|
| }],
|
| - ['OS=="linux" and target_arch=="mipsel"', {
|
| + ['OS=="linux" and target_arch=="mipsel" and clang==0', {
|
| 'make_global_settings': [
|
| ['CC', '<(sysroot)/../bin/mipsel-linux-gnu-gcc'],
|
| ['CXX', '<(sysroot)/../bin/mipsel-linux-gnu-g++'],
|
| @@ -5974,27 +6043,6 @@
|
| ],
|
| },
|
| }],
|
| - ['use_lto==1 and clang==1 and (target_arch=="ia32" or target_arch=="x64")', {
|
| - 'target_defaults': {
|
| - 'target_conditions': [
|
| - # Required for third_party/zlib/crc_folding.c and various other code
|
| - # that uses SSE. TODO(pcc): Remove this once we properly support
|
| - # subtarget specific code generation in LLVM.
|
| - ['_toolset=="target"', {
|
| - 'ldflags': [
|
| - '-Wl,-plugin-opt,mcpu=corei7-avx',
|
| - ],
|
| - }],
|
| - ['_toolset=="target" and _type!="static_library"', {
|
| - 'xcode_settings': {
|
| - 'OTHER_LDFLAGS': [
|
| - '-Wl,-mcpu,corei7-avx',
|
| - ],
|
| - },
|
| - }],
|
| - ],
|
| - },
|
| - }],
|
| ['use_lto==1 and clang==1 and target_arch=="arm"', {
|
| 'target_defaults': {
|
| 'target_conditions': [
|
| @@ -6036,65 +6084,19 @@
|
| 'target_conditions': [
|
| ['_toolset=="target"', {
|
| 'cflags': [
|
| - '-fsanitize=cfi-vptr',
|
| - ],
|
| - 'ldflags': [
|
| - '-fsanitize=cfi-vptr',
|
| - ],
|
| - 'xcode_settings': {
|
| - 'OTHER_CFLAGS': [
|
| - '-fsanitize=cfi-vptr',
|
| - ],
|
| - },
|
| - }],
|
| - ['_toolset=="target" and _type!="static_library"', {
|
| - 'xcode_settings': {
|
| - 'OTHER_LDFLAGS': [
|
| - '-fsanitize=cfi-vptr',
|
| - ],
|
| - },
|
| - }],
|
| - ],
|
| - },
|
| - }],
|
| - ['cfi_derived_cast==1', {
|
| - 'target_defaults': {
|
| - 'target_conditions': [
|
| - ['_toolset=="target"', {
|
| - 'cflags': [
|
| - '-fsanitize=cfi-derived-cast',
|
| - ],
|
| - 'ldflags': [
|
| + '-fsanitize=cfi-vcall',
|
| '-fsanitize=cfi-derived-cast',
|
| - ],
|
| - 'xcode_settings': {
|
| - 'OTHER_CFLAGS': [
|
| - '-fsanitize=cfi-derived-cast',
|
| - ],
|
| - },
|
| - }],
|
| - ['_toolset=="target" and _type!="static_library"', {
|
| - 'xcode_settings': {
|
| - 'OTHER_LDFLAGS': [
|
| - '-fsanitize=cfi-derived-cast',
|
| - ],
|
| - },
|
| - }],
|
| - ],
|
| - },
|
| - }],
|
| - ['cfi_unrelated_cast==1', {
|
| - 'target_defaults': {
|
| - 'target_conditions': [
|
| - ['_toolset=="target"', {
|
| - 'cflags': [
|
| '-fsanitize=cfi-unrelated-cast',
|
| ],
|
| 'ldflags': [
|
| + '-fsanitize=cfi-vcall',
|
| + '-fsanitize=cfi-derived-cast',
|
| '-fsanitize=cfi-unrelated-cast',
|
| ],
|
| 'xcode_settings': {
|
| 'OTHER_CFLAGS': [
|
| + '-fsanitize=cfi-vcall',
|
| + '-fsanitize=cfi-derived-cast',
|
| '-fsanitize=cfi-unrelated-cast',
|
| ],
|
| },
|
| @@ -6102,6 +6104,8 @@
|
| ['_toolset=="target" and _type!="static_library"', {
|
| 'xcode_settings': {
|
| 'OTHER_LDFLAGS': [
|
| + '-fsanitize=cfi-vcall',
|
| + '-fsanitize=cfi-derived-cast',
|
| '-fsanitize=cfi-unrelated-cast',
|
| ],
|
| },
|
| @@ -6109,7 +6113,7 @@
|
| ],
|
| },
|
| }],
|
| - ['cfi_vptr==1 or cfi_derived_cast==1 or cfi_unrelated_cast==1', {
|
| + ['cfi_vptr==1', {
|
| 'target_defaults': {
|
| 'target_conditions': [
|
| ['_toolset=="target"', {
|
|
|