Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(12)

Side by Side Diff: build/common.gypi

Issue 1108173002: Roll //build, //native_client, and a few more targets of opportunity. Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Test fix Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « build/build_config.h ('k') | build/config/BUILD.gn » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
63 63
64 # Use the PCI lib to collect GPU information. 64 # Use the PCI lib to collect GPU information.
65 'use_libpci%': 1, 65 'use_libpci%': 1,
66 66
67 # Use OpenSSL instead of NSS as the underlying SSL and crypto 67 # Use OpenSSL instead of NSS as the underlying SSL and crypto
68 # implementation. Certificate verification will in most cases be 68 # implementation. Certificate verification will in most cases be
69 # handled by the OS. If OpenSSL's struct X509 is used to represent 69 # handled by the OS. If OpenSSL's struct X509 is used to represent
70 # certificates, use_openssl_certs must be set. 70 # certificates, use_openssl_certs must be set.
71 'use_openssl%': 0, 71 'use_openssl%': 0,
72 72
73 # Typedef X509Certificate::OSCertHandle to OpenSSL's struct X509*. 73 # Use OpenSSL for representing certificates. When targeting Android,
74 # the platform certificate library is used for certificate
75 # verification. On other targets, this flag also enables OpenSSL for
76 # certificate verification, but this configuration is unsupported.
74 'use_openssl_certs%': 0, 77 'use_openssl_certs%': 0,
75 78
76 # Disable viewport meta tag by default. 79 # Disable viewport meta tag by default.
77 'enable_viewport%': 0, 80 'enable_viewport%': 0,
78 81
79 # Enable HiDPI support. 82 # Enable HiDPI support.
80 'enable_hidpi%': 0, 83 'enable_hidpi%': 0,
81 84
82 # Override buildtype to select the desired build flavor. 85 # Override buildtype to select the desired build flavor.
83 # Dev - everyday build for development/testing 86 # Dev - everyday build for development/testing
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
139 'use_cras%': '<(use_cras)', 142 'use_cras%': '<(use_cras)',
140 'use_ozone%': '<(use_ozone)', 143 'use_ozone%': '<(use_ozone)',
141 'embedded%': '<(embedded)', 144 'embedded%': '<(embedded)',
142 'use_libpci%': '<(use_libpci)', 145 'use_libpci%': '<(use_libpci)',
143 'use_openssl%': '<(use_openssl)', 146 'use_openssl%': '<(use_openssl)',
144 'use_openssl_certs%': '<(use_openssl_certs)', 147 'use_openssl_certs%': '<(use_openssl_certs)',
145 'enable_viewport%': '<(enable_viewport)', 148 'enable_viewport%': '<(enable_viewport)',
146 'enable_hidpi%': '<(enable_hidpi)', 149 'enable_hidpi%': '<(enable_hidpi)',
147 'buildtype%': '<(buildtype)', 150 'buildtype%': '<(buildtype)',
148 'branding%': '<(branding)', 151 'branding%': '<(branding)',
152 'branding_path_component%': '<(branding)',
149 'host_arch%': '<(host_arch)', 153 'host_arch%': '<(host_arch)',
150 'target_arch%': '<(target_arch)', 154 'target_arch%': '<(target_arch)',
151 155
152 'target_subarch%': '', 156 'target_subarch%': '',
153 157
154 # The channel to build on Android: stable, beta, dev, canary, or 158 # The channel to build on Android: stable, beta, dev, canary, or
155 # default. "default" should be used on non-official builds. 159 # default. "default" should be used on non-official builds.
156 'android_channel%': 'default', 160 'android_channel%': 'default',
157 161
158 # This is set when building the Android WebView inside the Android
159 # build system, using the 'android' gyp backend. The WebView code is
160 # still built when this is unset, but builds using the normal chromium
161 # build system.
162 'android_webview_build%': 0,
163
164 # Set ARM architecture version. 162 # Set ARM architecture version.
165 'arm_version%': 7, 163 'arm_version%': 7,
166 164
167 # Use aurax11 for clipboard implementation. This is true on linux_aura. 165 # Use aurax11 for clipboard implementation. This is true on linux_aura.
168 'use_clipboard_aurax11%': 0, 166 'use_clipboard_aurax11%': 0,
169 167
170 # goma settings. 168 # goma settings.
171 # 1 to use goma. 169 # 1 to use goma.
172 # If no gomadir is set, it uses the default gomadir. 170 # If no gomadir is set, it uses the default gomadir.
173 'use_goma%': 0, 171 'use_goma%': 0,
(...skipping 10 matching lines...) Expand all
184 # below for MIPS targets. 182 # below for MIPS targets.
185 'mips_arch_variant%': '', 183 'mips_arch_variant%': '',
186 184
187 # MIPS DSP ASE revision. Possible values are: 185 # MIPS DSP ASE revision. Possible values are:
188 # 0: unavailable 186 # 0: unavailable
189 # 1: revision 1 187 # 1: revision 1
190 # 2: revision 2 188 # 2: revision 2
191 'mips_dsp_rev%': 0, 189 'mips_dsp_rev%': 0,
192 190
193 'conditions': [ 191 'conditions': [
192 ['branding == "Chrome"', {
193 'branding_path_component%': 'google_chrome',
194 }],
195
196 ['branding == "Chromium"', {
197 'branding_path_component%': 'chromium',
198 }],
199
194 # Ash needs Aura. 200 # Ash needs Aura.
195 ['use_aura==0', { 201 ['use_aura==0', {
196 'use_ash%': 0, 202 'use_ash%': 0,
197 }], 203 }],
198 204
199 # Set default value of toolkit_views based on OS. 205 # Set default value of toolkit_views based on OS.
200 ['OS=="mac" or OS=="win" or chromeos==1 or use_aura==1', { 206 ['OS=="mac" or OS=="win" or chromeos==1 or use_aura==1', {
201 'toolkit_views%': 1, 207 'toolkit_views%': 1,
202 }, { 208 }, {
203 'toolkit_views%': 0, 209 'toolkit_views%': 0,
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
241 247
242 # Set default gomadir. 248 # Set default gomadir.
243 ['OS=="win"', { 249 ['OS=="win"', {
244 'gomadir': 'c:\\goma\\goma-win', 250 'gomadir': 'c:\\goma\\goma-win',
245 }, { 251 }, {
246 'gomadir': '<!(/bin/echo -n ${HOME}/goma)', 252 'gomadir': '<!(/bin/echo -n ${HOME}/goma)',
247 }], 253 }],
248 254
249 # Set the default "target_subarch" on iOS. Valid values are "arm32", 255 # Set the default "target_subarch" on iOS. Valid values are "arm32",
250 # "arm64" and "both" (meaning a fat binary). 256 # "arm64" and "both" (meaning a fat binary).
251 #
252 # TODO(sdefresne): change the default from "arm32" to "both" for
253 # "target_subarch" once http://crbug.com/339477 is fixed.
254 #
255 # TODO(sdefresne): set the "target_arch" to "arm" once compilation
256 # of skia has been fixed for simulator. http://crbug.com/342377
257 ['OS=="ios"', { 257 ['OS=="ios"', {
258 'target_subarch%': 'arm32', 258 'target_subarch%': 'arm64',
259 }], 259 }],
260 260
261 # Set arch variants for MIPS platforms. 261 # Set arch variants for MIPS platforms.
262 ['target_arch=="mips64el"', { 262 ['target_arch=="mips64el"', {
263 'conditions': [ 263 'conditions': [
264 ['OS=="android"', { 264 ['OS=="android"', {
265 'mips_arch_variant%': 'r6', 265 'mips_arch_variant%': 'r6',
266 }, { 266 }, {
267 'mips_arch_variant%': 'r2', 267 'mips_arch_variant%': 'r2',
268 }], 268 }],
(...skipping 22 matching lines...) Expand all
291 'use_libpci%': '<(use_libpci)', 291 'use_libpci%': '<(use_libpci)',
292 'use_ozone%': '<(use_ozone)', 292 'use_ozone%': '<(use_ozone)',
293 'use_ozone_evdev%': '<(use_ozone_evdev)', 293 'use_ozone_evdev%': '<(use_ozone_evdev)',
294 'use_clipboard_aurax11%': '<(use_clipboard_aurax11)', 294 'use_clipboard_aurax11%': '<(use_clipboard_aurax11)',
295 'embedded%': '<(embedded)', 295 'embedded%': '<(embedded)',
296 'use_openssl%': '<(use_openssl)', 296 'use_openssl%': '<(use_openssl)',
297 'use_openssl_certs%': '<(use_openssl_certs)', 297 'use_openssl_certs%': '<(use_openssl_certs)',
298 'enable_viewport%': '<(enable_viewport)', 298 'enable_viewport%': '<(enable_viewport)',
299 'enable_hidpi%': '<(enable_hidpi)', 299 'enable_hidpi%': '<(enable_hidpi)',
300 'android_channel%': '<(android_channel)', 300 'android_channel%': '<(android_channel)',
301 'android_webview_build%': '<(android_webview_build)',
302 'use_goma%': '<(use_goma)', 301 'use_goma%': '<(use_goma)',
303 'gomadir%': '<(gomadir)', 302 'gomadir%': '<(gomadir)',
304 'enable_app_list%': '<(enable_app_list)', 303 'enable_app_list%': '<(enable_app_list)',
305 'use_default_render_theme%': '<(use_default_render_theme)', 304 'use_default_render_theme%': '<(use_default_render_theme)',
306 'buildtype%': '<(buildtype)', 305 'buildtype%': '<(buildtype)',
307 'branding%': '<(branding)', 306 'branding%': '<(branding)',
307 'branding_path_component%': '<(branding_path_component)',
308 'arm_version%': '<(arm_version)', 308 'arm_version%': '<(arm_version)',
309 'sysroot%': '<(sysroot)', 309 'sysroot%': '<(sysroot)',
310 'chroot_cmd%': '<(chroot_cmd)', 310 'chroot_cmd%': '<(chroot_cmd)',
311 'system_libdir%': '<(system_libdir)', 311 'system_libdir%': '<(system_libdir)',
312 312
313 # Set to 1 to enable fast builds. Set to 2 for even faster builds 313 # Set to 1 to enable fast builds. Set to 2 for even faster builds
314 # (it disables debug info for fastest compilation - only for use 314 # (it disables debug info for fastest compilation - only for use
315 # on compile-only bots). 315 # on compile-only bots).
316 'fastbuild%': 0, 316 'fastbuild%': 0,
317 317
(...skipping 308 matching lines...) Expand 10 before | Expand all | Expand 10 after
626 'video_hole%': 0, 626 'video_hole%': 0,
627 627
628 # Automatically select platforms under ozone. Turn this off to 628 # Automatically select platforms under ozone. Turn this off to
629 # build only explicitly selected platforms. 629 # build only explicitly selected platforms.
630 'ozone_auto_platforms%': 1, 630 'ozone_auto_platforms%': 1,
631 631
632 # If this is set clang is used as host compiler, but not as target 632 # If this is set clang is used as host compiler, but not as target
633 # compiler. Always do this by default. 633 # compiler. Always do this by default.
634 'host_clang%': 1, 634 'host_clang%': 1,
635 635
636 # Variables to control Link-Time Optimizations (LTO). 636 # Variables to control Link-Time Optimization (LTO).
637 # Note: the variables must *not* be enabled at the same time. 637 # On Android, the variable use_lto enables LTO on code compiled with -Os,
638 # In this case LTO would 'merge' the optimization flags 638 # and use_lto_o2 enables LTO on code compiled with -O2. On other
639 # at link-time which would lead to all code be optimized with -O2. 639 # platforms, use_lto enables LTO in all translation units, and use_lto_o2
640 # Enable LTO on the code compiled with -Os. 640 # has no effect.
641 # See crbug.com/407544 641 #
642 # On Linux and Android, when using LLVM LTO, the script
643 # build/download_gold_plugin.py must be run to download a linker plugin.
644 # On Mac, LLVM needs to be built from scratch using
645 # tools/clang/scripts/update.py and the absolute path to
646 # third_party/llvm-build/Release+Asserts/lib must be added to
647 # $DYLD_LIBRARY_PATH to pick up the right version of the linker plugin.
648 #
649 # On Android, the variables must *not* be enabled at the same time.
650 # In this case LTO would 'merge' the optimization flags at link-time
651 # which would lead to all code be optimized with -O2. See crbug.com/407544
642 'use_lto%': 0, 652 'use_lto%': 0,
643 # Enable LTO on code compiled with -O2.
644 'use_lto_o2%': 0, 653 'use_lto_o2%': 0,
645 654
646 # Allowed level of identical code folding in the gold linker. 655 # Allowed level of identical code folding in the gold linker.
647 'gold_icf_level%': 'safe', 656 'gold_icf_level%': 'safe',
648 657
649 # Libxkbcommon usage. 658 # Libxkbcommon usage.
650 'use_xkbcommon%': 0, 659 'use_xkbcommon%': 0,
651 660
652 # Control Flow Integrity for virtual calls. 661 # Control Flow Integrity for virtual calls.
653 # See http://clang.llvm.org/docs/ControlFlowIntegrity.html 662 # See http://clang.llvm.org/docs/ControlFlowIntegrity.html
654 'cfi_vptr%': 0, 663 'cfi_vptr%': 0,
655 664
665 # Control Flow Integrity for casts.
666 # See http://clang.llvm.org/docs/ControlFlowIntegrity.html
667 'cfi_derived_cast%': 0,
668 'cfi_unrelated_cast%': 0,
669
670 'cfi_blacklist%': '<(PRODUCT_DIR)/../../tools/cfi/blacklist.txt',
671
656 # Whether the entire browser uses toolkit-views on Mac instead of Cocoa. 672 # Whether the entire browser uses toolkit-views on Mac instead of Cocoa.
657 'mac_views_browser%': 0, 673 'mac_views_browser%': 0,
658 674
675 # By default, use ICU data file (icudtl.dat).
676 'icu_use_data_file_flag%': 1,
677
678 # Turn on JNI generation optimizations by default.
679 'optimize_jni_generation%': 1,
680
659 'conditions': [ 681 'conditions': [
660 # A flag for POSIX platforms 682 # A flag for POSIX platforms
661 ['OS=="win"', { 683 ['OS=="win"', {
662 'os_posix%': 0, 684 'os_posix%': 0,
663 }, { 685 }, {
664 'os_posix%': 1, 686 'os_posix%': 1,
665 }], 687 }],
666 688
667 # A flag for BSD platforms 689 # A flag for BSD platforms
668 ['OS=="freebsd" or OS=="openbsd"', { 690 ['OS=="freebsd" or OS=="openbsd"', {
669 'os_bsd%': 1, 691 'os_bsd%': 1,
670 }, { 692 }, {
671 'os_bsd%': 0, 693 'os_bsd%': 0,
672 }], 694 }],
673 695
674 # NSS usage. 696 # NSS usage.
675 ['(OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris") and u se_openssl==0', { 697 ['(OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris")', {
676 'use_nss%': 1, 698 'use_nss_certs%': 1,
677 }, { 699 }, {
678 'use_nss%': 0, 700 'use_nss_certs%': 0,
679 }],
680
681 # When OpenSSL is used for SSL and crypto on Unix-like systems, use
682 # OpenSSL's certificate definition.
683 ['(OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris") and u se_openssl==1', {
684 'use_openssl_certs%': 1,
685 }, {
686 'use_openssl_certs%': 0,
687 }], 701 }],
688 702
689 # libudev usage. This currently only affects the content layer. 703 # libudev usage. This currently only affects the content layer.
690 ['OS=="linux" and embedded==0', { 704 ['OS=="linux" and embedded==0', {
691 'use_udev%': 1, 705 'use_udev%': 1,
692 }, { 706 }, {
693 'use_udev%': 0, 707 'use_udev%': 0,
694 }], 708 }],
695 709
696 # Flags to use X11 on non-Mac POSIX platforms. 710 # Flags to use X11 on non-Mac POSIX platforms.
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
779 ['OS=="android" or branding=="Chrome" or chromecast==1', { 793 ['OS=="android" or branding=="Chrome" or chromecast==1', {
780 'proprietary_codecs%': 1, 794 'proprietary_codecs%': 1,
781 }, { 795 }, {
782 'proprietary_codecs%': 0, 796 'proprietary_codecs%': 0,
783 }], 797 }],
784 798
785 ['OS=="mac" or OS=="ios"', { 799 ['OS=="mac" or OS=="ios"', {
786 'native_memory_pressure_signals%': 1, 800 'native_memory_pressure_signals%': 1,
787 }], 801 }],
788 802
789 # Enable autofill dialog for Android, Mac and Views-enabled platforms. 803 # Enable autofill dialog when not on iOS.
790 ['toolkit_views==1 or (OS=="android" and android_webview_build==0) or OS =="mac"', { 804 ['OS!="ios"', {
791 'enable_autofill_dialog%': 1, 805 'enable_autofill_dialog%': 1,
792 806
793 'conditions': [ 807 'conditions': [
794 ['buildtype=="Official"', { 808 ['buildtype=="Official"', {
795 'enable_prod_wallet_service%': 1, 809 'enable_prod_wallet_service%': 1,
796 }], 810 }],
797 ] 811 ]
798 }], 812 }],
799 813
800 ['OS=="android"', { 814 ['OS=="android"', {
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
845 'enable_plugins%': 0, 859 'enable_plugins%': 0,
846 }, { 860 }, {
847 'enable_plugins%': 1, 861 'enable_plugins%': 1,
848 }], 862 }],
849 863
850 # linux_use_bundled_gold: whether to use the gold linker binary checked 864 # linux_use_bundled_gold: whether to use the gold linker binary checked
851 # into third_party/binutils. Force this off via GYP_DEFINES when you 865 # into third_party/binutils. Force this off via GYP_DEFINES when you
852 # are using a custom toolchain and need to control -B in ldflags. 866 # are using a custom toolchain and need to control -B in ldflags.
853 # Do not use 32-bit gold on 32-bit hosts as it runs out address space 867 # Do not use 32-bit gold on 32-bit hosts as it runs out address space
854 # for component=static_library builds. 868 # for component=static_library builds.
855 ['OS=="linux" and (target_arch=="x64" or target_arch=="arm")', { 869 ['(OS=="linux" or OS=="android") and (target_arch=="x64" or target_arch= ="arm")', {
856 'linux_use_bundled_gold%': 1, 870 'linux_use_bundled_gold%': 1,
857 }, { 871 }, {
858 'linux_use_bundled_gold%': 0, 872 'linux_use_bundled_gold%': 0,
859 }], 873 }],
860 874
861 # linux_use_bundled_binutils: whether to use the binary binutils 875 # linux_use_bundled_binutils: whether to use the binary binutils
862 # checked into third_party/binutils. These are not multi-arch so cannot 876 # checked into third_party/binutils. These are not multi-arch so cannot
863 # be used except on x86 and x86-64 (the only two architectures which 877 # be used except on x86 and x86-64 (the only two architectures which
864 # are currently checke in). Force this off via GYP_DEFINES when you 878 # are currently checke in). Force this off via GYP_DEFINES when you
865 # are using a custom toolchain and need to control -B in cflags. 879 # are using a custom toolchain and need to control -B in cflags.
(...skipping 28 matching lines...) Expand all
894 }, { 908 }, {
895 'enable_captive_portal_detection%': 1, 909 'enable_captive_portal_detection%': 1,
896 'enable_media_router%': 1, 910 'enable_media_router%': 1,
897 }], 911 }],
898 912
899 # Enable Skia UI text drawing incrementally on different platforms. 913 # Enable Skia UI text drawing incrementally on different platforms.
900 # http://crbug.com/105550 914 # http://crbug.com/105550
901 # 915 #
902 # On Aura, this allows per-tile painting to be used in the browser 916 # On Aura, this allows per-tile painting to be used in the browser
903 # compositor. 917 # compositor.
904 ['OS!="android"', { 918 ['OS!="android" and OS!="ios"', {
905 'use_canvas_skia%': 1, 919 'use_canvas_skia%': 1,
906 }], 920 }],
907 921
908 ['chromeos==1', { 922 ['chromeos==1', {
909 'enable_basic_printing%': 0, 923 'enable_basic_printing%': 0,
910 'enable_print_preview%': 1, 924 'enable_print_preview%': 1,
911 # When building for ChromeOS we dont want Chromium to use libjpeg_turb o. 925 # When building for ChromeOS we dont want Chromium to use libjpeg_turb o.
912 'use_libjpeg_turbo%': 0, 926 'use_libjpeg_turbo%': 0,
913 }], 927 }],
914 928
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
979 'v8_optimized_debug%': 2, 993 'v8_optimized_debug%': 2,
980 }], 994 }],
981 995
982 # Disable various features by default on embedded. 996 # Disable various features by default on embedded.
983 ['embedded==1', { 997 ['embedded==1', {
984 'remoting%': 0, 998 'remoting%': 0,
985 'enable_basic_printing%': 0, 999 'enable_basic_printing%': 0,
986 'enable_print_preview%': 0, 1000 'enable_print_preview%': 0,
987 }], 1001 }],
988 1002
989 # By default, use ICU data file (icudtl.dat) on all platforms
990 # except when building Android WebView.
991 # TODO(jshin): Handle 'use_system_icu' on Linux (Chromium).
992 # Set the data reduction proxy origin for Android Webview.
993 ['android_webview_build==0', {
994 'icu_use_data_file_flag%' : 1,
995 }, {
996 'icu_use_data_file_flag%' : 0,
997 }],
998 ['OS=="win" or OS=="mac"', { 1003 ['OS=="win" or OS=="mac"', {
999 'enable_wifi_bootstrapping%' : 1, 1004 'enable_wifi_bootstrapping%' : 1,
1000 }], 1005 }],
1001 1006
1002 # Path to sas.dll, which provides the SendSAS function. 1007 # Path to sas.dll, which provides the SendSAS function.
1003 # http://msdn.microsoft.com/en-us/library/windows/desktop/dd979761(v=vs. 85).aspx 1008 # http://msdn.microsoft.com/en-us/library/windows/desktop/dd979761(v=vs. 85).aspx
1004 ['target_arch=="x64"', { 1009 ['target_arch=="x64"', {
1005 'sas_dll_path%': '<(DEPTH)/third_party/platformsdk_win7/files/redist/a md64', 1010 'sas_dll_path%': '<(DEPTH)/third_party/platformsdk_win7/files/redist/a md64',
1006 }, { 1011 }, {
1007 'sas_dll_path%': '<(DEPTH)/third_party/platformsdk_win7/files/redist/x 86', 1012 'sas_dll_path%': '<(DEPTH)/third_party/platformsdk_win7/files/redist/x 86',
1008 }], 1013 }],
1014 ],
1009 1015
1010 # Turn on JNI generation optimizations on non-WebView builds. 1016 # Setting this to '0' will cause V8's startup snapshot to be
1011 ['OS=="android" and android_webview_build==0', { 1017 # embedded in the binary instead of being a external files.
1012 'optimize_jni_generation%': 1, 1018 'v8_use_external_startup_data%': 1,
1013 }, {
1014 'optimize_jni_generation%': 0,
1015 }],
1016
1017 # TODO(rmcilroy): Enable v8_use_external_startup_data on ChromeOS
1018 # http://crbug.com/421063
1019 ['android_webview_build==0 and chromecast==0 and chromeos==0 and OS!="io s"', {
1020 'v8_use_external_startup_data%': 1,
1021 }, {
1022 'v8_use_external_startup_data%': 0,
1023 }],
1024 ],
1025 1019
1026 # Set this to 1 to enable use of concatenated impulse responses 1020 # Set this to 1 to enable use of concatenated impulse responses
1027 # for the HRTF panner in WebAudio. 1021 # for the HRTF panner in WebAudio.
1028 'use_concatenated_impulse_responses': 1, 1022 'use_concatenated_impulse_responses': 1,
1029 1023
1030 # You can set the variable 'use_official_google_api_keys' to 1 1024 # You can set the variable 'use_official_google_api_keys' to 1
1031 # to use the Google-internal file containing official API keys 1025 # to use the Google-internal file containing official API keys
1032 # for Google Chrome even in a developer build. Setting this 1026 # for Google Chrome even in a developer build. Setting this
1033 # variable explicitly to 1 will cause your build to fail if the 1027 # variable explicitly to 1 will cause your build to fail if the
1034 # internal file is missing. 1028 # internal file is missing.
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
1066 # 1060 #
1067 # Note that if you are building an official build or if 1061 # Note that if you are building an official build or if
1068 # use_official_google_api_keys has been set to 1 (explicitly or 1062 # use_official_google_api_keys has been set to 1 (explicitly or
1069 # implicitly), these values will be ignored and the official 1063 # implicitly), these values will be ignored and the official
1070 # keys will be used instead. 1064 # keys will be used instead.
1071 'google_api_key%': '', 1065 'google_api_key%': '',
1072 'google_default_client_id%': '', 1066 'google_default_client_id%': '',
1073 'google_default_client_secret%': '', 1067 'google_default_client_secret%': '',
1074 # Native Client is enabled by default. 1068 # Native Client is enabled by default.
1075 'disable_nacl%': '0', 1069 'disable_nacl%': '0',
1070
1071 # Sets the default version name and code for Android app, by default we
1072 # do a developer build.
1073 'android_app_version_name%': 'Developer Build',
1074 'android_app_version_code%': 1,
1076 }, 1075 },
1077 1076
1078 # Copy conditionally-set variables out one scope. 1077 # Copy conditionally-set variables out one scope.
1079 'branding%': '<(branding)', 1078 'branding%': '<(branding)',
1079 'branding_path_component%': '<(branding_path_component)',
1080 'buildtype%': '<(buildtype)', 1080 'buildtype%': '<(buildtype)',
1081 'target_arch%': '<(target_arch)', 1081 'target_arch%': '<(target_arch)',
1082 'target_subarch%': '<(target_subarch)', 1082 'target_subarch%': '<(target_subarch)',
1083 'mips_arch_variant%': '<(mips_arch_variant)', 1083 'mips_arch_variant%': '<(mips_arch_variant)',
1084 'mips_dsp_rev%': '<(mips_dsp_rev)', 1084 'mips_dsp_rev%': '<(mips_dsp_rev)',
1085 'host_arch%': '<(host_arch)', 1085 'host_arch%': '<(host_arch)',
1086 'toolkit_views%': '<(toolkit_views)', 1086 'toolkit_views%': '<(toolkit_views)',
1087 'ui_compositor_image_transport%': '<(ui_compositor_image_transport)', 1087 'ui_compositor_image_transport%': '<(ui_compositor_image_transport)',
1088 'use_aura%': '<(use_aura)', 1088 'use_aura%': '<(use_aura)',
1089 'use_ash%': '<(use_ash)', 1089 'use_ash%': '<(use_ash)',
1090 'use_cras%': '<(use_cras)', 1090 'use_cras%': '<(use_cras)',
1091 'use_libpci%': '<(use_libpci)', 1091 'use_libpci%': '<(use_libpci)',
1092 'use_openssl%': '<(use_openssl)', 1092 'use_openssl%': '<(use_openssl)',
1093 'use_openssl_certs%': '<(use_openssl_certs)', 1093 'use_openssl_certs%': '<(use_openssl_certs)',
1094 'use_nss%': '<(use_nss)', 1094 'use_nss_certs%': '<(use_nss_certs)',
1095 'use_udev%': '<(use_udev)', 1095 'use_udev%': '<(use_udev)',
1096 'os_bsd%': '<(os_bsd)', 1096 'os_bsd%': '<(os_bsd)',
1097 'os_posix%': '<(os_posix)', 1097 'os_posix%': '<(os_posix)',
1098 'use_dbus%': '<(use_dbus)', 1098 'use_dbus%': '<(use_dbus)',
1099 'use_glib%': '<(use_glib)', 1099 'use_glib%': '<(use_glib)',
1100 'use_pango%': '<(use_pango)', 1100 'use_pango%': '<(use_pango)',
1101 'use_cairo%': '<(use_cairo)', 1101 'use_cairo%': '<(use_cairo)',
1102 'use_ozone%': '<(use_ozone)', 1102 'use_ozone%': '<(use_ozone)',
1103 'use_ozone_evdev%': '<(use_ozone_evdev)', 1103 'use_ozone_evdev%': '<(use_ozone_evdev)',
1104 'use_xkbcommon%': '<(use_xkbcommon)', 1104 'use_xkbcommon%': '<(use_xkbcommon)',
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
1189 'enable_captive_portal_detection%': '<(enable_captive_portal_detection)', 1189 'enable_captive_portal_detection%': '<(enable_captive_portal_detection)',
1190 'disable_file_support%': '<(disable_file_support)', 1190 'disable_file_support%': '<(disable_file_support)',
1191 'disable_ftp_support%': '<(disable_ftp_support)', 1191 'disable_ftp_support%': '<(disable_ftp_support)',
1192 'use_icu_alternatives_on_android%': '<(use_icu_alternatives_on_android)', 1192 'use_icu_alternatives_on_android%': '<(use_icu_alternatives_on_android)',
1193 'enable_task_manager%': '<(enable_task_manager)', 1193 'enable_task_manager%': '<(enable_task_manager)',
1194 'sas_dll_path%': '<(sas_dll_path)', 1194 'sas_dll_path%': '<(sas_dll_path)',
1195 'wix_path%': '<(wix_path)', 1195 'wix_path%': '<(wix_path)',
1196 'use_libjpeg_turbo%': '<(use_libjpeg_turbo)', 1196 'use_libjpeg_turbo%': '<(use_libjpeg_turbo)',
1197 'use_system_libjpeg%': '<(use_system_libjpeg)', 1197 'use_system_libjpeg%': '<(use_system_libjpeg)',
1198 'android_channel%': '<(android_channel)', 1198 'android_channel%': '<(android_channel)',
1199 'android_webview_build%': '<(android_webview_build)',
1200 'icu_use_data_file_flag%': '<(icu_use_data_file_flag)', 1199 'icu_use_data_file_flag%': '<(icu_use_data_file_flag)',
1201 'gyp_managed_install%': 0, 1200 'gyp_managed_install%': 0,
1202 'create_standalone_apk%': 1, 1201 'create_standalone_apk%': 1,
1203 'enable_app_list%': '<(enable_app_list)', 1202 'enable_app_list%': '<(enable_app_list)',
1204 'use_default_render_theme%': '<(use_default_render_theme)', 1203 'use_default_render_theme%': '<(use_default_render_theme)',
1205 'enable_settings_app%': '<(enable_settings_app)', 1204 'enable_settings_app%': '<(enable_settings_app)',
1206 'google_api_key%': '<(google_api_key)', 1205 'google_api_key%': '<(google_api_key)',
1207 'google_default_client_id%': '<(google_default_client_id)', 1206 'google_default_client_id%': '<(google_default_client_id)',
1208 'google_default_client_secret%': '<(google_default_client_secret)', 1207 'google_default_client_secret%': '<(google_default_client_secret)',
1209 'enable_supervised_users%': '<(enable_supervised_users)', 1208 'enable_supervised_users%': '<(enable_supervised_users)',
1210 'native_memory_pressure_signals%': '<(native_memory_pressure_signals)', 1209 'native_memory_pressure_signals%': '<(native_memory_pressure_signals)',
1211 'spdy_proxy_auth_property%': '<(spdy_proxy_auth_property)', 1210 'spdy_proxy_auth_property%': '<(spdy_proxy_auth_property)',
1212 'spdy_proxy_auth_value%': '<(spdy_proxy_auth_value)', 1211 'spdy_proxy_auth_value%': '<(spdy_proxy_auth_value)',
1213 'enable_mdns%' : '<(enable_mdns)', 1212 'enable_mdns%' : '<(enable_mdns)',
1214 'enable_service_discovery%' : '<(enable_service_discovery)', 1213 'enable_service_discovery%' : '<(enable_service_discovery)',
1215 'enable_wifi_bootstrapping%': '<(enable_wifi_bootstrapping)', 1214 'enable_wifi_bootstrapping%': '<(enable_wifi_bootstrapping)',
1216 'enable_hangout_services_extension%' : '<(enable_hangout_services_extension) ', 1215 'enable_hangout_services_extension%' : '<(enable_hangout_services_extension) ',
1217 'v8_optimized_debug%': '<(v8_optimized_debug)', 1216 'v8_optimized_debug%': '<(v8_optimized_debug)',
1218 'proprietary_codecs%': '<(proprietary_codecs)', 1217 'proprietary_codecs%': '<(proprietary_codecs)',
1219 'use_goma%': '<(use_goma)', 1218 'use_goma%': '<(use_goma)',
1220 'gomadir%': '<(gomadir)', 1219 'gomadir%': '<(gomadir)',
1221 'use_lto%': '<(use_lto)', 1220 'use_lto%': '<(use_lto)',
1222 'use_lto_o2%': '<(use_lto_o2)', 1221 'use_lto_o2%': '<(use_lto_o2)',
1223 'gold_icf_level%': '<(gold_icf_level)', 1222 'gold_icf_level%': '<(gold_icf_level)',
1224 'video_hole%': '<(video_hole)', 1223 'video_hole%': '<(video_hole)',
1225 'v8_use_external_startup_data%': '<(v8_use_external_startup_data)', 1224 'v8_use_external_startup_data%': '<(v8_use_external_startup_data)',
1226 'cfi_vptr%': '<(cfi_vptr)', 1225 'cfi_vptr%': '<(cfi_vptr)',
1226 'cfi_derived_cast%': '<(cfi_derived_cast)',
1227 'cfi_unrelated_cast%': '<(cfi_unrelated_cast)',
1228 'cfi_blacklist%': '<(cfi_blacklist)',
1227 'mac_views_browser%': '<(mac_views_browser)', 1229 'mac_views_browser%': '<(mac_views_browser)',
1230 'android_app_version_name%': '<(android_app_version_name)',
1231 'android_app_version_code%': '<(android_app_version_code)',
1228 1232
1229 # Use system protobuf instead of bundled one. 1233 # Use system protobuf instead of bundled one.
1230 'use_system_protobuf%': 0, 1234 'use_system_protobuf%': 0,
1231 1235
1232 # Use system yasm instead of bundled one. 1236 # Use system yasm instead of bundled one.
1233 'use_system_yasm%': 0, 1237 'use_system_yasm%': 0,
1234 1238
1235 # Use system ICU instead of bundled one. 1239 # Use system ICU instead of bundled one.
1236 'use_system_icu%' : 0, 1240 'use_system_icu%' : 0,
1237 1241
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after
1410 'am', 'ar', 'bg', 'bn', 'ca', 'cs', 'da', 'de', 'el', 'en-GB', 1414 'am', 'ar', 'bg', 'bn', 'ca', 'cs', 'da', 'de', 'el', 'en-GB',
1411 'en-US', 'es-419', 'es', 'et', 'fa', 'fi', 'fil', 'fr', 'gu', 'he', 1415 'en-US', 'es-419', 'es', 'et', 'fa', 'fi', 'fil', 'fr', 'gu', 'he',
1412 'hi', 'hr', 'hu', 'id', 'it', 'ja', 'kn', 'ko', 'lt', 'lv', 1416 'hi', 'hr', 'hu', 'id', 'it', 'ja', 'kn', 'ko', 'lt', 'lv',
1413 'ml', 'mr', 'ms', 'nb', 'nl', 'pl', 'pt-BR', 'pt-PT', 'ro', 'ru', 1417 'ml', 'mr', 'ms', 'nb', 'nl', 'pl', 'pt-BR', 'pt-PT', 'ro', 'ru',
1414 'sk', 'sl', 'sr', 'sv', 'sw', 'ta', 'te', 'th', 'tr', 'uk', 1418 'sk', 'sl', 'sr', 'sv', 'sw', 'ta', 'te', 'th', 'tr', 'uk',
1415 'vi', 'zh-CN', 'zh-TW', 1419 'vi', 'zh-CN', 'zh-TW',
1416 ], 1420 ],
1417 1421
1418 # Pseudo locales are special locales which are used for testing and 1422 # Pseudo locales are special locales which are used for testing and
1419 # debugging. They don't get copied to the final app. For more info, 1423 # debugging. They don't get copied to the final app. For more info,
1420 # check out https://sites.google.com/a/chromium.org/dev/Home/fake-bidi 1424 # check out https://www.chromium.org/developers/testing/fake-bidi
1421 'pseudo_locales': [ 1425 'pseudo_locales': [
1422 'fake-bidi', 1426 'fake-bidi',
1423 ], 1427 ],
1424 1428
1425 'grit_defines': [], 1429 'grit_defines': [],
1426 1430
1427 # If debug_devtools is set to 1, JavaScript files for DevTools are 1431 # If debug_devtools is set to 1, JavaScript files for DevTools are
1428 # stored as is and loaded from disk. Otherwise, a concatenated file 1432 # stored as is and loaded from disk. Otherwise, a concatenated file
1429 # is stored in resources.pak. It is still possible to load JS files 1433 # is stored in resources.pak. It is still possible to load JS files
1430 # from disk by passing --debug-devtools cmdline switch. 1434 # from disk by passing --debug-devtools cmdline switch.
(...skipping 18 matching lines...) Expand all
1449 1453
1450 # Portable Native Client is enabled by default. 1454 # Portable Native Client is enabled by default.
1451 'disable_pnacl%': 0, 1455 'disable_pnacl%': 0,
1452 1456
1453 # Whether to build full debug version for Debug configuration on Android. 1457 # Whether to build full debug version for Debug configuration on Android.
1454 # Compared to full debug version, the default Debug configuration on Android 1458 # Compared to full debug version, the default Debug configuration on Android
1455 # has no full v8 debug, has size optimization and linker gc section, so that 1459 # has no full v8 debug, has size optimization and linker gc section, so that
1456 # we can build a debug version with acceptable size and performance. 1460 # we can build a debug version with acceptable size and performance.
1457 'android_full_debug%': 0, 1461 'android_full_debug%': 0,
1458 1462
1459 # Sets the default version name and code for Android app, by default we
1460 # do a developer build.
1461 'android_app_version_name%': 'Developer Build',
1462 'android_app_version_code%': 1,
1463
1464 # Contains data about the attached devices for gyp_managed_install. 1463 # Contains data about the attached devices for gyp_managed_install.
1465 'build_device_config_path': '<(PRODUCT_DIR)/build_devices.cfg', 1464 'build_device_config_path': '<(PRODUCT_DIR)/build_devices.cfg',
1466 1465
1467 'sas_dll_exists': '<!pymod_do_main(dir_exists "<(sas_dll_path)")', 1466 'sas_dll_exists': '<!pymod_do_main(dir_exists "<(sas_dll_path)")',
1468 'wix_exists': '<!pymod_do_main(dir_exists "<(wix_path)")', 1467 'wix_exists': '<!pymod_do_main(dir_exists "<(wix_path)")',
1469 1468
1470 'windows_sdk_default_path': '<(DEPTH)/third_party/platformsdk_win8/files', 1469 'windows_sdk_default_path': '<(DEPTH)/third_party/platformsdk_win8/files',
1471 'directx_sdk_default_path': '<(DEPTH)/third_party/directxsdk/files', 1470 'directx_sdk_default_path': '<(DEPTH)/third_party/directxsdk/files',
1472 1471
1473 # Whether we are using the rlz library or not. Platforms like Android send 1472 # Whether we are using the rlz library or not. Platforms like Android send
(...skipping 22 matching lines...) Expand all
1496 'enable_mpeg2ts_stream_parser%': 0, 1495 'enable_mpeg2ts_stream_parser%': 0,
1497 1496
1498 # Support ChromeOS touchpad gestures with ozone. 1497 # Support ChromeOS touchpad gestures with ozone.
1499 'use_evdev_gestures%': 0, 1498 'use_evdev_gestures%': 0,
1500 1499
1501 # Default ozone platform (if no --ozone-platform flag). 1500 # Default ozone platform (if no --ozone-platform flag).
1502 'ozone_platform%': "", 1501 'ozone_platform%': "",
1503 1502
1504 # Ozone platforms to include in the build. 1503 # Ozone platforms to include in the build.
1505 'ozone_platform_caca%': 0, 1504 'ozone_platform_caca%': 0,
1505 'ozone_platform_cast%': 0,
1506 'ozone_platform_dri%': 0, 1506 'ozone_platform_dri%': 0,
1507 'ozone_platform_drm%': 0, 1507 'ozone_platform_drm%': 0,
1508 'ozone_platform_egltest%': 0, 1508 'ozone_platform_egltest%': 0,
1509 'ozone_platform_gbm%': 0, 1509 'ozone_platform_gbm%': 0,
1510 'ozone_platform_ozonex%': 0, 1510 'ozone_platform_ozonex%': 0,
1511 'ozone_platform_test%': 0, 1511 'ozone_platform_test%': 0,
1512 1512
1513 # Experiment: http://crbug.com/426914 1513 # Experiment: http://crbug.com/426914
1514 'envoy%': 0, 1514 'envoy%': 0,
1515 1515
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
1557 }, { 1557 }, {
1558 'binutils_version%': 0, 1558 'binutils_version%': 0,
1559 }], 1559 }],
1560 # The version of GCC in use, set later in platforms that use GCC and have 1560 # The version of GCC in use, set later in platforms that use GCC and have
1561 # not explicitly chosen to build with clang. Currently, this means all 1561 # not explicitly chosen to build with clang. Currently, this means all
1562 # platforms except Windows, Mac and iOS. 1562 # platforms except Windows, Mac and iOS.
1563 # TODO(glider): set clang to 1 earlier for ASan and TSan builds so that 1563 # TODO(glider): set clang to 1 earlier for ASan and TSan builds so that
1564 # it takes effect here. 1564 # it takes effect here.
1565 ['os_posix==1 and OS!="mac" and OS!="ios" and clang==0 and asan==0 and lsa n==0 and tsan==0 and msan==0 and ubsan_vptr==0', { 1565 ['os_posix==1 and OS!="mac" and OS!="ios" and clang==0 and asan==0 and lsa n==0 and tsan==0 and msan==0 and ubsan_vptr==0', {
1566 'conditions': [ 1566 'conditions': [
1567 ['OS=="android" and android_webview_build==0', { 1567 ['OS=="android"', {
1568 'host_gcc_version%': '<!pymod_do_main(compiler_version host compiler )', 1568 'host_gcc_version%': '<!pymod_do_main(compiler_version host compiler )',
1569 # We directly set the gcc version since we know what we use. 1569 # We directly set the gcc version since we know what we use.
1570 'gcc_version%': 49, 1570 'gcc_version%': 49,
1571 }], 1571 }, {
1572 ['OS=="android" and android_webview_build==1', {
1573 # Android WebView uses a hermetic clang toolchain for host builds.
1574 'host_gcc_version%': 0,
1575 # Android WebView uses the GCC toolchain from the Android build.
1576 'gcc_version%': 48,
1577 }],
1578 ['OS!="android"', {
1579 'host_gcc_version%': '<!pymod_do_main(compiler_version host compiler )', 1572 'host_gcc_version%': '<!pymod_do_main(compiler_version host compiler )',
1580 'gcc_version%': '<!pymod_do_main(compiler_version target compiler)', 1573 'gcc_version%': '<!pymod_do_main(compiler_version target compiler)',
1581 }], 1574 }],
1582 ], 1575 ],
1583 }, { 1576 }, {
1584 'host_gcc_version%': 0, 1577 'host_gcc_version%': 0,
1585 'gcc_version%': 0, 1578 'gcc_version%': 0,
1586 }], 1579 }],
1587 ['OS=="win" and "<!pymod_do_main(dir_exists <(windows_sdk_default_path))"= ="True"', { 1580 ['OS=="win" and "<!pymod_do_main(dir_exists <(windows_sdk_default_path))"= ="True"', {
1588 'windows_sdk_path%': '<(windows_sdk_default_path)', 1581 'windows_sdk_path%': '<(windows_sdk_default_path)',
(...skipping 221 matching lines...) Expand 10 before | Expand all | Expand 10 after
1810 1803
1811 # Sessions are store separately in the Java side. 1804 # Sessions are store separately in the Java side.
1812 'enable_session_service%': 0, 1805 'enable_session_service%': 0,
1813 1806
1814 'p2p_apis%' : 0, 1807 'p2p_apis%' : 0,
1815 1808
1816 'gtest_target_type%': 'shared_library', 1809 'gtest_target_type%': 'shared_library',
1817 1810
1818 # Uses system APIs for decoding audio and video. 1811 # Uses system APIs for decoding audio and video.
1819 'use_libffmpeg%': '0', 1812 'use_libffmpeg%': '0',
1820
1821 # TODO(torne): Remove this unsupported option once all the places that
1822 # test it have been updated.
1823 'use_system_stlport%': 0,
1824
1825 # Copy it out one scope.
1826 'android_webview_build%': '<(android_webview_build)',
1827 }], # OS=="android" 1813 }], # OS=="android"
1828 ['embedded==1', { 1814 ['embedded==1', {
1829 'use_system_fontconfig%': 0, 1815 'use_system_fontconfig%': 0,
1830 }, { 1816 }, {
1831 'use_system_fontconfig%': 1, 1817 'use_system_fontconfig%': 1,
1832 }], 1818 }],
1833 ['chromecast==1', { 1819 ['chromecast==1', {
1834 'enable_mpeg2ts_stream_parser%': 1, 1820 'enable_mpeg2ts_stream_parser%': 1,
1835 'ffmpeg_branding%': 'ChromeOS', 1821 'ffmpeg_branding%': 'ChromeOS',
1836 'ozone_platform_ozonex%': 1, 1822 'ozone_platform_ozonex%': 1,
1837 'use_playready%': 0, 1823 'use_playready%': 0,
1838 'conditions': [ 1824 'conditions': [
1839 ['target_arch=="arm"', { 1825 ['target_arch=="arm"', {
1840 'arm_arch%': '', 1826 'arm_arch%': '',
1841 'arm_tune%': 'cortex-a9', 1827 'arm_tune%': 'cortex-a9',
1842 'arm_thumb%': 1, 1828 'arm_thumb%': 1,
1843 'video_hole%': 1, 1829 'video_hole%': 1,
1844 }], 1830 }],
1845 ], 1831 ],
1846 }], 1832 }],
1847 ['android_webview_build==1', { 1833 ['chromecast==1 and OS!="android"', {
1848 # When building the WebView in the Android tree, jarjar will remap all 1834 'ozone_platform_cast%': 1
1849 # the class names, so the JNI generator needs to know this.
1850 'jni_generator_jarjar_file': '../android_webview/build/jarjar-rules.txt' ,
1851 }], 1835 }],
1852 ['OS=="linux" and target_arch!="mipsel"', { 1836 ['OS=="linux" and target_arch!="mipsel"', {
1853 'clang%': 1, 1837 'clang%': 1,
1854 }], # OS=="mac" 1838 }], # OS=="mac"
1855 ['OS=="mac"', { 1839 ['OS=="mac"', {
1856 'conditions': [ 1840 'conditions': [
1857 # All Chrome builds have breakpad symbols, but only process the 1841 # All Chrome builds have breakpad symbols, but only process the
1858 # symbols from official builds. 1842 # symbols from official builds.
1859 ['(branding=="Chrome" and buildtype=="Official")', { 1843 ['(branding=="Chrome" and buildtype=="Official")', {
1860 'mac_strip_release%': 1, 1844 'mac_strip_release%': 1,
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after
2045 }], 2029 }],
2046 ['toolkit_views==1', { 2030 ['toolkit_views==1', {
2047 'grit_defines': ['-D', 'toolkit_views'], 2031 'grit_defines': ['-D', 'toolkit_views'],
2048 }], 2032 }],
2049 ['use_aura==1', { 2033 ['use_aura==1', {
2050 'grit_defines': ['-D', 'use_aura'], 2034 'grit_defines': ['-D', 'use_aura'],
2051 }], 2035 }],
2052 ['use_ash==1', { 2036 ['use_ash==1', {
2053 'grit_defines': ['-D', 'use_ash'], 2037 'grit_defines': ['-D', 'use_ash'],
2054 }], 2038 }],
2055 ['use_nss==1', { 2039 ['use_nss_certs==1', {
2056 'grit_defines': ['-D', 'use_nss'], 2040 'grit_defines': ['-D', 'use_nss_certs'],
2057 }], 2041 }],
2058 ['use_ozone==1', { 2042 ['use_ozone==1', {
2059 'grit_defines': ['-D', 'use_ozone'], 2043 'grit_defines': ['-D', 'use_ozone'],
2060 }], 2044 }],
2061 ['image_loader_extension==1', { 2045 ['image_loader_extension==1', {
2062 'grit_defines': ['-D', 'image_loader_extension'], 2046 'grit_defines': ['-D', 'image_loader_extension'],
2063 }], 2047 }],
2064 ['remoting==1', { 2048 ['remoting==1', {
2065 'grit_defines': ['-D', 'remoting'], 2049 'grit_defines': ['-D', 'remoting'],
2066 }], 2050 }],
2067 ['use_titlecase_in_grd==1', { 2051 ['use_titlecase_in_grd==1', {
2068 'grit_defines': ['-D', 'use_titlecase'], 2052 'grit_defines': ['-D', 'use_titlecase'],
2069 }], 2053 }],
2070 ['use_third_party_translations==1', { 2054 ['use_third_party_translations==1', {
2071 'grit_defines': ['-D', 'use_third_party_translations'], 2055 'grit_defines': ['-D', 'use_third_party_translations'],
2072 'locales': [ 2056 'locales': [
2073 'ast', 'bs', 'ca@valencia', 'en-AU', 'eo', 'eu', 'gl', 'hy', 'ia', 2057 'ast', 'bs', 'ca@valencia', 'en-AU', 'eo', 'eu', 'gl', 'hy', 'ia',
2074 'ka', 'ku', 'kw', 'ms', 'ug' 2058 'ka', 'ku', 'kw', 'ms', 'ug'
2075 ], 2059 ],
2076 }], 2060 }],
2077 ['OS=="android"', { 2061 ['OS=="android"', {
2078 'grit_defines': [ 2062 'grit_defines': [
2079 '-t', 'android', 2063 '-t', 'android',
2080 '-E', 'ANDROID_JAVA_TAGGED_ONLY=true', 2064 '-E', 'ANDROID_JAVA_TAGGED_ONLY=true',
2081 '--no-output-all-resource-defines', 2065 '--no-output-all-resource-defines',
2082 ], 2066 ],
2083 'conditions': [
2084 ['<(android_webview_build)==1', {
2085 'grit_defines': ['-D', 'is_android_webview_build'],
2086 }],
2087 ],
2088 }], 2067 }],
2089 ['OS=="mac" or OS=="ios"', { 2068 ['OS=="mac" or OS=="ios"', {
2090 'grit_defines': ['-D', 'scale_factors=2x'], 2069 'grit_defines': ['-D', 'scale_factors=2x'],
2091 }], 2070 }],
2092 ['OS == "ios"', { 2071 ['OS == "ios"', {
2093 'variables': { 2072 'variables': {
2094 'enable_coverage%': 0, 2073 'enable_coverage%': 0,
2095 }, 2074 },
2096 'grit_defines': [ 2075 'grit_defines': [
2097 '-t', 'ios', 2076 '-t', 'ios',
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
2168 ['enable_resource_whitelist_generation==1 and OS!="win"', { 2147 ['enable_resource_whitelist_generation==1 and OS!="win"', {
2169 'grit_rc_header_format': ['-h', '#define {textual_id} _Pragma("whitelist ed_resource_{numeric_id}") {numeric_id}'], 2148 'grit_rc_header_format': ['-h', '#define {textual_id} _Pragma("whitelist ed_resource_{numeric_id}") {numeric_id}'],
2170 }], 2149 }],
2171 ['enable_resource_whitelist_generation==1 and OS=="win"', { 2150 ['enable_resource_whitelist_generation==1 and OS=="win"', {
2172 'grit_rc_header_format': ['-h', '#define {textual_id} __pragma(message(" whitelisted_resource_{numeric_id}")) {numeric_id}'], 2151 'grit_rc_header_format': ['-h', '#define {textual_id} __pragma(message(" whitelisted_resource_{numeric_id}")) {numeric_id}'],
2173 }], 2152 }],
2174 ['enable_mdns==1 or OS=="mac"', { 2153 ['enable_mdns==1 or OS=="mac"', {
2175 'grit_defines': ['-D', 'enable_service_discovery'], 2154 'grit_defines': ['-D', 'enable_service_discovery'],
2176 'enable_service_discovery%': 1 2155 'enable_service_discovery%': 1
2177 }], 2156 }],
2178 ['clang_use_chrome_plugins==1 and OS!="win"', { 2157 ['clang_use_chrome_plugins==1', {
2179 'variables': { 2158 'variables': {
2180 'conditions': [ 2159 'conditions': [
2181 ['OS=="mac" or OS=="ios"', { 2160 ['OS!="win"', {
2182 'clang_lib_path%': '<!(cd <(DEPTH) && pwd -P)/third_party/llvm-bui ld/Release+Asserts/lib/libFindBadConstructs.dylib', 2161 'variables': {
2183 }, { # OS != "mac" or OS != "ios" 2162 'conditions': [
2184 'clang_lib_path%': '<!(cd <(DEPTH) && pwd -P)/third_party/llvm-bui ld/Release+Asserts/lib/libFindBadConstructs.so', 2163 ['OS=="mac" or OS=="ios"', {
2185 }], 2164 'clang_lib_path%': '<!(cd <(DEPTH) && pwd -P)/third_party/ll vm-build/Release+Asserts/lib/libFindBadConstructs.dylib',
2165 }, { # OS != "mac" or OS != "ios"
2166 'clang_lib_path%': '<!(cd <(DEPTH) && pwd -P)/third_party/ll vm-build/Release+Asserts/lib/libFindBadConstructs.so',
2167 }],
2168 ],
2169 },
2170 'clang_dynlib_flags%': '-Xclang -load -Xclang <(clang_lib_path) ',
2171 }, { # OS == "win"
2172 # On Windows, the plugin is built directly into clang, so there's
2173 # no need to load it dynamically.
2174 'clang_dynlib_flags%': '',
2175 }]
2186 ], 2176 ],
2187 }, 2177 },
2188 # If you change these, also change build/config/clang/BUILD.gn. 2178 # If you change these, also change build/config/clang/BUILD.gn.
2189 'clang_chrome_plugins_flags%': 2179 'clang_chrome_plugins_flags%':
2190 '-Xclang -load -Xclang <(clang_lib_path)' 2180 '<(clang_dynlib_flags)'
2191 ' -Xclang -add-plugin -Xclang find-bad-constructs', 2181 '-Xclang -add-plugin -Xclang find-bad-constructs',
2192 }], 2182 }],
2193 ['asan==1 or msan==1 or lsan==1 or tsan==1', { 2183 ['asan==1 or msan==1 or lsan==1 or tsan==1', {
2194 'clang%': 1, 2184 'clang%': 1,
2195 'use_allocator%': 'none', 2185 'use_allocator%': 'none',
2196 'use_sanitizer_options%': 1, 2186 'use_sanitizer_options%': 1,
2197 # Disable ICF in the linker to avoid debug info loss. 2187 # Disable ICF in the linker to avoid debug info loss.
2198 'gold_icf_level%': 'none', 2188 'gold_icf_level%': 'none',
2199 }], 2189 }],
2200 ['asan==1 and OS=="linux" and chromeos==0', { 2190 ['asan==1 and OS=="linux" and chromeos==0', {
2201 'use_custom_libcxx%': 1, 2191 'use_custom_libcxx%': 1,
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
2234 # 32-bit Clang is unsupported. It may not build. Put your 32-bit 2224 # 32-bit Clang is unsupported. It may not build. Put your 32-bit
2235 # Clang in this directory at your own risk if needed for some 2225 # Clang in this directory at your own risk if needed for some
2236 # purpose (e.g. to compare 32-bit and 64-bit behavior like memory 2226 # purpose (e.g. to compare 32-bit and 64-bit behavior like memory
2237 # usage). Any failure by this compiler should not close the tree. 2227 # usage). Any failure by this compiler should not close the tree.
2238 'make_clang_dir%': 'third_party/llvm-allocated-type/Linux_ia32', 2228 'make_clang_dir%': 'third_party/llvm-allocated-type/Linux_ia32',
2239 }], 2229 }],
2240 ], 2230 ],
2241 }], 2231 }],
2242 2232
2243 ['OS=="win"', { 2233 ['OS=="win"', {
2244 # The Clang plugins don't currently work on Windows. 2234 # The Blink GC plugin doesn't currently work on Windows.
2245 # TODO(hans): One day, this will work. (crbug.com/82385) 2235 # TODO(hans): One day, this will work. (crbug.com/82385)
2246 'clang_use_chrome_plugins%': 0, 2236 'blink_gc_plugin%': 0,
2247 }], 2237 }],
2248 2238
2249 # On valgrind bots, override the optimizer settings so we don't inline too 2239 # On valgrind bots, override the optimizer settings so we don't inline too
2250 # much and make the stacks harder to figure out. 2240 # much and make the stacks harder to figure out.
2251 # 2241 #
2252 # TODO(rnk): Kill off variables that no one else uses and just implement 2242 # TODO(rnk): Kill off variables that no one else uses and just implement
2253 # them under a build_for_tool== condition. 2243 # them under a build_for_tool== condition.
2254 ['build_for_tool=="memcheck" or build_for_tool=="tsan"', { 2244 ['build_for_tool=="memcheck" or build_for_tool=="tsan"', {
2255 # gcc flags 2245 # gcc flags
2256 'mac_debug_optimization': '1', 2246 'mac_debug_optimization': '1',
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
2298 # Keep the code under #ifndef NVALGRIND. 2288 # Keep the code under #ifndef NVALGRIND.
2299 'release_valgrind_build': 1, 2289 'release_valgrind_build': 1,
2300 }], 2290 }],
2301 2291
2302 # Enable RLZ on Win, Mac, iOS and ChromeOS. 2292 # Enable RLZ on Win, Mac, iOS and ChromeOS.
2303 ['branding=="Chrome" and (OS=="win" or OS=="mac" or OS=="ios" or chromeos= =1)', { 2293 ['branding=="Chrome" and (OS=="win" or OS=="mac" or OS=="ios" or chromeos= =1)', {
2304 'enable_rlz%': 1, 2294 'enable_rlz%': 1,
2305 }], 2295 }],
2306 2296
2307 # Set default compiler flags depending on ARM version. 2297 # Set default compiler flags depending on ARM version.
2308 ['arm_version==6 and android_webview_build==0', { 2298 ['arm_version==6', {
2309 'arm_arch%': 'armv6', 2299 'arm_arch%': 'armv6',
2310 'arm_tune%': '', 2300 'arm_tune%': '',
2311 'arm_fpu%': 'vfp', 2301 'arm_fpu%': 'vfp',
2312 'arm_float_abi%': 'softfp', 2302 'arm_float_abi%': 'softfp',
2313 'arm_thumb%': 0, 2303 'arm_thumb%': 0,
2314 }], 2304 }],
2315 ['arm_version==7 and android_webview_build==0', { 2305 ['arm_version==7', {
2316 'arm_arch%': 'armv7-a', 2306 'arm_arch%': 'armv7-a',
2317 'arm_tune%': 'generic-armv7-a', 2307 'arm_tune%': 'generic-armv7-a',
2318 'conditions': [ 2308 'conditions': [
2319 ['arm_neon==1', { 2309 ['arm_neon==1', {
2320 'arm_fpu%': 'neon', 2310 'arm_fpu%': 'neon',
2321 }, { 2311 }, {
2322 'arm_fpu%': 'vfpv3-d16', 2312 'arm_fpu%': 'vfpv3-d16',
2323 }], 2313 }],
2324 ], 2314 ],
2325 # Change the default to hard once the armhf transition is complete. 2315 # Change the default to hard once the armhf transition is complete.
2326 'arm_float_abi%': 'softfp', 2316 'arm_float_abi%': 'softfp',
2327 'arm_thumb%': 1, 2317 'arm_thumb%': 1,
2328 }], 2318 }],
2329 2319
2330 # Set default compiler flags for MIPS floating-point support. 2320 # Set default compiler flags for MIPS floating-point support.
2331 ['target_arch=="mipsel" and android_webview_build==0', { 2321 ['target_arch=="mipsel"', {
2332 'mips_float_abi%': 'hard', 2322 'mips_float_abi%': 'hard',
2333 }], 2323 }],
2334 ['target_arch=="mipsel" and mips_arch_variant=="r2" and android_webview_bu ild==0', { 2324 ['target_arch=="mipsel" and mips_arch_variant=="r2"', {
2335 'mips_fpu_mode%': 'fp32', 2325 'mips_fpu_mode%': 'fp32',
2336 }], 2326 }],
2337 2327
2338 ['android_webview_build==1', {
2339 # The WebView build gets its cpu-specific flags from the Android build s ystem.
2340 'arm_arch%': '',
2341 'arm_tune%': '',
2342 'arm_fpu%': '',
2343 'arm_float_abi%': '',
2344 'arm_thumb%': 0,
2345 'mips_float_abi%': '',
2346 'mips_fpu_mode%': '',
2347 }],
2348
2349 # Enable brlapi by default for chromeos. 2328 # Enable brlapi by default for chromeos.
2350 [ 'chromeos==1', { 2329 [ 'chromeos==1', {
2351 'use_brlapi%': 1, 2330 'use_brlapi%': 1,
2352 }], 2331 }],
2353 2332
2354 ['use_ozone==1 and ozone_auto_platforms==1', { 2333 ['use_ozone==1 and ozone_auto_platforms==1', {
2355 # Use test as the default platform. 2334 # Use test as the default platform.
2356 'ozone_platform%': 'test', 2335 'ozone_platform%': 'test',
2357 2336
2358 # Build all platforms whose deps are in install-build-deps.sh. 2337 # Build all platforms whose deps are in install-build-deps.sh.
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
2396 # security@chromium.org! 2375 # security@chromium.org!
2397 ['((OS=="linux" or OS=="android") and ' 2376 ['((OS=="linux" or OS=="android") and '
2398 '(target_arch=="ia32" or target_arch=="x64" or ' 2377 '(target_arch=="ia32" or target_arch=="x64" or '
2399 'target_arch=="arm" or target_arch=="mipsel" or ' 2378 'target_arch=="arm" or target_arch=="mipsel" or '
2400 'target_arch=="arm64"))', { 2379 'target_arch=="arm64"))', {
2401 'use_seccomp_bpf%': 1, 2380 'use_seccomp_bpf%': 1,
2402 }, { 2381 }, {
2403 'use_seccomp_bpf%': 0, 2382 'use_seccomp_bpf%': 0,
2404 }], 2383 }],
2405 2384
2406 ['cfi_vptr==1', { 2385 ['cfi_vptr==1 or cfi_derived_cast==1 or cfi_unrelated_cast==1', {
2407 'use_lto%': 1, 2386 'use_lto%': 1,
2408 }], 2387 }],
2409 ], 2388 ],
2410 2389
2411 # The path to the ANGLE library. 2390 # The path to the ANGLE library.
2412 'angle_path': '<(DEPTH)/third_party/angle', 2391 'angle_path': '<(DEPTH)/third_party/angle',
2413 2392
2414 # List of default apps to install in new profiles. The first list contains 2393 # List of default apps to install in new profiles. The first list contains
2415 # the source files as found in svn. The second list, used only for linux, 2394 # the source files as found in svn. The second list, used only for linux,
2416 # contains the destination location for each of the files. When a crx 2395 # contains the destination location for each of the files. When a crx
(...skipping 278 matching lines...) Expand 10 before | Expand all | Expand 10 after
2695 }], 2674 }],
2696 ['profiling==1', { 2675 ['profiling==1', {
2697 'defines': ['ENABLE_PROFILING=1'], 2676 'defines': ['ENABLE_PROFILING=1'],
2698 }], 2677 }],
2699 ['remoting==1', { 2678 ['remoting==1', {
2700 'defines': ['ENABLE_REMOTING=1'], 2679 'defines': ['ENABLE_REMOTING=1'],
2701 }], 2680 }],
2702 ['enable_webrtc==1', { 2681 ['enable_webrtc==1', {
2703 'defines': ['ENABLE_WEBRTC=1'], 2682 'defines': ['ENABLE_WEBRTC=1'],
2704 }], 2683 }],
2684 ['enable_media_router==1', {
2685 'defines': ['ENABLE_MEDIA_ROUTER=1'],
2686 }],
2705 ['proprietary_codecs==1', { 2687 ['proprietary_codecs==1', {
2706 'defines': ['USE_PROPRIETARY_CODECS'], 2688 'defines': ['USE_PROPRIETARY_CODECS'],
2707 'conditions': [ 2689 'conditions': [
2708 ['enable_mpeg2ts_stream_parser==1', { 2690 ['enable_mpeg2ts_stream_parser==1', {
2709 'defines': ['ENABLE_MPEG2TS_STREAM_PARSER'], 2691 'defines': ['ENABLE_MPEG2TS_STREAM_PARSER'],
2710 }], 2692 }],
2711 ], 2693 ],
2712 }], 2694 }],
2713 ['enable_viewport==1', { 2695 ['enable_viewport==1', {
2714 'defines': ['ENABLE_VIEWPORT'], 2696 'defines': ['ENABLE_VIEWPORT'],
(...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after
3005 }], 2987 }],
3006 ['enable_ipc_fuzzer==1', { 2988 ['enable_ipc_fuzzer==1', {
3007 'defines': ['ENABLE_IPC_FUZZER=1'], 2989 'defines': ['ENABLE_IPC_FUZZER=1'],
3008 }], 2990 }],
3009 ['video_hole==1', { 2991 ['video_hole==1', {
3010 'defines': ['VIDEO_HOLE=1'], 2992 'defines': ['VIDEO_HOLE=1'],
3011 }], 2993 }],
3012 ['v8_use_external_startup_data==1', { 2994 ['v8_use_external_startup_data==1', {
3013 'defines': ['V8_USE_EXTERNAL_STARTUP_DATA'], 2995 'defines': ['V8_USE_EXTERNAL_STARTUP_DATA'],
3014 }], 2996 }],
2997
2998 # SAFE_BROWSING_SERVICE - browser manages a safe-browsing service.
2999 # SAFE_BROWSING_DB_LOCAL - service manages a local database.
3000 # SAFE_BROWSING_DB_REMOTE - service talks via API to a database
3001 # SAFE_BROWSING_CSD - enable client-side phishing detection.
3002 ['safe_browsing==1', {
3003 # TODO(nparker): Remove existing uses of FULL_SAFE_BROWSING
3004 'defines': [
3005 'FULL_SAFE_BROWSING',
3006 'SAFE_BROWSING_CSD',
3007 'SAFE_BROWSING_DB_LOCAL',
3008 'SAFE_BROWSING_SERVICE',
3009 ],
3010 }],
3011 ['safe_browsing==2', {
3012 'defines': [
3013 # TODO(nparker): Remove existing uses of MOBILE_SAFE_BROWSING
3014 'MOBILE_SAFE_BROWSING',
3015 'SAFE_BROWSING_SERVICE',
3016 ],
3017 }],
3015 ], # conditions for 'target_defaults' 3018 ], # conditions for 'target_defaults'
3016 'target_conditions': [ 3019 'target_conditions': [
3017 ['<(use_libpci)==1', { 3020 ['<(use_libpci)==1', {
3018 'defines': ['USE_LIBPCI=1'], 3021 'defines': ['USE_LIBPCI=1'],
3019 }], 3022 }],
3020 ['<(use_openssl)==1', { 3023 ['<(use_openssl)==1', {
3021 'defines': ['USE_OPENSSL=1'], 3024 'defines': ['USE_OPENSSL=1'],
3022 }], 3025 }],
3023 ['<(use_openssl_certs)==1', { 3026 ['<(use_openssl_certs)==1', {
3024 'defines': ['USE_OPENSSL_CERTS=1'], 3027 'defines': ['USE_OPENSSL_CERTS=1'],
3025 }], 3028 }],
3026 ['>(nacl_untrusted_build)==1', { 3029 ['>(nacl_untrusted_build)==1', {
3027 'defines': [ 3030 'defines': [
3028 'USE_OPENSSL=1', 3031 'USE_OPENSSL=1',
3029 'USE_OPENSSL_CERTS=1', 3032 'USE_OPENSSL_CERTS=1',
3030 ], 3033 ],
3031 }], 3034 }],
3032 ['<(use_glib)==1 and >(nacl_untrusted_build)==0', { 3035 ['<(use_glib)==1 and >(nacl_untrusted_build)==0', {
3033 'defines': ['USE_GLIB=1'], 3036 'defines': ['USE_GLIB=1'],
3034 }], 3037 }],
3035 ['<(use_nss)==1 and >(nacl_untrusted_build)==0', { 3038 ['<(use_nss_certs)==1 and >(nacl_untrusted_build)==0', {
3036 'defines': ['USE_NSS=1'], 3039 'defines': ['USE_NSS_CERTS=1'],
3037 }], 3040 }],
3038 ['<(chromeos)==1 and >(nacl_untrusted_build)==0', { 3041 ['<(chromeos)==1 and >(nacl_untrusted_build)==0', {
3039 'defines': ['OS_CHROMEOS=1'], 3042 'defines': ['OS_CHROMEOS=1'],
3040 }], 3043 }],
3041 ['enable_wexit_time_destructors==1 and OS!="win"', { 3044 ['enable_wexit_time_destructors==1 and OS!="win"', {
3042 # TODO: Enable on Windows too, http://crbug.com/404525 3045 # TODO: Enable on Windows too, http://crbug.com/404525
3043 'variables': { 'clang_warning_flags': ['-Wexit-time-destructors']}, 3046 'variables': { 'clang_warning_flags': ['-Wexit-time-destructors']},
3044 }], 3047 }],
3045 ['chromium_code==0', { 3048 ['chromium_code==0', {
3046 'conditions': [ 3049 'conditions': [
(...skipping 549 matching lines...) Expand 10 before | Expand all | Expand 10 after
3596 'libraries_for_target%': '', 3599 'libraries_for_target%': '',
3597 }, 3600 },
3598 'defines': [ 3601 'defines': [
3599 '_FILE_OFFSET_BITS=64', 3602 '_FILE_OFFSET_BITS=64',
3600 ], 3603 ],
3601 'cflags': [ 3604 'cflags': [
3602 '<(werror)', # See note above about the werror variable. 3605 '<(werror)', # See note above about the werror variable.
3603 '-pthread', 3606 '-pthread',
3604 '-fno-strict-aliasing', # See http://crbug.com/32204 3607 '-fno-strict-aliasing', # See http://crbug.com/32204
3605 '-Wall', 3608 '-Wall',
3606 # TODO(evan): turn this back on once all the builds work.
3607 # '-Wextra',
3608 # Don't warn about unused function params. We use those everywhere. 3609 # Don't warn about unused function params. We use those everywhere.
3609 '-Wno-unused-parameter', 3610 '-Wno-unused-parameter',
3610 # Don't warn about the "struct foo f = {0};" initialization pattern. 3611 # Don't warn about the "struct foo f = {0};" initialization pattern.
3611 '-Wno-missing-field-initializers', 3612 '-Wno-missing-field-initializers',
3612 # Don't export any symbols (for example, to plugins we dlopen()). 3613 # Don't export any symbols (for example, to plugins we dlopen()).
3613 # Note: this is *required* to make some plugins work. 3614 # Note: this is *required* to make some plugins work.
3614 '-fvisibility=hidden', 3615 '-fvisibility=hidden',
3615 '-pipe', 3616 '-pipe',
3616 ], 3617 ],
3617 'cflags_cc': [ 3618 'cflags_cc': [
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
3669 ], 3670 ],
3670 }], 3671 }],
3671 ['OS=="android" and android_full_debug==0 and target_arch!="arm64" ', { 3672 ['OS=="android" and android_full_debug==0 and target_arch!="arm64" ', {
3672 # We don't omit frame pointers on arm64 since they are required 3673 # We don't omit frame pointers on arm64 since they are required
3673 # to correctly unwind stackframes which contain system library 3674 # to correctly unwind stackframes which contain system library
3674 # function frames (crbug.com/391706). 3675 # function frames (crbug.com/391706).
3675 'cflags': [ 3676 'cflags': [
3676 '-fomit-frame-pointer', 3677 '-fomit-frame-pointer',
3677 ], 3678 ],
3678 }], 3679 }],
3680 ['OS!="android"', {
3681 'defines': [
3682 '_LARGEFILE_SOURCE',
3683 '_LARGEFILE64_SOURCE',
3684 ],
3685 }],
3679 ['OS=="linux" and target_arch=="ia32"', { 3686 ['OS=="linux" and target_arch=="ia32"', {
3680 'ldflags': [ 3687 'ldflags': [
3681 '-Wl,--no-as-needed', 3688 '-Wl,--no-as-needed',
3682 ], 3689 ],
3683 }], 3690 }],
3684 ['debug_unwind_tables==1', { 3691 ['debug_unwind_tables==1', {
3685 'cflags': ['-funwind-tables'], 3692 'cflags': ['-funwind-tables'],
3686 }, { 3693 }, {
3687 'cflags': ['-fno-unwind-tables', '-fno-asynchronous-unwind-table s'], 3694 'cflags': ['-fno-unwind-tables', '-fno-asynchronous-unwind-table s'],
3688 'defines': ['NO_UNWIND_TABLES'], 3695 'defines': ['NO_UNWIND_TABLES'],
(...skipping 329 matching lines...) Expand 10 before | Expand all | Expand 10 after
4018 '-finline-limit=64', 4025 '-finline-limit=64',
4019 '-fno-tree-sra', 4026 '-fno-tree-sra',
4020 '-fno-caller-saves', 4027 '-fno-caller-saves',
4021 '-Wno-psabi', 4028 '-Wno-psabi',
4022 ], 4029 ],
4023 'cflags': [ 4030 'cflags': [
4024 # TODO(hans) Enable integrated-as (crbug.com/124610). 4031 # TODO(hans) Enable integrated-as (crbug.com/124610).
4025 '-no-integrated-as', 4032 '-no-integrated-as',
4026 '-B<(android_toolchain)', # Else /usr/bin/as gets pic ked up. 4033 '-B<(android_toolchain)', # Else /usr/bin/as gets pic ked up.
4027 ], 4034 ],
4035 }],
4036 ['clang==1 and linux_use_bundled_gold==0', {
4028 'ldflags': [ 4037 'ldflags': [
4029 # Let clang find the ld.gold in the NDK. 4038 # Let clang find the ld.gold in the NDK.
4030 '--gcc-toolchain=<(android_toolchain)/..', 4039 '--gcc-toolchain=<(android_toolchain)/..',
4031 ], 4040 ],
4032 }], 4041 }],
4033 ['asan==1', { 4042 ['asan==1', {
4034 'cflags': [ 4043 'cflags': [
4035 '-marm', # Required for frame pointer based stack trac es. 4044 '-marm', # Required for frame pointer based stack trac es.
4036 ], 4045 ],
4037 }], 4046 }],
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
4069 ], 4078 ],
4070 }], 4079 }],
4071 ['target_arch=="arm64"', { 4080 ['target_arch=="arm64"', {
4072 'target_conditions': [ 4081 'target_conditions': [
4073 ['_toolset=="target"', { 4082 ['_toolset=="target"', {
4074 'conditions': [ 4083 'conditions': [
4075 ['OS=="android"', { 4084 ['OS=="android"', {
4076 'cflags!': [ 4085 'cflags!': [
4077 '-fstack-protector', # stack protector is always enabled on arm64. 4086 '-fstack-protector', # stack protector is always enabled on arm64.
4078 ], 4087 ],
4079 }],
4080 # TODO: Remove webview test once webview fully compiles from
4081 # Chromium. crbug.com/440793
4082 ['OS=="android" and android_webview_build==0', {
4083 'ldflags': [ 4088 'ldflags': [
4084 '-fuse-ld=gold', 4089 '-fuse-ld=gold',
4085 ], 4090 ],
4086 }], 4091 }],
4087 ], 4092 ],
4088 }], 4093 }],
4089 ], 4094 ],
4090 }], 4095 }],
4091 ['target_arch=="mipsel"', { 4096 ['target_arch=="mipsel"', {
4092 'target_conditions': [ 4097 'target_conditions': [
4093 ['_toolset=="target"', { 4098 ['_toolset=="target"', {
4094 'conditions': [ 4099 'conditions': [
4095 ['android_webview_build==0', { 4100 ['mips_arch_variant=="r6"', {
4096 'conditions': [ 4101 'conditions': [
4097 ['mips_arch_variant=="r6"', { 4102 ['clang==1', {
4098 'cflags': ['-mips32r6', '-Wa,-mips32r6'], 4103 'cflags': [ '-target mipsel-linux-gnu', '-march=mips32r6 ', ],
4104 'ldflags': [ '-target mipsel-linux-gnu', ],
4105 }, { # clang==0
4106 'cflags': ['-mips32r6', '-Wa,-mips32r6', ],
4107 }],
4108 ['clang==0 and OS=="android"', {
4109 'ldflags': ['-mips32r6', '-Wl,-melf32ltsmip',],
4110 }],
4111 ],
4112 }],
4113 ['mips_arch_variant=="r2"', {
4114 'conditions': [
4115 ['mips_float_abi=="hard" and mips_fpu_mode!=""', {
4116 'cflags': ['-m<(mips_fpu_mode)'],
4117 }],
4118 ['clang==1', {
4119 'conditions': [
4120 ['OS=="android"', {
4121 'cflags': [ '-target mipsel-linux-android', '-march= mipsel', '-mcpu=mips32r2'],
4122 'ldflags': [ '-target mipsel-linux-android', ],
4123 }],
4124 ],
4125 }, { # clang==0
4126 'cflags': ['-mips32r2', '-Wa,-mips32r2', ],
4127 }],
4128 ],
4129 }],
4130 ['mips_arch_variant=="r1"', {
4131 'conditions': [
4132 ['clang==1', {
4099 'conditions': [ 4133 'conditions': [
4100 ['OS=="android"', { 4134 ['OS=="android"', {
4101 'ldflags': ['-mips32r6', '-Wl,-melf32ltsmip',], 4135 'cflags': [ '-target mipsel-linux-android', '-march= mipsel', '-mcpu=mips32'],
4136 'ldflags': [ '-target mipsel-linux-android', ],
4102 }], 4137 }],
4103 ], 4138 ],
4104 }], 4139 }, { # clang==0
4105 ['mips_arch_variant=="r2"', { 4140 'cflags': ['-mips32', '-Wa,-mips32', ],
4106 'cflags': ['-mips32r2', '-Wa,-mips32r2'],
4107 'conditions': [
4108 ['mips_float_abi=="hard" and mips_fpu_mode!=""', {
4109 'cflags': ['-m<(mips_fpu_mode)'],
4110 }],
4111 ],
4112 }],
4113 ['mips_arch_variant=="r1"', {
4114 'cflags': ['-mips32', '-Wa,-mips32'],
4115 }],
4116 ['mips_dsp_rev==1', {
4117 'cflags': ['-mdsp'],
4118 }],
4119 ['mips_dsp_rev==2', {
4120 'cflags': ['-mdspr2'],
4121 }], 4141 }],
4122 ], 4142 ],
4143 }],
4144 ['clang==1', {
4145 'cflags!': [
4146 # Clang does not support the following options.
4147 '-finline-limit=64',
4148 ],
4123 'cflags': [ 4149 'cflags': [
4124 '-m<(mips_float_abi)-float' 4150 # TODO(gordanac) Enable integrated-as.
4151 '-no-integrated-as',
4152 '-B<(android_toolchain)', # Else /usr/bin/as gets picked up.
4153 ],
4154 'ldflags': [
4155 # Let clang find the ld in the NDK.
4156 '--gcc-toolchain=<(android_toolchain)/..',
4125 ], 4157 ],
4126 }], 4158 }],
4159 ['mips_dsp_rev==1', {
4160 'cflags': ['-mdsp'],
4161 }],
4162 ['mips_dsp_rev==2', {
4163 'cflags': ['-mdspr2'],
4164 }],
4165 ],
4166 'cflags': [
4167 '-m<(mips_float_abi)-float'
4127 ], 4168 ],
4128 'ldflags': [ 4169 'ldflags': [
4129 '-Wl,--no-keep-memory' 4170 '-Wl,--no-keep-memory'
4130 ], 4171 ],
4131 'cflags_cc': [ 4172 'cflags_cc': [
4132 '-Wno-uninitialized', 4173 '-Wno-uninitialized',
4133 ], 4174 ],
4134 }], 4175 }],
4135 ], 4176 ],
4136 }], 4177 }],
4137 ['target_arch=="mips64el"', { 4178 ['target_arch=="mips64el"', {
4138 'target_conditions': [ 4179 'target_conditions': [
4139 ['_toolset=="target"', { 4180 ['_toolset=="target"', {
4140 'conditions': [ 4181 'conditions': [
4141 ['android_webview_build==0', { 4182 ['mips_arch_variant=="r6"', {
4142 'conditions': [ 4183 'cflags': ['-mips64r6', '-Wa,-mips64r6'],
4143 ['mips_arch_variant=="r6"', { 4184 'ldflags': ['-mips64r6'],
4144 'cflags': ['-mips64r6', '-Wa,-mips64r6'], 4185 }],
4145 'ldflags': ['-mips64r6'], 4186 ['mips_arch_variant=="r2"', {
4146 }], 4187 'cflags': ['-mips64r2', '-Wa,-mips64r2'],
4147 ['mips_arch_variant=="r2"', { 4188 'ldflags': ['-mips64r2'],
4148 'cflags': ['-mips64r2', '-Wa,-mips64r2'],
4149 'ldflags': ['-mips64r2'],
4150 }],
4151 ],
4152 }], 4189 }],
4153 ], 4190 ],
4154 'cflags_cc': [ 4191 'cflags_cc': [
4155 '-Wno-uninitialized', 4192 '-Wno-uninitialized',
4156 ], 4193 ],
4157 }], 4194 }],
4158 ], 4195 ],
4159 }], 4196 }],
4160 ['linux_fpic==1', { 4197 ['linux_fpic==1', {
4161 'cflags': [ 4198 'cflags': [
(...skipping 348 matching lines...) Expand 10 before | Expand all | Expand 10 after
4510 }], 4547 }],
4511 ], 4548 ],
4512 }], 4549 }],
4513 ], 4550 ],
4514 }], 4551 }],
4515 ['linux_use_bundled_binutils==1', { 4552 ['linux_use_bundled_binutils==1', {
4516 'cflags': [ 4553 'cflags': [
4517 '-B<!(cd <(DEPTH) && pwd -P)/<(binutils_dir)', 4554 '-B<!(cd <(DEPTH) && pwd -P)/<(binutils_dir)',
4518 ], 4555 ],
4519 }], 4556 }],
4520 ['linux_use_bundled_gold==1', { 4557 ['linux_use_bundled_gold==1 and '
4558 'not (clang==0 and (use_lto==1 or use_lto_o2==1))', {
4521 # Put our binutils, which contains gold in the search path. We pass 4559 # Put our binutils, which contains gold in the search path. We pass
4522 # the path to gold to the compiler. gyp leaves unspecified what the 4560 # the path to gold to the compiler. gyp leaves unspecified what the
4523 # cwd is when running the compiler, so the normal gyp path-munging 4561 # cwd is when running the compiler, so the normal gyp path-munging
4524 # fails us. This hack gets the right path. 4562 # fails us. This hack gets the right path.
4563 #
4564 # Disabled when using GCC LTO because GCC also uses the -B search
4565 # path at link time to find "as", and our bundled "as" can only
4566 # target x86.
4525 'ldflags': [ 4567 'ldflags': [
4526 '-B<!(cd <(DEPTH) && pwd -P)/<(binutils_dir)', 4568 '-B<!(cd <(DEPTH) && pwd -P)/<(binutils_dir)',
4527 ], 4569 ],
4528 }], 4570 }],
4529 # Some binutils 2.23 releases may or may not have new dtags enabled, 4571 # Some binutils 2.23 releases may or may not have new dtags enabled,
4530 # but they are all compatible with --disable-new-dtags, 4572 # but they are all compatible with --disable-new-dtags,
4531 # because the new dynamic tags are not created by default. 4573 # because the new dynamic tags are not created by default.
4532 ['binutils_version>=223', { 4574 ['binutils_version>=223', {
4533 # Newer binutils don't set DT_RPATH unless you disable "new" dtags 4575 # Newer binutils don't set DT_RPATH unless you disable "new" dtags
4534 # and the new DT_RUNPATH doesn't work without --no-as-needed flag. 4576 # and the new DT_RUNPATH doesn't work without --no-as-needed flag.
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after
4661 'cflags!': [ 4703 'cflags!': [
4662 '-pthread', # Not supported by Android toolchain. 4704 '-pthread', # Not supported by Android toolchain.
4663 ], 4705 ],
4664 'cflags': [ 4706 'cflags': [
4665 '-ffunction-sections', 4707 '-ffunction-sections',
4666 '-funwind-tables', 4708 '-funwind-tables',
4667 '-g', 4709 '-g',
4668 '-fstack-protector', 4710 '-fstack-protector',
4669 '-fno-short-enums', 4711 '-fno-short-enums',
4670 '-finline-limit=64', 4712 '-finline-limit=64',
4671 '-Wa,--noexecstack',
4672 '<@(release_extra_cflags)', 4713 '<@(release_extra_cflags)',
4714 '--sysroot=<(android_ndk_sysroot)',
4715 # NOTE: The stlport header include paths below are specified in
4716 # cflags rather than include_dirs because they need to come
4717 # after include_dirs.
4718 # The include ordering here is important; change with caution.
4719 '-isystem<(android_stlport_include)',
4673 ], 4720 ],
4674 'defines': [ 4721 'defines': [
4675 'ANDROID', 4722 'ANDROID',
4676 '__GNU_SOURCE=1', # Necessary for clone() 4723 '__GNU_SOURCE=1', # Necessary for clone()
4677 'USE_STLPORT=1', 4724 'USE_STLPORT=1',
4678 '_STLP_USE_PTR_SPECIALIZATIONS=1', 4725 '_STLP_USE_PTR_SPECIALIZATIONS=1',
4679 'CHROME_BUILD_ID="<(chrome_build_id)"', 4726 'CHROME_BUILD_ID="<(chrome_build_id)"',
4727 # The NDK has these things, but doesn't define the constants
4728 # to say that it does. Define them here instead.
4729 'HAVE_SYS_UIO_H',
4680 ], 4730 ],
4681 'ldflags!': [ 4731 'ldflags!': [
4682 '-pthread', # Not supported by Android toolchain. 4732 '-pthread', # Not supported by Android toolchain.
4683 ], 4733 ],
4684 'ldflags': [ 4734 'ldflags': [
4685 '-Wl,--no-undefined', 4735 '-Wl,--no-undefined',
4736 '--sysroot=<(android_ndk_sysroot)',
4737 '-nostdlib',
4738 '-L<(android_stlport_libs_dir)',
4739 # Don't allow visible symbols from libgcc or stlport to be
4740 # re-exported.
4741 '-Wl,--exclude-libs=libgcc.a',
4742 '-Wl,--exclude-libs=libstlport_static.a',
4743 # Don't allow visible symbols from libraries that contain
4744 # assembly code with symbols that aren't hidden properly.
4745 # http://crbug.com/448386
4746 '-Wl,--exclude-libs=libcommon_audio.a',
4747 '-Wl,--exclude-libs=libcommon_audio_neon.a',
4748 '-Wl,--exclude-libs=libcommon_audio_sse2.a',
4749 '-Wl,--exclude-libs=libiSACFix.a',
4750 '-Wl,--exclude-libs=libisac_neon.a',
4751 '-Wl,--exclude-libs=libopus.a',
4752 '-Wl,--exclude-libs=libvpx.a',
4753 ],
4754 'libraries': [
4755 '-l<(android_stlport_library)',
4756 # Manually link the libgcc.a that the cross compiler uses.
4757 '<!(<(android_toolchain)/*-gcc -print-libgcc-file-name)',
4758 '-lc',
4759 '-ldl',
4760 '-lm',
4686 ], 4761 ],
4687 'conditions': [ 4762 'conditions': [
4688 ['component=="static_library" and android_webview_build==0', { 4763 ['component=="static_library"', {
4689 'target_conditions': [ 4764 'target_conditions': [
4690 ['use_native_jni_exports==0', { 4765 ['use_native_jni_exports==0', {
4691 # Use a linker version script to strip JNI exports from 4766 # Use a linker version script to strip JNI exports from
4692 # binaries which have not specifically asked to use them. 4767 # binaries which have not specifically asked to use them.
4693 'ldflags': [ 4768 'ldflags': [
4694 '-Wl,--version-script=<!(cd <(DEPTH) && pwd -P)/build/andr oid/android_no_jni_exports.lst', 4769 '-Wl,--version-script=<!(cd <(DEPTH) && pwd -P)/build/andr oid/android_no_jni_exports.lst',
4695 ], 4770 ],
4696 }], 4771 }],
4697 ], 4772 ],
4698 }], 4773 }],
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
4734 }], 4809 }],
4735 ['asan==1', { 4810 ['asan==1', {
4736 'cflags': [ 4811 'cflags': [
4737 # Android build relies on -Wl,--gc-sections removing 4812 # Android build relies on -Wl,--gc-sections removing
4738 # unreachable code. ASan instrumentation for globals inhibits 4813 # unreachable code. ASan instrumentation for globals inhibits
4739 # this and results in a library with unresolvable relocations. 4814 # this and results in a library with unresolvable relocations.
4740 # TODO(eugenis): find a way to reenable this. 4815 # TODO(eugenis): find a way to reenable this.
4741 '-mllvm -asan-globals=0', 4816 '-mllvm -asan-globals=0',
4742 ], 4817 ],
4743 }], 4818 }],
4744 ['android_webview_build==0', {
4745 'defines': [
4746 # The NDK has these things, but doesn't define the constants
4747 # to say that it does. Define them here instead.
4748 'HAVE_SYS_UIO_H',
4749 ],
4750 'cflags': [
4751 '--sysroot=<(android_ndk_sysroot)',
4752 ],
4753 'ldflags': [
4754 '--sysroot=<(android_ndk_sysroot)',
4755 '-nostdlib',
4756 # Don't allow visible symbols from libgcc or stlport to be
4757 # re-exported.
4758 '-Wl,--exclude-libs=libgcc.a',
4759 '-Wl,--exclude-libs=libstlport_static.a',
4760 # Don't allow visible symbols from libraries that contain
4761 # assembly code with symbols that aren't hidden properly.
4762 # http://crbug.com/448386
4763 '-Wl,--exclude-libs=libcommon_audio.a',
4764 '-Wl,--exclude-libs=libcommon_audio_neon.a',
4765 '-Wl,--exclude-libs=libcommon_audio_sse2.a',
4766 '-Wl,--exclude-libs=libiSACFix.a',
4767 '-Wl,--exclude-libs=libisac_neon.a',
4768 '-Wl,--exclude-libs=libopus.a',
4769 '-Wl,--exclude-libs=libvpx.a',
4770 ],
4771 'libraries': [
4772 '-l<(android_stlport_library)',
4773 # Manually link the libgcc.a that the cross compiler uses.
4774 '<!(<(android_toolchain)/*-gcc -print-libgcc-file-name)',
4775 '-lc',
4776 '-ldl',
4777 '-lm',
4778 ],
4779 }],
4780 ['android_webview_build==1', {
4781 'cflags': [
4782 # Android predefines this as 1; undefine it here so Chromium
4783 # can redefine it later to be 2 for chromium code and unset
4784 # for third party code. This works because cflags are added
4785 # before defines.
4786 '-U_FORTIFY_SOURCE',
4787 # Disable any additional warnings enabled by the Android build system but which
4788 # chromium does not build cleanly with (when treating warning as errors).
4789 # Things that are part of -Wextra:
4790 '-Wno-extra', # Enabled by -Wextra, but no specific flag
4791 '-Wno-ignored-qualifiers',
4792 '-Wno-type-limits',
4793 '-Wno-unused-but-set-variable',
4794 ],
4795 'cflags_cc': [
4796 # Other things unrelated to -Wextra:
4797 '-Wno-non-virtual-dtor',
4798 '-Wno-sign-promo',
4799 ],
4800 'libraries': [
4801 '-ldl',
4802 ],
4803 }],
4804 ['android_webview_build==1', {
4805 'target_conditions': [
4806 ['chromium_code==0', {
4807 'cflags': [
4808 # There is a class of warning which:
4809 # 1) Android always enables and also treats as errors
4810 # 2) Chromium ignores in third party code
4811 # So we re-enable those warnings when building Android.
4812 '-Wno-address',
4813 '-Wno-format-security',
4814 '-Wno-return-type',
4815 '-Wno-sequence-point',
4816 ],
4817 'cflags_cc': [
4818 '-Wno-non-virtual-dtor',
4819 ],
4820 }],
4821 ],
4822 }],
4823 ['target_arch == "arm" and order_profiling==0', { 4819 ['target_arch == "arm" and order_profiling==0', {
4824 'ldflags': [ 4820 'ldflags': [
4825 # Enable identical code folding to reduce size. 4821 # Enable identical code folding to reduce size.
4826 '-Wl,--icf=<(gold_icf_level)', 4822 '-Wl,--icf=<(gold_icf_level)',
4827 ], 4823 ],
4828 }], 4824 }],
4829 # NOTE: The stlport header include paths below are specified in
4830 # cflags rather than include_dirs because they need to come
4831 # after include_dirs. Think of them like system headers, but
4832 # don't use '-isystem' because the arm-linux-androideabi-4.4.3
4833 # toolchain (circa Gingerbread) will exhibit strange errors.
4834 # The include ordering here is important; change with caution.
4835 ['android_webview_build==0', {
4836 'cflags': [
4837 '-isystem<(android_stlport_include)',
4838 ],
4839 'ldflags': [
4840 '-L<(android_stlport_libs_dir)',
4841 ],
4842 }, { # else: android_webview_build!=0
4843 'aosp_build_settings': {
4844 # Specify that we want to statically link stlport from the
4845 # NDK. This will provide all the include and library paths
4846 # automatically at build time, and link the right library.
4847 'LOCAL_NDK_STL_VARIANT': 'stlport_static',
4848 },
4849 }],
4850 ['target_arch=="ia32"', { 4825 ['target_arch=="ia32"', {
4851 # The x86 toolchain currently has problems with stack-protector. 4826 # The x86 toolchain currently has problems with stack-protector.
4852 'cflags!': [ 4827 'cflags!': [
4853 '-fstack-protector', 4828 '-fstack-protector',
4854 ], 4829 ],
4855 'cflags': [ 4830 'cflags': [
4856 '-fno-stack-protector', 4831 '-fno-stack-protector',
4857 ], 4832 ],
4858 }], 4833 }],
4859 ], 4834 ],
(...skipping 18 matching lines...) Expand all
4878 ], 4853 ],
4879 'libraries': [ 4854 'libraries': [
4880 # crtend_android.o needs to be the last item in libraries. 4855 # crtend_android.o needs to be the last item in libraries.
4881 # Do not add any libraries after this! 4856 # Do not add any libraries after this!
4882 '<(android_ndk_lib)/crtend_android.o', 4857 '<(android_ndk_lib)/crtend_android.o',
4883 ], 4858 ],
4884 }], 4859 }],
4885 ['_type=="shared_library" or _type=="loadable_module"', { 4860 ['_type=="shared_library" or _type=="loadable_module"', {
4886 'ldflags': [ 4861 'ldflags': [
4887 '-Wl,-shared,-Bsymbolic', 4862 '-Wl,-shared,-Bsymbolic',
4863 # crtbegin_so.o should be the last item in ldflags.
4864 '<(android_ndk_lib)/crtbegin_so.o',
4888 ], 4865 ],
4889 'conditions': [ 4866 'libraries': [
4890 ['android_webview_build==0', { 4867 # crtend_so.o needs to be the last item in libraries.
4891 'ldflags': [ 4868 # Do not add any libraries after this!
4892 # crtbegin_so.o should be the last item in ldflags. 4869 '<(android_ndk_lib)/crtend_so.o',
4893 '<(android_ndk_lib)/crtbegin_so.o',
4894 ],
4895 'libraries': [
4896 # crtend_so.o needs to be the last item in libraries.
4897 # Do not add any libraries after this!
4898 '<(android_ndk_lib)/crtend_so.o',
4899 ],
4900 }],
4901 ], 4870 ],
4902 }], 4871 }],
4903 ], 4872 ],
4904 }], 4873 }],
4905 # Settings for building host targets using the system toolchain. 4874 # Settings for building host targets using the system toolchain.
4906 ['_toolset=="host"', { 4875 ['_toolset=="host"', {
4907 'cflags!': [ 4876 'cflags!': [
4908 # Due to issues in Clang build system, using ASan on 32-bit 4877 # Due to issues in Clang build system, using ASan on 32-bit
4909 # binaries on x86_64 host is problematic. 4878 # binaries on x86_64 host is problematic.
4910 # TODO(eugenis): re-enable. 4879 # TODO(eugenis): re-enable.
(...skipping 249 matching lines...) Expand 10 before | Expand all | Expand 10 after
5160 'OTHER_CFLAGS': [ 5129 'OTHER_CFLAGS': [
5161 # Someday this can be replaced by an 'GCC_STRICT_ALIASING': 'NO' 5130 # Someday this can be replaced by an 'GCC_STRICT_ALIASING': 'NO'
5162 # xcode_setting, but not until all downstream projects' mac bots are 5131 # xcode_setting, but not until all downstream projects' mac bots are
5163 # using xcode >= 4.6, because that's when the default value of the 5132 # using xcode >= 4.6, because that's when the default value of the
5164 # flag in the compiler switched. Pre-4.6, the value 'NO' for that 5133 # flag in the compiler switched. Pre-4.6, the value 'NO' for that
5165 # setting is a no-op as far as xcode is concerned, but the compiler 5134 # setting is a no-op as far as xcode is concerned, but the compiler
5166 # behaves differently based on whether -fno-strict-aliasing is 5135 # behaves differently based on whether -fno-strict-aliasing is
5167 # specified or not. 5136 # specified or not.
5168 '-fno-strict-aliasing', # See http://crbug.com/32204. 5137 '-fno-strict-aliasing', # See http://crbug.com/32204.
5169 ], 5138 ],
5139 'conditions': [
5140 ['branding=="Chrome" and buildtype=="Official"', {
5141 'OTHER_CFLAGS': [
5142 # The Google Chrome Framework dSYM generated by dsymutil has
5143 # grown larger than 4GB, which dsymutil can't handle. Reduce
5144 # the amount of debug symbols.
5145 '-gline-tables-only', # See http://crbug.com/479841
5146 ]
5147 }],
5148 ],
5170 }, 5149 },
5171 'target_conditions': [ 5150 'target_conditions': [
5172 ['_type=="executable"', { 5151 ['_type=="executable"', {
5173 'postbuilds': [ 5152 'postbuilds': [
5174 { 5153 {
5175 # Arranges for data (heap) pages to be protected against 5154 # Arranges for data (heap) pages to be protected against
5176 # code execution when running on Mac OS X 10.7 ("Lion"), and 5155 # code execution when running on Mac OS X 10.7 ("Lion"), and
5177 # ensures that the position-independent executable (PIE) bit 5156 # ensures that the position-independent executable (PIE) bit
5178 # is set for ASLR when running on Mac OS X 10.5 ("Leopard"). 5157 # is set for ASLR when running on Mac OS X 10.5 ("Leopard").
5179 'variables': { 5158 'variables': {
(...skipping 359 matching lines...) Expand 10 before | Expand all | Expand 10 after
5539 # removed as code is fixed. 5518 # removed as code is fixed.
5540 4100, # Unreferenced formal parameter 5519 4100, # Unreferenced formal parameter
5541 4121, # Alignment of a member was sensitive to packing 5520 4121, # Alignment of a member was sensitive to packing
5542 4244, # Conversion from 'type1' to 'type2', possible loss of data 5521 4244, # Conversion from 'type1' to 'type2', possible loss of data
5543 4481, # Nonstandard extension used: override specifier 'keyword' 5522 4481, # Nonstandard extension used: override specifier 'keyword'
5544 4505, # Unreferenced local function has been removed 5523 4505, # Unreferenced local function has been removed
5545 4510, # Default constructor could not be generated 5524 4510, # Default constructor could not be generated
5546 4512, # Assignment operator could not be generated 5525 4512, # Assignment operator could not be generated
5547 4610, # Object can never be instantiated 5526 4610, # Object can never be instantiated
5548 4996, # 'X': was declared deprecated (for GetVersionEx). 5527 4996, # 'X': was declared deprecated (for GetVersionEx).
5528
5529 # These are variable shadowing warnings that are new in VS2015. We
5530 # should work through these at some point -- they may be removed from
5531 # the RTM release in the /W4 set.
5532 4456, 4457, 4458, 4459,
5549 ], 5533 ],
5550 'msvs_settings': { 5534 'msvs_settings': {
5551 'VCCLCompilerTool': { 5535 'VCCLCompilerTool': {
5552 'AdditionalOptions': ['/MP'], 5536 'AdditionalOptions': ['/MP'],
5553 'MinimalRebuild': 'false', 5537 'MinimalRebuild': 'false',
5554 'BufferSecurityCheck': 'true', 5538 'BufferSecurityCheck': 'true',
5555 'EnableFunctionLevelLinking': 'true', 5539 'EnableFunctionLevelLinking': 'true',
5556 'RuntimeTypeInfo': 'false', 5540 'RuntimeTypeInfo': 'false',
5557 'WarningLevel': '4', 5541 'WarningLevel': '4',
5558 'WarnAsError': 'true', 5542 'WarnAsError': 'true',
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
5674 }, 5658 },
5675 }], 5659 }],
5676 ['clang==1 and target_arch=="ia32"', { 5660 ['clang==1 and target_arch=="ia32"', {
5677 'VCCLCompilerTool': { 5661 'VCCLCompilerTool': {
5678 'WarnAsError': 'false', 5662 'WarnAsError': 'false',
5679 'AdditionalOptions': [ 5663 'AdditionalOptions': [
5680 '/fallback', 5664 '/fallback',
5681 ], 5665 ],
5682 }, 5666 },
5683 }], 5667 }],
5668 ['clang==1 and clang_use_chrome_plugins==1', {
5669 'VCCLCompilerTool': {
5670 'AdditionalOptions': [
5671 '<@(clang_chrome_plugins_flags)',
5672 ],
5673 },
5674 }],
5684 ], 5675 ],
5685 }, 5676 },
5686 }, 5677 },
5687 }], 5678 }],
5688 ['disable_nacl==1', { 5679 ['disable_nacl==1', {
5689 'target_defaults': { 5680 'target_defaults': {
5690 'defines': [ 5681 'defines': [
5691 'DISABLE_NACL', 5682 'DISABLE_NACL',
5692 ], 5683 ],
5693 }, 5684 },
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
5763 }], 5754 }],
5764 ['(_type=="shared_library" or _type=="loadable_module") and component=="static_library"', { 5755 ['(_type=="shared_library" or _type=="loadable_module") and component=="static_library"', {
5765 'VCLinkerTool': { 5756 'VCLinkerTool': {
5766 'AdditionalDependencies': [ 5757 'AdditionalDependencies': [
5767 'clang_rt.asan_dll_thunk-i386.lib', 5758 'clang_rt.asan_dll_thunk-i386.lib',
5768 ], 5759 ],
5769 }, 5760 },
5770 }], 5761 }],
5771 ], 5762 ],
5772 }], 5763 }],
5764 ['sanitizer_coverage!=0', {
5765 # TODO(asan/win): Move this down into the general
5766 # win-target_defaults section once the 64-bit asan runtime
5767 # exists. See crbug.com/345874.
5768 'VCCLCompilerTool': {
5769 'AdditionalOptions': [
5770 '-fsanitize-coverage=<(sanitizer_coverage)',
5771 ],
5772 'defines': [
5773 'SANITIZER_COVERAGE',
5774 ],
5775 },
5776 }],
5773 ], 5777 ],
5774 }, 5778 },
5775 }, 5779 },
5776 'x64_Base': { 5780 'x64_Base': {
5777 'msvs_settings': { 5781 'msvs_settings': {
5778 'VCLinkerTool': { 5782 'VCLinkerTool': {
5779 'AdditionalOptions': [ 5783 'AdditionalOptions': [
5780 # safeseh is not compatible with x64 5784 # safeseh is not compatible with x64
5781 '/dynamicbase', 5785 '/dynamicbase',
5782 '/ignore:4199', 5786 '/ignore:4199',
(...skipping 23 matching lines...) Expand all
5806 ], 5810 ],
5807 }, 5811 },
5808 }], 5812 }],
5809 ['gcc_version>=48 and clang==0 and host_clang==1', { 5813 ['gcc_version>=48 and clang==0 and host_clang==1', {
5810 'target_defaults': { 5814 'target_defaults': {
5811 'target_conditions': [ 5815 'target_conditions': [
5812 ['_toolset=="host"', { 'cflags!': [ '-Wno-unused-local-typedefs' ]}], 5816 ['_toolset=="host"', { 'cflags!': [ '-Wno-unused-local-typedefs' ]}],
5813 ], 5817 ],
5814 }, 5818 },
5815 }], 5819 }],
5816 # In the android webview build, force host targets to be compiled with clang
5817 # as the hermetic host gcc is very old on some platforms. This is already
5818 # the default on the current development version of AOSP but we force it
5819 # here in case we need to compile against an older release version. We also
5820 # explicitly set it to false for target binaries to avoid causing problems
5821 # for the work to enable clang by default in AOSP. We also force the use of
5822 # libstdc++ on host as peculiarities of the android gyp backend mean that
5823 # using libc++ doesn't work, and Chromium doesn't yet require a more modern
5824 # C++ library.
5825 ['android_webview_build==1', {
5826 'target_defaults': {
5827 'target_conditions': [
5828 ['_toolset=="host"', {
5829 'aosp_build_settings': {
5830 'LOCAL_CLANG': 'true',
5831 'LOCAL_CXX_STL': 'libstdc++',
5832 },
5833 }, { # else: _toolset != "host"
5834 'aosp_build_settings': {
5835 'LOCAL_CLANG': 'false',
5836 },
5837 }],
5838 ],
5839 },
5840 }],
5841 # We need a special case to handle the android webview build on mac because
5842 # the host gcc there doesn't accept this flag, but the target gcc may
5843 # require it.
5844 ['gcc_version>=48 and android_webview_build==1 and host_os=="mac"', {
5845 'target_defaults': {
5846 'target_conditions': [
5847 ['_toolset=="host"', {
5848 'cflags!': [
5849 '-Wno-unused-local-typedefs',
5850 ],
5851 }],
5852 ],
5853 },
5854 }],
5855 ['clang==1 and ((OS!="mac" and OS!="ios") or clang_xcode==0) ' 5820 ['clang==1 and ((OS!="mac" and OS!="ios") or clang_xcode==0) '
5856 'and OS!="win"', { 5821 'and OS!="win"', {
5857 'make_global_settings': [ 5822 'make_global_settings': [
5858 ['CC', '<(make_clang_dir)/bin/clang'], 5823 ['CC', '<(make_clang_dir)/bin/clang'],
5859 ['CXX', '<(make_clang_dir)/bin/clang++'], 5824 ['CXX', '<(make_clang_dir)/bin/clang++'],
5860 ['CC.host', '$(CC)'], 5825 ['CC.host', '$(CC)'],
5861 ['CXX.host', '$(CXX)'], 5826 ['CXX.host', '$(CXX)'],
5862 ], 5827 ],
5863 }], 5828 }],
5864 ['clang==1 and OS=="win"', { 5829 ['clang==1 and OS=="win"', {
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
5914 ['CXX.host_wrapper', '<(gomadir)/gomacc'], 5879 ['CXX.host_wrapper', '<(gomadir)/gomacc'],
5915 ], 5880 ],
5916 }], 5881 }],
5917 ['use_lto==1', { 5882 ['use_lto==1', {
5918 'target_defaults': { 5883 'target_defaults': {
5919 'target_conditions': [ 5884 'target_conditions': [
5920 ['_toolset=="target"', { 5885 ['_toolset=="target"', {
5921 'cflags': [ 5886 'cflags': [
5922 '-flto', 5887 '-flto',
5923 ], 5888 ],
5889 'xcode_settings': {
5890 'LLVM_LTO': 'YES',
5891 },
5892 }],
5893 # Work-around for http://openradar.appspot.com/20356002
5894 ['_toolset=="target" and _type!="static_library"', {
5895 'xcode_settings': {
5896 'OTHER_LDFLAGS': [
5897 '-Wl,-all_load',
5898 ],
5899 },
5924 }], 5900 }],
5925 ], 5901 ],
5926 }, 5902 },
5927 }], 5903 }],
5928 ['use_lto==1 and clang==0', { 5904 ['use_lto==1 and clang==0', {
5929 'target_defaults': { 5905 'target_defaults': {
5930 'target_conditions': [ 5906 'target_conditions': [
5931 ['_toolset=="target"', { 5907 ['_toolset=="target"', {
5932 'cflags': [ 5908 'cflags': [
5933 '-ffat-lto-objects', 5909 '-ffat-lto-objects',
5934 ], 5910 ],
5935 }], 5911 }],
5936 ], 5912 ],
5937 }, 5913 },
5938 }], 5914 }],
5939 ['use_lto==1 and clang==1', { 5915 ['use_lto==1 and clang==1', {
5940 'target_defaults': { 5916 'target_defaults': {
5941 'target_conditions': [ 5917 'target_conditions': [
5942 ['_toolset=="target"', { 5918 ['_toolset=="target"', {
5943 'arflags': [ 5919 'arflags': [
5944 '--plugin', '../../<(make_clang_dir)/lib/LLVMgold.so', 5920 '--plugin', '../../<(make_clang_dir)/lib/LLVMgold.so',
5945 ], 5921 ],
5946 }], 5922 }],
5947 ], 5923 ],
5948 }, 5924 },
5949 }], 5925 }],
5926 # Apply a lower LTO optimization level in non-official builds.
5927 ['use_lto==1 and clang==1 and buildtype!="Official"', {
5928 'target_defaults': {
5929 'target_conditions': [
5930 ['_toolset=="target"', {
5931 'ldflags': [
5932 '-Wl,--plugin-opt,O1',
5933 ],
5934 }],
5935 ['_toolset=="target" and _type!="static_library"', {
5936 'xcode_settings': {
5937 'OTHER_LDFLAGS': [
5938 '-Wl,-mllvm,-O1',
5939 ],
5940 },
5941 }],
5942 ],
5943 },
5944 }],
5950 ['use_lto==1 and clang==1 and (target_arch=="ia32" or target_arch=="x64")', { 5945 ['use_lto==1 and clang==1 and (target_arch=="ia32" or target_arch=="x64")', {
5951 'target_defaults': { 5946 'target_defaults': {
5952 'target_conditions': [ 5947 'target_conditions': [
5953 # Required for third_party/zlib/crc_folding.c and various other code 5948 # Required for third_party/zlib/crc_folding.c and various other code
5954 # that uses SSE. TODO(pcc): Remove this once we properly support 5949 # that uses SSE. TODO(pcc): Remove this once we properly support
5955 # subtarget specific code generation in LLVM. 5950 # subtarget specific code generation in LLVM.
5956 ['_toolset=="target"', { 5951 ['_toolset=="target"', {
5957 'ldflags': [ 5952 'ldflags': [
5958 '-Wl,-plugin-opt,mcpu=corei7-avx', 5953 '-Wl,-plugin-opt,mcpu=corei7-avx',
5959 ], 5954 ],
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
6023 ['_toolset=="target" and _type!="static_library"', { 6018 ['_toolset=="target" and _type!="static_library"', {
6024 'xcode_settings': { 6019 'xcode_settings': {
6025 'OTHER_LDFLAGS': [ 6020 'OTHER_LDFLAGS': [
6026 '-fsanitize=cfi-vptr', 6021 '-fsanitize=cfi-vptr',
6027 ], 6022 ],
6028 }, 6023 },
6029 }], 6024 }],
6030 ], 6025 ],
6031 }, 6026 },
6032 }], 6027 }],
6028 ['cfi_derived_cast==1', {
6029 'target_defaults': {
6030 'target_conditions': [
6031 ['_toolset=="target"', {
6032 'cflags': [
6033 '-fsanitize=cfi-derived-cast',
6034 ],
6035 'ldflags': [
6036 '-fsanitize=cfi-derived-cast',
6037 ],
6038 'xcode_settings': {
6039 'OTHER_CFLAGS': [
6040 '-fsanitize=cfi-derived-cast',
6041 ],
6042 },
6043 }],
6044 ['_toolset=="target" and _type!="static_library"', {
6045 'xcode_settings': {
6046 'OTHER_LDFLAGS': [
6047 '-fsanitize=cfi-derived-cast',
6048 ],
6049 },
6050 }],
6051 ],
6052 },
6053 }],
6054 ['cfi_unrelated_cast==1', {
6055 'target_defaults': {
6056 'target_conditions': [
6057 ['_toolset=="target"', {
6058 'cflags': [
6059 '-fsanitize=cfi-unrelated-cast',
6060 ],
6061 'ldflags': [
6062 '-fsanitize=cfi-unrelated-cast',
6063 ],
6064 'xcode_settings': {
6065 'OTHER_CFLAGS': [
6066 '-fsanitize=cfi-unrelated-cast',
6067 ],
6068 },
6069 }],
6070 ['_toolset=="target" and _type!="static_library"', {
6071 'xcode_settings': {
6072 'OTHER_LDFLAGS': [
6073 '-fsanitize=cfi-unrelated-cast',
6074 ],
6075 },
6076 }],
6077 ],
6078 },
6079 }],
6080 ['cfi_vptr==1 or cfi_derived_cast==1 or cfi_unrelated_cast==1', {
6081 'target_defaults': {
6082 'target_conditions': [
6083 ['_toolset=="target"', {
6084 'cflags': [
6085 '-fsanitize-blacklist=<(cfi_blacklist)',
6086 ],
6087 'xcode_settings': {
6088 'OTHER_CFLAGS': [
6089 '-fsanitize-blacklist=<(cfi_blacklist)',
6090 ],
6091 },
6092 }],
6093 ],
6094 },
6095 }],
6033 ], 6096 ],
6034 'xcode_settings': { 6097 'xcode_settings': {
6035 # DON'T ADD ANYTHING NEW TO THIS BLOCK UNLESS YOU REALLY REALLY NEED IT! 6098 # DON'T ADD ANYTHING NEW TO THIS BLOCK UNLESS YOU REALLY REALLY NEED IT!
6036 # This block adds *project-wide* configuration settings to each project 6099 # This block adds *project-wide* configuration settings to each project
6037 # file. It's almost always wrong to put things here. Specify your 6100 # file. It's almost always wrong to put things here. Specify your
6038 # custom xcode_settings in target_defaults to add them to targets instead. 6101 # custom xcode_settings in target_defaults to add them to targets instead.
6039 6102
6040 'conditions': [ 6103 'conditions': [
6041 # In an Xcode Project Info window, the "Base SDK for All Configurations" 6104 # In an Xcode Project Info window, the "Base SDK for All Configurations"
6042 # setting sets the SDK on a project-wide basis. In order to get the 6105 # setting sets the SDK on a project-wide basis. In order to get the
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
6093 # settings in target dicts. SYMROOT is a special case, because many other 6156 # settings in target dicts. SYMROOT is a special case, because many other
6094 # Xcode variables depend on it, including variables such as 6157 # Xcode variables depend on it, including variables such as
6095 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something 6158 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something
6096 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the 6159 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the
6097 # files to appear (when present) in the UI as actual files and not red 6160 # files to appear (when present) in the UI as actual files and not red
6098 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR, 6161 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR,
6099 # and therefore SYMROOT, needs to be set at the project level. 6162 # and therefore SYMROOT, needs to be set at the project level.
6100 'SYMROOT': '<(DEPTH)/xcodebuild', 6163 'SYMROOT': '<(DEPTH)/xcodebuild',
6101 }, 6164 },
6102 } 6165 }
OLDNEW
« no previous file with comments | « build/build_config.h ('k') | build/config/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698