| OLD | NEW |
| 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 # IMPORTANT: | 5 # IMPORTANT: |
| 6 # Please don't directly include this file if you are building via gyp_chromium, | 6 # Please don't directly include this file if you are building via gyp_chromium, |
| 7 # since gyp_chromium is automatically forcing its inclusion. | 7 # since gyp_chromium is automatically forcing its inclusion. |
| 8 { | 8 { |
| 9 # Variables expected to be overriden on the GYP command line (-D) or by | 9 # Variables expected to be overriden on the GYP command line (-D) or by |
| 10 # ~/.gyp/include.gypi. | 10 # ~/.gyp/include.gypi. |
| (...skipping 373 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 384 # Run tools/clang/scripts/update.sh to make sure they are compiled. | 384 # Run tools/clang/scripts/update.sh to make sure they are compiled. |
| 385 # This causes 'clang_chrome_plugins_flags' to be set. | 385 # This causes 'clang_chrome_plugins_flags' to be set. |
| 386 # Has no effect if 'clang' is not set as well. | 386 # Has no effect if 'clang' is not set as well. |
| 387 'clang_use_chrome_plugins%': 1, | 387 'clang_use_chrome_plugins%': 1, |
| 388 | 388 |
| 389 # Enable building with ASAN (Clang's -fsanitize=address option). | 389 # Enable building with ASAN (Clang's -fsanitize=address option). |
| 390 # -fsanitize=address only works with clang, but asan=1 implies clang=1 | 390 # -fsanitize=address only works with clang, but asan=1 implies clang=1 |
| 391 # See https://sites.google.com/a/chromium.org/dev/developers/testing/addre
sssanitizer | 391 # See https://sites.google.com/a/chromium.org/dev/developers/testing/addre
sssanitizer |
| 392 'asan%': 0, | 392 'asan%': 0, |
| 393 'asan_blacklist%': '<(PRODUCT_DIR)/../../tools/memory/asan/blacklist.txt', | 393 'asan_blacklist%': '<(PRODUCT_DIR)/../../tools/memory/asan/blacklist.txt', |
| 394 # Enable coverage gathering instrumentation in ASan. This flag also | 394 # Enable coverage gathering instrumentation in sanitizer tools. This flag |
| 395 # controls coverage granularity (1 for function-level coverage, 2 for | 395 # also controls coverage granularity (1 for function-level coverage, 2 |
| 396 # block-level coverage). | 396 # for block-level coverage). |
| 397 'sanitizer_coverage%': 0, |
| 398 # Deprecated, only works if |sanitizer_coverage| isn't set. |
| 399 # TODO(glider): remove this flag. |
| 397 'asan_coverage%': 0, | 400 'asan_coverage%': 0, |
| 398 # Enable intra-object-overflow detection in ASan (experimental). | 401 # Enable intra-object-overflow detection in ASan (experimental). |
| 399 'asan_field_padding%': 0, | 402 'asan_field_padding%': 0, |
| 400 | 403 |
| 401 # Enable Chromium overrides of the default configurations for various | 404 # Enable Chromium overrides of the default configurations for various |
| 402 # dynamic tools (like ASan). | 405 # dynamic tools (like ASan). |
| 403 'use_sanitizer_options%': 0, | 406 'use_sanitizer_options%': 0, |
| 404 | 407 |
| 405 # Enable building with SyzyAsan. | 408 # Enable building with SyzyAsan. |
| 406 # See https://code.google.com/p/sawbuck/wiki/SyzyASanHowTo | 409 # See https://code.google.com/p/sawbuck/wiki/SyzyASanHowTo |
| (...skipping 705 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1112 'chromium_win_pch%': '<(chromium_win_pch)', | 1115 'chromium_win_pch%': '<(chromium_win_pch)', |
| 1113 'configuration_policy%': '<(configuration_policy)', | 1116 'configuration_policy%': '<(configuration_policy)', |
| 1114 'safe_browsing%': '<(safe_browsing)', | 1117 'safe_browsing%': '<(safe_browsing)', |
| 1115 'enable_web_speech%': '<(enable_web_speech)', | 1118 'enable_web_speech%': '<(enable_web_speech)', |
| 1116 'notifications%': '<(notifications)', | 1119 'notifications%': '<(notifications)', |
| 1117 'clang_use_chrome_plugins%': '<(clang_use_chrome_plugins)', | 1120 'clang_use_chrome_plugins%': '<(clang_use_chrome_plugins)', |
| 1118 'mac_want_real_dsym%': '<(mac_want_real_dsym)', | 1121 'mac_want_real_dsym%': '<(mac_want_real_dsym)', |
| 1119 'asan%': '<(asan)', | 1122 'asan%': '<(asan)', |
| 1120 'asan_blacklist%': '<(asan_blacklist)', | 1123 'asan_blacklist%': '<(asan_blacklist)', |
| 1121 'asan_coverage%': '<(asan_coverage)', | 1124 'asan_coverage%': '<(asan_coverage)', |
| 1125 'sanitizer_coverage%': '<(sanitizer_coverage)', |
| 1122 'asan_field_padding%': '<(asan_field_padding)', | 1126 'asan_field_padding%': '<(asan_field_padding)', |
| 1123 'use_sanitizer_options%': '<(use_sanitizer_options)', | 1127 'use_sanitizer_options%': '<(use_sanitizer_options)', |
| 1124 'syzyasan%': '<(syzyasan)', | 1128 'syzyasan%': '<(syzyasan)', |
| 1125 'syzygy_optimize%': '<(syzygy_optimize)', | 1129 'syzygy_optimize%': '<(syzygy_optimize)', |
| 1126 'lsan%': '<(lsan)', | 1130 'lsan%': '<(lsan)', |
| 1127 'msan%': '<(msan)', | 1131 'msan%': '<(msan)', |
| 1128 'msan_blacklist%': '<(msan_blacklist)', | 1132 'msan_blacklist%': '<(msan_blacklist)', |
| 1129 'msan_track_origins%': '<(msan_track_origins)', | 1133 'msan_track_origins%': '<(msan_track_origins)', |
| 1130 'tsan%': '<(tsan)', | 1134 'tsan%': '<(tsan)', |
| 1131 'tsan_blacklist%': '<(tsan_blacklist)', | 1135 'tsan_blacklist%': '<(tsan_blacklist)', |
| (...skipping 529 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1661 'android_host_arch%': '<!(uname -m)', | 1665 'android_host_arch%': '<!(uname -m)', |
| 1662 # Android API-level of the SDK used for compilation. | 1666 # Android API-level of the SDK used for compilation. |
| 1663 'android_sdk_version%': '21', | 1667 'android_sdk_version%': '21', |
| 1664 'android_sdk_build_tools_version%': '21.0.1', | 1668 'android_sdk_build_tools_version%': '21.0.1', |
| 1665 'host_os%': "<!(uname -s | sed -e 's/Linux/linux/;s/Darwin/mac/')", | 1669 'host_os%': "<!(uname -s | sed -e 's/Linux/linux/;s/Darwin/mac/')", |
| 1666 }, | 1670 }, |
| 1667 # Copy conditionally-set variables out one scope. | 1671 # Copy conditionally-set variables out one scope. |
| 1668 'android_ndk_root%': '<(android_ndk_root)', | 1672 'android_ndk_root%': '<(android_ndk_root)', |
| 1669 'android_sdk_root%': '<(android_sdk_root)', | 1673 'android_sdk_root%': '<(android_sdk_root)', |
| 1670 'android_sdk_version%': '<(android_sdk_version)', | 1674 'android_sdk_version%': '<(android_sdk_version)', |
| 1671 'android_libcpp_root': '<(android_ndk_root)/sources/cxx-stl/llvm-libc+
+', | 1675 'android_stlport_root': '<(android_ndk_root)/sources/cxx-stl/stlport', |
| 1672 'host_os%': '<(host_os)', | 1676 'host_os%': '<(host_os)', |
| 1673 | 1677 |
| 1674 'android_sdk%': '<(android_sdk_root)/platforms/android-<(android_sdk_v
ersion)', | 1678 'android_sdk%': '<(android_sdk_root)/platforms/android-<(android_sdk_v
ersion)', |
| 1675 # Android SDK build tools (e.g. dx, aapt, aidl) | 1679 # Android SDK build tools (e.g. dx, aapt, aidl) |
| 1676 'android_sdk_tools%': '<(android_sdk_root)/build-tools/<(android_sdk_b
uild_tools_version)', | 1680 'android_sdk_tools%': '<(android_sdk_root)/build-tools/<(android_sdk_b
uild_tools_version)', |
| 1677 | 1681 |
| 1678 # Android API level 14 is ICS (Android 4.0) which is the minimum | 1682 # Android API level 14 is ICS (Android 4.0) which is the minimum |
| 1679 # platform requirement for Chrome on Android, we use it for native | 1683 # platform requirement for Chrome on Android, we use it for native |
| 1680 # code compilation. | 1684 # code compilation. |
| 1681 'conditions': [ | 1685 'conditions': [ |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1738 'android_sdk_root%': '<(android_sdk_root)', | 1742 'android_sdk_root%': '<(android_sdk_root)', |
| 1739 'android_sdk_version%': '<(android_sdk_version)', | 1743 'android_sdk_version%': '<(android_sdk_version)', |
| 1740 'android_toolchain%': '<(android_toolchain)', | 1744 'android_toolchain%': '<(android_toolchain)', |
| 1741 | 1745 |
| 1742 'android_ndk_include': '<(android_ndk_sysroot)/usr/include', | 1746 'android_ndk_include': '<(android_ndk_sysroot)/usr/include', |
| 1743 'android_ndk_lib': '<(android_ndk_sysroot)/<(android_ndk_lib_dir)', | 1747 'android_ndk_lib': '<(android_ndk_sysroot)/<(android_ndk_lib_dir)', |
| 1744 'android_sdk_tools%': '<(android_sdk_tools)', | 1748 'android_sdk_tools%': '<(android_sdk_tools)', |
| 1745 'android_sdk%': '<(android_sdk)', | 1749 'android_sdk%': '<(android_sdk)', |
| 1746 'android_sdk_jar%': '<(android_sdk)/android.jar', | 1750 'android_sdk_jar%': '<(android_sdk)/android.jar', |
| 1747 | 1751 |
| 1748 'android_libcpp_root': '<(android_libcpp_root)', | 1752 'android_stlport_root': '<(android_stlport_root)', |
| 1749 'android_libcpp_include': '<(android_libcpp_root)/libcxx/include', | 1753 'android_stlport_include': '<(android_stlport_root)/stlport', |
| 1750 'android_libcpp_libs_dir': '<(android_libcpp_root)/libs/<(android_app_ab
i)', | 1754 'android_stlport_libs_dir': '<(android_stlport_root)/libs/<(android_app_
abi)', |
| 1751 | |
| 1752 'host_os%': '<(host_os)', | 1755 'host_os%': '<(host_os)', |
| 1753 | 1756 |
| 1754 # Location of the "objcopy" binary, used by both gyp and scripts. | 1757 # Location of the "objcopy" binary, used by both gyp and scripts. |
| 1755 'android_objcopy%' : '<!(/bin/echo -n <(android_toolchain)/*-objcopy)', | 1758 'android_objcopy%' : '<!(/bin/echo -n <(android_toolchain)/*-objcopy)', |
| 1756 | 1759 |
| 1757 # Location of the "strip" binary, used by both gyp and scripts. | 1760 # Location of the "strip" binary, used by both gyp and scripts. |
| 1758 'android_strip%' : '<!(/bin/echo -n <(android_toolchain)/*-strip)', | 1761 'android_strip%' : '<!(/bin/echo -n <(android_toolchain)/*-strip)', |
| 1759 | 1762 |
| 1760 # Location of the "readelf" binary. | 1763 # Location of the "readelf" binary. |
| 1761 'android_readelf%' : '<!(/bin/echo -n <(android_toolchain)/*-readelf)', | 1764 'android_readelf%' : '<!(/bin/echo -n <(android_toolchain)/*-readelf)', |
| (...skipping 297 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2059 }], | 2062 }], |
| 2060 ['OS=="mac" or OS=="ios"', { | 2063 ['OS=="mac" or OS=="ios"', { |
| 2061 'grit_defines': ['-D', 'scale_factors=2x'], | 2064 'grit_defines': ['-D', 'scale_factors=2x'], |
| 2062 }], | 2065 }], |
| 2063 ['OS == "ios"', { | 2066 ['OS == "ios"', { |
| 2064 'variables': { | 2067 'variables': { |
| 2065 'enable_coverage%': 0, | 2068 'enable_coverage%': 0, |
| 2066 }, | 2069 }, |
| 2067 'grit_defines': [ | 2070 'grit_defines': [ |
| 2068 '-t', 'ios', | 2071 '-t', 'ios', |
| 2069 # iOS uses a whitelist to filter resources. | |
| 2070 '-w', '<(DEPTH)/build/ios/grit_whitelist.txt', | |
| 2071 '--no-output-all-resource-defines', | 2072 '--no-output-all-resource-defines', |
| 2072 ], | 2073 ], |
| 2074 # iOS uses a whitelist to filter resources. |
| 2075 'grit_whitelist%': '<(DEPTH)/build/ios/grit_whitelist.txt', |
| 2073 | 2076 |
| 2074 # Enable host builds when generating with ninja-ios. | 2077 # Enable host builds when generating with ninja-ios. |
| 2075 'conditions': [ | 2078 'conditions': [ |
| 2076 ['"<(GENERATOR)"=="ninja"', { | 2079 ['"<(GENERATOR)"=="ninja"', { |
| 2077 'host_os%': "mac", | 2080 'host_os%': "mac", |
| 2078 }], | 2081 }], |
| 2079 | 2082 |
| 2080 # TODO(sdefresne): Remove the target_subarch check once Apple has | |
| 2081 # upstreamed the support for "arm64". http://crbug.com/341453 | |
| 2082 # TODO(eugenebut): Remove enable_coverage check once | 2083 # TODO(eugenebut): Remove enable_coverage check once |
| 2083 # libclang_rt.profile_ios.a is bundled with Chromium's clang. | 2084 # libclang_rt.profile_ios.a is bundled with Chromium's clang. |
| 2084 # http://crbug.com/450379 | 2085 # http://crbug.com/450379 |
| 2085 ['target_subarch!="arm32" or enable_coverage or "<(GENERATOR)"=="xcode
"', { | 2086 ['enable_coverage or "<(GENERATOR)"=="xcode"', { |
| 2086 'clang_xcode%': 1, | 2087 'clang_xcode%': 1, |
| 2087 }], | 2088 }], |
| 2088 ], | 2089 ], |
| 2089 }], | 2090 }], |
| 2090 ['enable_extensions==1', { | 2091 ['enable_extensions==1', { |
| 2091 'grit_defines': ['-D', 'enable_extensions'], | 2092 'grit_defines': ['-D', 'enable_extensions'], |
| 2092 }], | 2093 }], |
| 2093 ['enable_plugins!=0', { | 2094 ['enable_plugins!=0', { |
| 2094 'grit_defines': ['-D', 'enable_plugins'], | 2095 'grit_defines': ['-D', 'enable_plugins'], |
| 2095 }], | 2096 }], |
| (...skipping 585 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2681 'defines': ['SYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE'], | 2682 'defines': ['SYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE'], |
| 2682 }], | 2683 }], |
| 2683 ['use_udev==1', { | 2684 ['use_udev==1', { |
| 2684 'defines': ['USE_UDEV'], | 2685 'defines': ['USE_UDEV'], |
| 2685 }], | 2686 }], |
| 2686 ['fastbuild!=0', { | 2687 ['fastbuild!=0', { |
| 2687 'xcode_settings': { | 2688 'xcode_settings': { |
| 2688 'GCC_GENERATE_DEBUGGING_SYMBOLS': 'NO', | 2689 'GCC_GENERATE_DEBUGGING_SYMBOLS': 'NO', |
| 2689 }, | 2690 }, |
| 2690 'conditions': [ | 2691 'conditions': [ |
| 2691 ['clang==1 and asan==0 and msan==0 and tsan==0 and ubsan_vptr==0', { | 2692 ['OS=="win" and fastbuild==2', { |
| 2692 # Clang creates chubby debug information, which makes linking very | 2693 # Completely disable debug information. |
| 2693 # slow. For now, don't create debug information with clang. See | 2694 'msvs_settings': { |
| 2694 # http://crbug.com/70000 | 2695 'VCLinkerTool': { |
| 2695 'conditions': [ | 2696 'GenerateDebugInformation': 'false', |
| 2696 ['OS=="linux"', { | 2697 }, |
| 2697 'variables': { | 2698 'VCCLCompilerTool': { |
| 2698 'debug_extra_cflags': '-g0', | 2699 'DebugInformationFormat': '0', |
| 2699 }, | 2700 }, |
| 2700 }], | 2701 }, |
| 2701 # Android builds symbols on release by default, disable them. | 2702 }], |
| 2702 ['OS=="android"', { | 2703 ['OS=="win" and fastbuild==1', { |
| 2703 'variables': { | 2704 'msvs_settings': { |
| 2704 'debug_extra_cflags': '-g0', | 2705 'VCLinkerTool': { |
| 2705 'release_extra_cflags': '-g0', | 2706 # This tells the linker to generate .pdbs, so that |
| 2706 }, | 2707 # we can get meaningful stack traces. |
| 2707 }], | 2708 'GenerateDebugInformation': 'true', |
| 2708 ], | 2709 }, |
| 2709 }, { # else clang!=1 | 2710 'VCCLCompilerTool': { |
| 2710 'conditions': [ | 2711 # No debug info to be generated by compiler. |
| 2711 ['OS=="win" and fastbuild==2', { | 2712 'DebugInformationFormat': '0', |
| 2712 # Completely disable debug information. | 2713 }, |
| 2713 'msvs_settings': { | 2714 }, |
| 2714 'VCLinkerTool': { | 2715 }], |
| 2715 'GenerateDebugInformation': 'false', | 2716 ['(OS=="android" or OS=="linux") and fastbuild==2', { |
| 2716 }, | 2717 'variables': { 'debug_extra_cflags': '-g0', }, |
| 2717 'VCCLCompilerTool': { | 2718 }], |
| 2718 'DebugInformationFormat': '0', | 2719 ['(OS=="android" or OS=="linux") and fastbuild==1', { |
| 2719 }, | 2720 # TODO(thakis): Change this to -g1 once http://crbug.com/456947 is |
| 2720 }, | 2721 # fixed. |
| 2721 }], | 2722 'variables': { 'debug_extra_cflags': '-g0', }, |
| 2722 ['OS=="win" and fastbuild==1', { | 2723 }], |
| 2723 'msvs_settings': { | 2724 # Android builds symbols on release by default, disable them. |
| 2724 'VCLinkerTool': { | 2725 ['OS=="android" and fastbuild==2', { |
| 2725 # This tells the linker to generate .pdbs, so that | 2726 'variables': { 'release_extra_cflags': '-g0', }, |
| 2726 # we can get meaningful stack traces. | 2727 }], |
| 2727 'GenerateDebugInformation': 'true', | 2728 ['OS=="android" and fastbuild==1', { |
| 2728 }, | 2729 # TODO(thakis): Change this to -g1 once http://crbug.com/456947 is |
| 2729 'VCCLCompilerTool': { | 2730 # fixed. |
| 2730 # No debug info to be generated by compiler. | 2731 'variables': { 'release_extra_cflags': '-g0', }, |
| 2731 'DebugInformationFormat': '0', | 2732 }], |
| 2732 }, | |
| 2733 }, | |
| 2734 }], | |
| 2735 ['OS=="linux" and fastbuild==2', { | |
| 2736 'variables': { | |
| 2737 'debug_extra_cflags': '-g0', | |
| 2738 }, | |
| 2739 }], | |
| 2740 ['OS=="linux" and fastbuild==1', { | |
| 2741 'variables': { | |
| 2742 'debug_extra_cflags': '-g1', | |
| 2743 }, | |
| 2744 }], | |
| 2745 ['OS=="android" and fastbuild==2', { | |
| 2746 'variables': { | |
| 2747 'debug_extra_cflags': '-g0', | |
| 2748 'release_extra_cflags': '-g0', | |
| 2749 }, | |
| 2750 }], | |
| 2751 ['OS=="android" and fastbuild==1', { | |
| 2752 'variables': { | |
| 2753 'debug_extra_cflags': '-g1', | |
| 2754 'release_extra_cflags': '-g1', | |
| 2755 }, | |
| 2756 }], | |
| 2757 ], | |
| 2758 }], # clang!=1 | |
| 2759 ], | 2733 ], |
| 2760 }], # fastbuild!=0 | 2734 }], # fastbuild!=0 |
| 2761 ['dont_embed_build_metadata==1', { | 2735 ['dont_embed_build_metadata==1', { |
| 2762 'defines': [ | 2736 'defines': [ |
| 2763 'DONT_EMBED_BUILD_METADATA', | 2737 'DONT_EMBED_BUILD_METADATA', |
| 2764 ], | 2738 ], |
| 2765 }], # dont_embed_build_metadata==1 | 2739 }], # dont_embed_build_metadata==1 |
| 2766 ['dcheck_always_on!=0', { | 2740 ['dcheck_always_on!=0', { |
| 2767 'defines': ['DCHECK_ALWAYS_ON=1'], | 2741 'defines': ['DCHECK_ALWAYS_ON=1'], |
| 2768 }], # dcheck_always_on!=0 | 2742 }], # dcheck_always_on!=0 |
| (...skipping 768 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3537 }], | 3511 }], |
| 3538 # TODO(jochen): Enable this on chromeos on arm. http://crbug.com/356580 | 3512 # TODO(jochen): Enable this on chromeos on arm. http://crbug.com/356580 |
| 3539 ['os_posix==1 and disable_fatal_linker_warnings==0 and use_evdev_gestures==0
and (chromeos==0 or target_arch!="arm")', { | 3513 ['os_posix==1 and disable_fatal_linker_warnings==0 and use_evdev_gestures==0
and (chromeos==0 or target_arch!="arm")', { |
| 3540 'target_defaults': { | 3514 'target_defaults': { |
| 3541 'ldflags': [ | 3515 'ldflags': [ |
| 3542 '-Wl,--fatal-warnings', | 3516 '-Wl,--fatal-warnings', |
| 3543 ], | 3517 ], |
| 3544 }, | 3518 }, |
| 3545 }], | 3519 }], |
| 3546 # TODO(thakis): Enable this everywhere. http://crbug.com/371125 | 3520 # TODO(thakis): Enable this everywhere. http://crbug.com/371125 |
| 3547 ['(OS=="linux" or OS=="android") and asan==0 and msan==0 and tsan==0 and ubs
an==0 and ubsan_vptr==0 and use_ozone!=1', { | 3521 ['(OS=="linux" or OS=="android") and asan==0 and msan==0 and tsan==0 and ubs
an==0 and ubsan_vptr==0', { |
| 3548 'target_defaults': { | 3522 'target_defaults': { |
| 3549 'ldflags': [ | 3523 'ldflags': [ |
| 3550 '-Wl,-z,defs', | 3524 '-Wl,-z,defs', |
| 3551 ], | 3525 ], |
| 3552 }, | 3526 }, |
| 3553 }], | 3527 }], |
| 3554 ['os_posix==1 and chromeos==0', { | 3528 ['os_posix==1 and chromeos==0', { |
| 3555 # Chrome OS enables -fstack-protector-strong via its build wrapper, | 3529 # Chrome OS enables -fstack-protector-strong via its build wrapper, |
| 3556 # and we want to avoid overriding this, so stack-protector is only | 3530 # and we want to avoid overriding this, so stack-protector is only |
| 3557 # enabled when not building on Chrome OS. | 3531 # enabled when not building on Chrome OS. |
| (...skipping 482 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4040 }], | 4014 }], |
| 4041 ['target_arch=="arm64"', { | 4015 ['target_arch=="arm64"', { |
| 4042 'target_conditions': [ | 4016 'target_conditions': [ |
| 4043 ['_toolset=="target"', { | 4017 ['_toolset=="target"', { |
| 4044 'conditions': [ | 4018 'conditions': [ |
| 4045 ['OS=="android"', { | 4019 ['OS=="android"', { |
| 4046 'cflags!': [ | 4020 'cflags!': [ |
| 4047 '-fstack-protector', # stack protector is always enabled
on arm64. | 4021 '-fstack-protector', # stack protector is always enabled
on arm64. |
| 4048 ], | 4022 ], |
| 4049 }], | 4023 }], |
| 4024 # TODO: Remove webview test once webview fully compiles from |
| 4025 # Chromium. crbug.com/440793 |
| 4026 ['OS=="android" and android_webview_build==0', { |
| 4027 'ldflags': [ |
| 4028 '-fuse-ld=gold', |
| 4029 ], |
| 4030 }], |
| 4050 ], | 4031 ], |
| 4051 }], | 4032 }], |
| 4052 ], | 4033 ], |
| 4053 }], | 4034 }], |
| 4054 ['target_arch=="mipsel"', { | 4035 ['target_arch=="mipsel"', { |
| 4055 'target_conditions': [ | 4036 'target_conditions': [ |
| 4056 ['_toolset=="target"', { | 4037 ['_toolset=="target"', { |
| 4057 'conditions': [ | 4038 'conditions': [ |
| 4058 ['android_webview_build==0 and mips_arch_variant=="r6"', { | 4039 ['android_webview_build==0 and mips_arch_variant=="r6"', { |
| 4059 'cflags': ['-mips32r6', '-Wa,-mips32r6'], | 4040 'cflags': ['-mips32r6', '-Wa,-mips32r6'], |
| (...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4265 ], | 4246 ], |
| 4266 'ldflags': [ | 4247 'ldflags': [ |
| 4267 '-fsanitize=vptr', | 4248 '-fsanitize=vptr', |
| 4268 ], | 4249 ], |
| 4269 'defines': [ | 4250 'defines': [ |
| 4270 'UNDEFINED_SANITIZER', | 4251 'UNDEFINED_SANITIZER', |
| 4271 ], | 4252 ], |
| 4272 }], | 4253 }], |
| 4273 ], | 4254 ], |
| 4274 }], | 4255 }], |
| 4275 ['asan_coverage!=0', { | 4256 ['asan_coverage!=0 and sanitizer_coverage==0', { |
| 4276 'target_conditions': [ | 4257 'target_conditions': [ |
| 4277 ['_toolset=="target"', { | 4258 ['_toolset=="target"', { |
| 4278 'cflags': [ | 4259 'cflags': [ |
| 4279 '-fsanitize-coverage=<(asan_coverage)', | 4260 '-fsanitize-coverage=<(asan_coverage)', |
| 4280 ], | 4261 ], |
| 4262 'defines': [ |
| 4263 'SANITIZER_COVERAGE', |
| 4264 ], |
| 4281 }], | 4265 }], |
| 4282 ], | 4266 ], |
| 4283 }], | 4267 }], |
| 4268 ['sanitizer_coverage!=0', { |
| 4269 'target_conditions': [ |
| 4270 ['_toolset=="target"', { |
| 4271 'cflags': [ |
| 4272 '-fsanitize-coverage=<(sanitizer_coverage)', |
| 4273 ], |
| 4274 'defines': [ |
| 4275 'SANITIZER_COVERAGE', |
| 4276 ], |
| 4277 }], |
| 4278 ], |
| 4279 }], |
| 4284 ['asan_field_padding!=0', { | 4280 ['asan_field_padding!=0', { |
| 4285 'target_conditions': [ | 4281 'target_conditions': [ |
| 4286 ['_toolset=="target"', { | 4282 ['_toolset=="target"', { |
| 4287 'cflags': [ | 4283 'cflags': [ |
| 4288 '-fsanitize-address-field-padding=<(asan_field_padding)', | 4284 '-fsanitize-address-field-padding=<(asan_field_padding)', |
| 4289 ], | 4285 ], |
| 4290 }], | 4286 }], |
| 4291 ], | 4287 ], |
| 4292 }], | 4288 }], |
| 4293 ['lsan==1', { | 4289 ['lsan==1', { |
| (...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4399 'ldflags': [ '-fuse-ld=gold', ], | 4395 'ldflags': [ '-fuse-ld=gold', ], |
| 4400 | 4396 |
| 4401 'target_conditions': [ | 4397 'target_conditions': [ |
| 4402 ['_toolset=="target"', { | 4398 ['_toolset=="target"', { |
| 4403 'ldflags': [ | 4399 'ldflags': [ |
| 4404 # Experimentation found that using four linking threads | 4400 # Experimentation found that using four linking threads |
| 4405 # saved ~20% of link time. | 4401 # saved ~20% of link time. |
| 4406 # https://groups.google.com/a/chromium.org/group/chromium-dev/
browse_thread/thread/281527606915bb36 | 4402 # https://groups.google.com/a/chromium.org/group/chromium-dev/
browse_thread/thread/281527606915bb36 |
| 4407 # Only apply this to the target linker, since the host | 4403 # Only apply this to the target linker, since the host |
| 4408 # linker might not be gold, but isn't used much anyway. | 4404 # linker might not be gold, but isn't used much anyway. |
| 4409 '-Wl,--threads', | 4405 # TODO(raymes): Disable threading because gold is frequently |
| 4410 '-Wl,--thread-count=4', | 4406 # crashing on the bots: crbug.com/161942. |
| 4407 # '-Wl,--threads', |
| 4408 # '-Wl,--thread-count=4', |
| 4411 ], | 4409 ], |
| 4412 }], | 4410 }], |
| 4413 ], | 4411 ], |
| 4414 'conditions': [ | 4412 'conditions': [ |
| 4415 ['release_valgrind_build==0 and order_profiling==0', { | 4413 ['release_valgrind_build==0 and order_profiling==0', { |
| 4416 'target_conditions': [ | 4414 'target_conditions': [ |
| 4417 ['_toolset=="target"', { | 4415 ['_toolset=="target"', { |
| 4418 'ldflags': [ | 4416 'ldflags': [ |
| 4419 '-Wl,--icf=safe', | 4417 '-Wl,--icf=safe', |
| 4420 ], | 4418 ], |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4492 ['OS=="android"', { | 4490 ['OS=="android"', { |
| 4493 'variables': { | 4491 'variables': { |
| 4494 # This is a unique identifier for a given build. It's used for | 4492 # This is a unique identifier for a given build. It's used for |
| 4495 # identifying various build artifacts corresponding to a particular | 4493 # identifying various build artifacts corresponding to a particular |
| 4496 # build of chrome (e.g. where to find archived symbols). | 4494 # build of chrome (e.g. where to find archived symbols). |
| 4497 'chrome_build_id%': '', | 4495 'chrome_build_id%': '', |
| 4498 'conditions': [ | 4496 'conditions': [ |
| 4499 # Figure this out early since it needs symbols from libgcc.a, so it | 4497 # Figure this out early since it needs symbols from libgcc.a, so it |
| 4500 # has to be before that in the set of libraries. | 4498 # has to be before that in the set of libraries. |
| 4501 ['component=="shared_library"', { | 4499 ['component=="shared_library"', { |
| 4502 'android_libcpp_library': 'c++_shared', | 4500 'android_stlport_library': 'stlport_shared', |
| 4503 }, { | 4501 }, { |
| 4504 'android_libcpp_library': 'c++_static', | 4502 'android_stlport_library': 'stlport_static', |
| 4505 }], | 4503 }], |
| 4506 ], | 4504 ], |
| 4507 | 4505 |
| 4508 # Placing this variable here prevents from forking libvpx, used | 4506 # Placing this variable here prevents from forking libvpx, used |
| 4509 # by remoting. Remoting is off, so it needn't built, | 4507 # by remoting. Remoting is off, so it needn't built, |
| 4510 # so forking it's deps seems like overkill. | 4508 # so forking it's deps seems like overkill. |
| 4511 # But this variable need defined to properly run gyp. | 4509 # But this variable need defined to properly run gyp. |
| 4512 # A proper solution is to have an OS==android conditional | 4510 # A proper solution is to have an OS==android conditional |
| 4513 # in third_party/libvpx/libvpx.gyp to define it. | 4511 # in third_party/libvpx/libvpx.gyp to define it. |
| 4514 'libvpx_path': 'lib/linux/arm', | 4512 'libvpx_path': 'lib/linux/arm', |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4578 '-g', | 4576 '-g', |
| 4579 '-fstack-protector', | 4577 '-fstack-protector', |
| 4580 '-fno-short-enums', | 4578 '-fno-short-enums', |
| 4581 '-finline-limit=64', | 4579 '-finline-limit=64', |
| 4582 '-Wa,--noexecstack', | 4580 '-Wa,--noexecstack', |
| 4583 '<@(release_extra_cflags)', | 4581 '<@(release_extra_cflags)', |
| 4584 ], | 4582 ], |
| 4585 'defines': [ | 4583 'defines': [ |
| 4586 'ANDROID', | 4584 'ANDROID', |
| 4587 '__GNU_SOURCE=1', # Necessary for clone() | 4585 '__GNU_SOURCE=1', # Necessary for clone() |
| 4586 'USE_STLPORT=1', |
| 4587 '_STLP_USE_PTR_SPECIALIZATIONS=1', |
| 4588 'CHROME_BUILD_ID="<(chrome_build_id)"', | 4588 'CHROME_BUILD_ID="<(chrome_build_id)"', |
| 4589 ], | 4589 ], |
| 4590 'ldflags!': [ | 4590 'ldflags!': [ |
| 4591 '-pthread', # Not supported by Android toolchain. | 4591 '-pthread', # Not supported by Android toolchain. |
| 4592 ], | 4592 ], |
| 4593 'ldflags': [ | 4593 'ldflags': [ |
| 4594 '-Wl,--no-undefined', | 4594 '-Wl,--no-undefined', |
| 4595 ], | 4595 ], |
| 4596 'conditions': [ | 4596 'conditions': [ |
| 4597 ['component=="static_library"', { | 4597 ['component=="static_library"', { |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4651 'HAVE_SYS_UIO_H', | 4651 'HAVE_SYS_UIO_H', |
| 4652 ], | 4652 ], |
| 4653 'cflags': [ | 4653 'cflags': [ |
| 4654 '--sysroot=<(android_ndk_sysroot)', | 4654 '--sysroot=<(android_ndk_sysroot)', |
| 4655 ], | 4655 ], |
| 4656 'ldflags': [ | 4656 'ldflags': [ |
| 4657 '--sysroot=<(android_ndk_sysroot)', | 4657 '--sysroot=<(android_ndk_sysroot)', |
| 4658 '-nostdlib', | 4658 '-nostdlib', |
| 4659 ], | 4659 ], |
| 4660 'libraries': [ | 4660 'libraries': [ |
| 4661 '-l<(android_libcpp_library)', | 4661 '-l<(android_stlport_library)', |
| 4662 '-latomic', | |
| 4663 # Manually link the libgcc.a that the cross compiler uses. | 4662 # Manually link the libgcc.a that the cross compiler uses. |
| 4664 '<!(<(android_toolchain)/*-gcc -print-libgcc-file-name)', | 4663 '<!(<(android_toolchain)/*-gcc -print-libgcc-file-name)', |
| 4665 '-lm', | |
| 4666 '-lc', | 4664 '-lc', |
| 4667 '-ldl', | 4665 '-ldl', |
| 4666 '-lm', |
| 4668 ], | 4667 ], |
| 4669 }], | 4668 }], |
| 4670 ['android_webview_build==1', { | 4669 ['android_webview_build==1', { |
| 4671 'cflags': [ | 4670 'cflags': [ |
| 4672 # Android predefines this as 1; undefine it here so Chromium | 4671 # Android predefines this as 1; undefine it here so Chromium |
| 4673 # can redefine it later to be 2 for chromium code and unset | 4672 # can redefine it later to be 2 for chromium code and unset |
| 4674 # for third party code. This works because cflags are added | 4673 # for third party code. This works because cflags are added |
| 4675 # before defines. | 4674 # before defines. |
| 4676 '-U_FORTIFY_SOURCE', | 4675 '-U_FORTIFY_SOURCE', |
| 4677 # Disable any additional warnings enabled by the Android build
system but which | 4676 # Disable any additional warnings enabled by the Android build
system but which |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4709 ], | 4708 ], |
| 4710 }], | 4709 }], |
| 4711 ], | 4710 ], |
| 4712 }], | 4711 }], |
| 4713 ['target_arch == "arm" and order_profiling==0', { | 4712 ['target_arch == "arm" and order_profiling==0', { |
| 4714 'ldflags': [ | 4713 'ldflags': [ |
| 4715 # Enable identical code folding to reduce size. | 4714 # Enable identical code folding to reduce size. |
| 4716 '-Wl,--icf=safe', | 4715 '-Wl,--icf=safe', |
| 4717 ], | 4716 ], |
| 4718 }], | 4717 }], |
| 4718 # NOTE: The stlport header include paths below are specified in |
| 4719 # cflags rather than include_dirs because they need to come |
| 4720 # after include_dirs. Think of them like system headers, but |
| 4721 # don't use '-isystem' because the arm-linux-androideabi-4.4.3 |
| 4722 # toolchain (circa Gingerbread) will exhibit strange errors. |
| 4723 # The include ordering here is important; change with caution. |
| 4719 ['android_webview_build==0', { | 4724 ['android_webview_build==0', { |
| 4720 'cflags': [ | 4725 'cflags': [ |
| 4721 '-isystem<(android_libcpp_include)', | 4726 '-isystem<(android_stlport_include)', |
| 4722 '-isystem<(android_ndk_root)/sources/cxx-stl/llvm-libc++abi/li
bcxxabi/include', | |
| 4723 '-isystem<(android_ndk_root)/sources/android/support/include', | |
| 4724 ], | 4727 ], |
| 4725 'ldflags': [ | 4728 'ldflags': [ |
| 4726 '-L<(android_libcpp_libs_dir)', | 4729 '-L<(android_stlport_libs_dir)', |
| 4727 ], | 4730 ], |
| 4728 }, { # else: android_webview_build!=0 | 4731 }, { # else: android_webview_build!=0 |
| 4729 'defines': [ | |
| 4730 'USE_STLPORT=1', | |
| 4731 '_STLP_USE_PTR_SPECIALIZATIONS=1', | |
| 4732 ], | |
| 4733 'aosp_build_settings': { | 4732 'aosp_build_settings': { |
| 4734 # Specify that we want to statically link stlport from the | 4733 # Specify that we want to statically link stlport from the |
| 4735 # NDK. This will provide all the include and library paths | 4734 # NDK. This will provide all the include and library paths |
| 4736 # automatically at build time, and link the right library. | 4735 # automatically at build time, and link the right library. |
| 4737 'LOCAL_NDK_STL_VARIANT': 'stlport_static', | 4736 'LOCAL_NDK_STL_VARIANT': 'stlport_static', |
| 4738 }, | 4737 }, |
| 4739 }], | 4738 }], |
| 4740 ['target_arch=="ia32"', { | 4739 ['target_arch=="ia32"', { |
| 4741 # The x86 toolchain currently has problems with stack-protector. | 4740 # The x86 toolchain currently has problems with stack-protector. |
| 4742 'cflags!': [ | 4741 'cflags!': [ |
| (...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4926 }], | 4925 }], |
| 4927 ['asan==1', { | 4926 ['asan==1', { |
| 4928 'xcode_settings': { | 4927 'xcode_settings': { |
| 4929 'OTHER_CFLAGS': [ | 4928 'OTHER_CFLAGS': [ |
| 4930 '-fsanitize=address', | 4929 '-fsanitize=address', |
| 4931 '-mllvm -asan-globals=0', # http://crbug.com/352073 | 4930 '-mllvm -asan-globals=0', # http://crbug.com/352073 |
| 4932 '-gline-tables-only', | 4931 '-gline-tables-only', |
| 4933 ], | 4932 ], |
| 4934 }, | 4933 }, |
| 4935 }], | 4934 }], |
| 4936 ['asan_coverage!=0', { | 4935 ['asan_coverage!=0 and sanitizer_coverage==0', { |
| 4937 'target_conditions': [ | 4936 'target_conditions': [ |
| 4938 ['_toolset=="target"', { | 4937 ['_toolset=="target"', { |
| 4939 'cflags': [ | 4938 'cflags': [ |
| 4940 '-fsanitize-coverage=<(asan_coverage)', | 4939 '-fsanitize-coverage=<(asan_coverage)', |
| 4941 ], | 4940 ], |
| 4941 'defines': [ |
| 4942 'SANITIZER_COVERAGE', |
| 4943 ], |
| 4942 }], | 4944 }], |
| 4943 ], | 4945 ], |
| 4944 }], | 4946 }], |
| 4947 ['sanitizer_coverage!=0', { |
| 4948 'target_conditions': [ |
| 4949 ['_toolset=="target"', { |
| 4950 'cflags': [ |
| 4951 '-fsanitize-coverage=<(sanitizer_coverage)', |
| 4952 ], |
| 4953 'defines': [ |
| 4954 'SANITIZER_COVERAGE', |
| 4955 ], |
| 4956 }], |
| 4957 ], |
| 4958 }], |
| 4945 ], | 4959 ], |
| 4946 'target_conditions': [ | 4960 'target_conditions': [ |
| 4947 ['_type!="static_library"', { | 4961 ['_type!="static_library"', { |
| 4948 'xcode_settings': {'OTHER_LDFLAGS': ['-Wl,-search_paths_first']}, | 4962 'xcode_settings': {'OTHER_LDFLAGS': ['-Wl,-search_paths_first']}, |
| 4949 'conditions': [ | 4963 'conditions': [ |
| 4950 ['asan==1', { | 4964 ['asan==1', { |
| 4951 'xcode_settings': { | 4965 'xcode_settings': { |
| 4952 'OTHER_LDFLAGS': [ | 4966 'OTHER_LDFLAGS': [ |
| 4953 '-fsanitize=address', | 4967 '-fsanitize=address', |
| 4954 ], | 4968 ], |
| (...skipping 536 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5491 }], | 5505 }], |
| 5492 ['_type=="executable" and ">(win_exe_compatibility_manifest)"!=""',
{ | 5506 ['_type=="executable" and ">(win_exe_compatibility_manifest)"!=""',
{ |
| 5493 'VCManifestTool': { | 5507 'VCManifestTool': { |
| 5494 'AdditionalManifestFiles': [ | 5508 'AdditionalManifestFiles': [ |
| 5495 '>(win_exe_compatibility_manifest)', | 5509 '>(win_exe_compatibility_manifest)', |
| 5496 ], | 5510 ], |
| 5497 }, | 5511 }, |
| 5498 }], | 5512 }], |
| 5499 ], | 5513 ], |
| 5500 'conditions': [ | 5514 'conditions': [ |
| 5515 # Building with Clang on Windows is a work in progress and very |
| 5516 # experimental. See crbug.com/82385. |
| 5501 ['clang==1', { | 5517 ['clang==1', { |
| 5502 # Building with Clang on Windows is a work in progress and very | |
| 5503 # experimental. See crbug.com/82385. | |
| 5504 'VCCLCompilerTool': { | 5518 'VCCLCompilerTool': { |
| 5505 'WarnAsError': 'false', | |
| 5506 'RuntimeTypeInfo': 'false', | |
| 5507 'AdditionalOptions': [ | 5519 'AdditionalOptions': [ |
| 5508 '-fmsc-version=1800', | 5520 '-fmsc-version=1800', |
| 5509 '/fallback', | |
| 5510 | 5521 |
| 5511 # Many files use intrinsics without including this header. | 5522 # Many files use intrinsics without including this header. |
| 5512 # TODO(hans): Fix those files, or move this to sub-GYPs. | 5523 # TODO(hans): Fix those files, or move this to sub-GYPs. |
| 5513 '/FIIntrin.h', | 5524 '/FIIntrin.h', |
| 5514 | 5525 |
| 5515 # TODO(hans): Make this list shorter eventually. | 5526 # TODO(hans): Make this list shorter eventually. |
| 5516 '-Qunused-arguments', | 5527 '-Qunused-arguments', |
| 5517 '-Wno-c++11-compat-deprecated-writable-strings', | 5528 '-Wno-c++11-compat-deprecated-writable-strings', |
| 5518 '-Wno-deprecated-declarations', | 5529 '-Wno-deprecated-declarations', |
| 5519 '-Wno-empty-body', | 5530 '-Wno-empty-body', |
| (...skipping 22 matching lines...) Expand all Loading... |
| 5542 '-Wno-unsequenced', | 5553 '-Wno-unsequenced', |
| 5543 '-Wno-unused-function', | 5554 '-Wno-unused-function', |
| 5544 '-Wno-unused-private-field', | 5555 '-Wno-unused-private-field', |
| 5545 '-Wno-unused-value', | 5556 '-Wno-unused-value', |
| 5546 '-Wno-unused-variable', | 5557 '-Wno-unused-variable', |
| 5547 '-Wno-unused-local-typedef', # http://crbug.com/411648 | 5558 '-Wno-unused-local-typedef', # http://crbug.com/411648 |
| 5548 '-Wno-inconsistent-missing-override', #http://crbug.com/428099 | 5559 '-Wno-inconsistent-missing-override', #http://crbug.com/428099 |
| 5549 ], | 5560 ], |
| 5550 }, | 5561 }, |
| 5551 }], | 5562 }], |
| 5563 ['clang==1 and target_arch=="ia32"', { |
| 5564 'VCCLCompilerTool': { |
| 5565 'WarnAsError': 'false', |
| 5566 'AdditionalOptions': [ |
| 5567 '/fallback', |
| 5568 ], |
| 5569 }, |
| 5570 }], |
| 5552 ], | 5571 ], |
| 5553 }, | 5572 }, |
| 5554 }, | 5573 }, |
| 5555 }], | 5574 }], |
| 5556 ['disable_nacl==1', { | 5575 ['disable_nacl==1', { |
| 5557 'target_defaults': { | 5576 'target_defaults': { |
| 5558 'defines': [ | 5577 'defines': [ |
| 5559 'DISABLE_NACL', | 5578 'DISABLE_NACL', |
| 5560 ], | 5579 ], |
| 5561 }, | 5580 }, |
| (...skipping 327 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5889 # settings in target dicts. SYMROOT is a special case, because many other | 5908 # settings in target dicts. SYMROOT is a special case, because many other |
| 5890 # Xcode variables depend on it, including variables such as | 5909 # Xcode variables depend on it, including variables such as |
| 5891 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something | 5910 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something |
| 5892 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the | 5911 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the |
| 5893 # files to appear (when present) in the UI as actual files and not red | 5912 # files to appear (when present) in the UI as actual files and not red |
| 5894 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR, | 5913 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR, |
| 5895 # and therefore SYMROOT, needs to be set at the project level. | 5914 # and therefore SYMROOT, needs to be set at the project level. |
| 5896 'SYMROOT': '<(DEPTH)/xcodebuild', | 5915 'SYMROOT': '<(DEPTH)/xcodebuild', |
| 5897 }, | 5916 }, |
| 5898 } | 5917 } |
| OLD | NEW |