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 |