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

Side by Side Diff: build/common.gypi

Issue 1043913002: Remove most android_webview_build conditions from build. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address comments and rebase 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/android/finalize_apk_action.gypi ('k') | build/config/android/config.gni » ('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 137 matching lines...) Expand 10 before | Expand all | Expand 10 after
148 'branding%': '<(branding)', 148 'branding%': '<(branding)',
149 'host_arch%': '<(host_arch)', 149 'host_arch%': '<(host_arch)',
150 'target_arch%': '<(target_arch)', 150 'target_arch%': '<(target_arch)',
151 151
152 'target_subarch%': '', 152 'target_subarch%': '',
153 153
154 # The channel to build on Android: stable, beta, dev, canary, or 154 # The channel to build on Android: stable, beta, dev, canary, or
155 # default. "default" should be used on non-official builds. 155 # default. "default" should be used on non-official builds.
156 'android_channel%': 'default', 156 'android_channel%': 'default',
157 157
158 # This is set when building the Android WebView inside the Android 158 # WebView now builds in a normal android build; don't use this.
159 # build system, using the 'android' gyp backend. The WebView code is 159 # TODO(torne): remove this. http://crbug.com/440793
160 # still built when this is unset, but builds using the normal chromium
161 # build system.
162 'android_webview_build%': 0, 160 'android_webview_build%': 0,
163 161
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.
(...skipping 614 matching lines...) Expand 10 before | Expand all | Expand 10 after
786 ['OS=="android" or branding=="Chrome" or chromecast==1', { 784 ['OS=="android" or branding=="Chrome" or chromecast==1', {
787 'proprietary_codecs%': 1, 785 'proprietary_codecs%': 1,
788 }, { 786 }, {
789 'proprietary_codecs%': 0, 787 'proprietary_codecs%': 0,
790 }], 788 }],
791 789
792 ['OS=="mac" or OS=="ios"', { 790 ['OS=="mac" or OS=="ios"', {
793 'native_memory_pressure_signals%': 1, 791 'native_memory_pressure_signals%': 1,
794 }], 792 }],
795 793
796 # Enable autofill dialog for Android, Mac and Views-enabled platforms. 794 # Enable autofill dialog when not on iOS.
797 ['toolkit_views==1 or (OS=="android" and android_webview_build==0) or OS =="mac"', { 795 ['OS!="ios"', {
798 'enable_autofill_dialog%': 1, 796 'enable_autofill_dialog%': 1,
799 797
800 'conditions': [ 798 'conditions': [
801 ['buildtype=="Official"', { 799 ['buildtype=="Official"', {
802 'enable_prod_wallet_service%': 1, 800 'enable_prod_wallet_service%': 1,
803 }], 801 }],
804 ] 802 ]
805 }], 803 }],
806 804
807 ['OS=="android"', { 805 ['OS=="android"', {
(...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after
1016 1014
1017 # Turn on JNI generation optimizations on non-WebView builds. 1015 # Turn on JNI generation optimizations on non-WebView builds.
1018 ['OS=="android" and android_webview_build==0', { 1016 ['OS=="android" and android_webview_build==0', {
1019 'optimize_jni_generation%': 1, 1017 'optimize_jni_generation%': 1,
1020 }, { 1018 }, {
1021 'optimize_jni_generation%': 0, 1019 'optimize_jni_generation%': 0,
1022 }], 1020 }],
1023 1021
1024 # TODO(rmcilroy): Enable v8_use_external_startup_data on ChromeOS 1022 # TODO(rmcilroy): Enable v8_use_external_startup_data on ChromeOS
1025 # http://crbug.com/421063 1023 # http://crbug.com/421063
1026 ['android_webview_build==0 and chromecast==0 and chromeos==0 and OS!="io s"', { 1024 ['chromecast==0 and chromeos==0 and OS!="ios"', {
1027 'v8_use_external_startup_data%': 1, 1025 'v8_use_external_startup_data%': 1,
1028 }, { 1026 }, {
1029 'v8_use_external_startup_data%': 0, 1027 'v8_use_external_startup_data%': 0,
1030 }], 1028 }],
1031 ], 1029 ],
1032 1030
1033 # Set this to 1 to enable use of concatenated impulse responses 1031 # Set this to 1 to enable use of concatenated impulse responses
1034 # for the HRTF panner in WebAudio. 1032 # for the HRTF panner in WebAudio.
1035 'use_concatenated_impulse_responses': 1, 1033 'use_concatenated_impulse_responses': 1,
1036 1034
(...skipping 530 matching lines...) Expand 10 before | Expand all | Expand 10 after
1567 }, { 1565 }, {
1568 'binutils_version%': 0, 1566 'binutils_version%': 0,
1569 }], 1567 }],
1570 # The version of GCC in use, set later in platforms that use GCC and have 1568 # The version of GCC in use, set later in platforms that use GCC and have
1571 # not explicitly chosen to build with clang. Currently, this means all 1569 # not explicitly chosen to build with clang. Currently, this means all
1572 # platforms except Windows, Mac and iOS. 1570 # platforms except Windows, Mac and iOS.
1573 # TODO(glider): set clang to 1 earlier for ASan and TSan builds so that 1571 # TODO(glider): set clang to 1 earlier for ASan and TSan builds so that
1574 # it takes effect here. 1572 # it takes effect here.
1575 ['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', { 1573 ['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', {
1576 'conditions': [ 1574 'conditions': [
1577 ['OS=="android" and android_webview_build==0', { 1575 ['OS=="android"', {
1578 'host_gcc_version%': '<!pymod_do_main(compiler_version host compiler )', 1576 'host_gcc_version%': '<!pymod_do_main(compiler_version host compiler )',
1579 # We directly set the gcc version since we know what we use. 1577 # We directly set the gcc version since we know what we use.
1580 'gcc_version%': 49, 1578 'gcc_version%': 49,
1581 }], 1579 }, {
1582 ['OS=="android" and android_webview_build==1', {
1583 # Android WebView uses a hermetic clang toolchain for host builds.
1584 'host_gcc_version%': 0,
1585 # Android WebView uses the GCC toolchain from the Android build.
1586 'gcc_version%': 48,
1587 }],
1588 ['OS!="android"', {
1589 'host_gcc_version%': '<!pymod_do_main(compiler_version host compiler )', 1580 'host_gcc_version%': '<!pymod_do_main(compiler_version host compiler )',
1590 'gcc_version%': '<!pymod_do_main(compiler_version target compiler)', 1581 'gcc_version%': '<!pymod_do_main(compiler_version target compiler)',
1591 }], 1582 }],
1592 ], 1583 ],
1593 }, { 1584 }, {
1594 'host_gcc_version%': 0, 1585 'host_gcc_version%': 0,
1595 'gcc_version%': 0, 1586 'gcc_version%': 0,
1596 }], 1587 }],
1597 ['OS=="win" and "<!pymod_do_main(dir_exists <(windows_sdk_default_path))"= ="True"', { 1588 ['OS=="win" and "<!pymod_do_main(dir_exists <(windows_sdk_default_path))"= ="True"', {
1598 'windows_sdk_path%': '<(windows_sdk_default_path)', 1589 'windows_sdk_path%': '<(windows_sdk_default_path)',
(...skipping 479 matching lines...) Expand 10 before | Expand all | Expand 10 after
2078 'ast', 'bs', 'ca@valencia', 'en-AU', 'eo', 'eu', 'gl', 'hy', 'ia', 2069 'ast', 'bs', 'ca@valencia', 'en-AU', 'eo', 'eu', 'gl', 'hy', 'ia',
2079 'ka', 'ku', 'kw', 'ms', 'ug' 2070 'ka', 'ku', 'kw', 'ms', 'ug'
2080 ], 2071 ],
2081 }], 2072 }],
2082 ['OS=="android"', { 2073 ['OS=="android"', {
2083 'grit_defines': [ 2074 'grit_defines': [
2084 '-t', 'android', 2075 '-t', 'android',
2085 '-E', 'ANDROID_JAVA_TAGGED_ONLY=true', 2076 '-E', 'ANDROID_JAVA_TAGGED_ONLY=true',
2086 '--no-output-all-resource-defines', 2077 '--no-output-all-resource-defines',
2087 ], 2078 ],
2088 'conditions': [
2089 ['<(android_webview_build)==1', {
2090 'grit_defines': ['-D', 'is_android_webview_build'],
2091 }],
2092 ],
2093 }], 2079 }],
2094 ['OS=="mac" or OS=="ios"', { 2080 ['OS=="mac" or OS=="ios"', {
2095 'grit_defines': ['-D', 'scale_factors=2x'], 2081 'grit_defines': ['-D', 'scale_factors=2x'],
2096 }], 2082 }],
2097 ['OS == "ios"', { 2083 ['OS == "ios"', {
2098 'variables': { 2084 'variables': {
2099 'enable_coverage%': 0, 2085 'enable_coverage%': 0,
2100 }, 2086 },
2101 'grit_defines': [ 2087 'grit_defines': [
2102 '-t', 'ios', 2088 '-t', 'ios',
(...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after
2303 # Keep the code under #ifndef NVALGRIND. 2289 # Keep the code under #ifndef NVALGRIND.
2304 'release_valgrind_build': 1, 2290 'release_valgrind_build': 1,
2305 }], 2291 }],
2306 2292
2307 # Enable RLZ on Win, Mac, iOS and ChromeOS. 2293 # Enable RLZ on Win, Mac, iOS and ChromeOS.
2308 ['branding=="Chrome" and (OS=="win" or OS=="mac" or OS=="ios" or chromeos= =1)', { 2294 ['branding=="Chrome" and (OS=="win" or OS=="mac" or OS=="ios" or chromeos= =1)', {
2309 'enable_rlz%': 1, 2295 'enable_rlz%': 1,
2310 }], 2296 }],
2311 2297
2312 # Set default compiler flags depending on ARM version. 2298 # Set default compiler flags depending on ARM version.
2313 ['arm_version==6 and android_webview_build==0', { 2299 ['arm_version==6', {
2314 'arm_arch%': 'armv6', 2300 'arm_arch%': 'armv6',
2315 'arm_tune%': '', 2301 'arm_tune%': '',
2316 'arm_fpu%': 'vfp', 2302 'arm_fpu%': 'vfp',
2317 'arm_float_abi%': 'softfp', 2303 'arm_float_abi%': 'softfp',
2318 'arm_thumb%': 0, 2304 'arm_thumb%': 0,
2319 }], 2305 }],
2320 ['arm_version==7 and android_webview_build==0', { 2306 ['arm_version==7', {
2321 'arm_arch%': 'armv7-a', 2307 'arm_arch%': 'armv7-a',
2322 'arm_tune%': 'generic-armv7-a', 2308 'arm_tune%': 'generic-armv7-a',
2323 'conditions': [ 2309 'conditions': [
2324 ['arm_neon==1', { 2310 ['arm_neon==1', {
2325 'arm_fpu%': 'neon', 2311 'arm_fpu%': 'neon',
2326 }, { 2312 }, {
2327 'arm_fpu%': 'vfpv3-d16', 2313 'arm_fpu%': 'vfpv3-d16',
2328 }], 2314 }],
2329 ], 2315 ],
2330 # Change the default to hard once the armhf transition is complete. 2316 # Change the default to hard once the armhf transition is complete.
2331 'arm_float_abi%': 'softfp', 2317 'arm_float_abi%': 'softfp',
2332 'arm_thumb%': 1, 2318 'arm_thumb%': 1,
2333 }], 2319 }],
2334 2320
2335 # Set default compiler flags for MIPS floating-point support. 2321 # Set default compiler flags for MIPS floating-point support.
2336 ['target_arch=="mipsel" and android_webview_build==0', { 2322 ['target_arch=="mipsel"', {
2337 'mips_float_abi%': 'hard', 2323 'mips_float_abi%': 'hard',
2338 }], 2324 }],
2339 ['target_arch=="mipsel" and mips_arch_variant=="r2" and android_webview_bu ild==0', { 2325 ['target_arch=="mipsel" and mips_arch_variant=="r2"', {
2340 'mips_fpu_mode%': 'fp32', 2326 'mips_fpu_mode%': 'fp32',
2341 }], 2327 }],
2342 2328
2343 ['android_webview_build==1', {
2344 # The WebView build gets its cpu-specific flags from the Android build s ystem.
2345 'arm_arch%': '',
2346 'arm_tune%': '',
2347 'arm_fpu%': '',
2348 'arm_float_abi%': '',
2349 'arm_thumb%': 0,
2350 'mips_float_abi%': '',
2351 'mips_fpu_mode%': '',
2352 }],
2353
2354 # Enable brlapi by default for chromeos. 2329 # Enable brlapi by default for chromeos.
2355 [ 'chromeos==1', { 2330 [ 'chromeos==1', {
2356 'use_brlapi%': 1, 2331 'use_brlapi%': 1,
2357 }], 2332 }],
2358 2333
2359 ['use_ozone==1 and ozone_auto_platforms==1', { 2334 ['use_ozone==1 and ozone_auto_platforms==1', {
2360 # Use test as the default platform. 2335 # Use test as the default platform.
2361 'ozone_platform%': 'test', 2336 'ozone_platform%': 'test',
2362 2337
2363 # Build all platforms whose deps are in install-build-deps.sh. 2338 # Build all platforms whose deps are in install-build-deps.sh.
(...skipping 1708 matching lines...) Expand 10 before | Expand all | Expand 10 after
4072 ], 4047 ],
4073 }], 4048 }],
4074 ['target_arch=="arm64"', { 4049 ['target_arch=="arm64"', {
4075 'target_conditions': [ 4050 'target_conditions': [
4076 ['_toolset=="target"', { 4051 ['_toolset=="target"', {
4077 'conditions': [ 4052 'conditions': [
4078 ['OS=="android"', { 4053 ['OS=="android"', {
4079 'cflags!': [ 4054 'cflags!': [
4080 '-fstack-protector', # stack protector is always enabled on arm64. 4055 '-fstack-protector', # stack protector is always enabled on arm64.
4081 ], 4056 ],
4082 }],
4083 # TODO: Remove webview test once webview fully compiles from
4084 # Chromium. crbug.com/440793
4085 ['OS=="android" and android_webview_build==0', {
4086 'ldflags': [ 4057 'ldflags': [
4087 '-fuse-ld=gold', 4058 '-fuse-ld=gold',
4088 ], 4059 ],
4089 }], 4060 }],
4090 ], 4061 ],
4091 }], 4062 }],
4092 ], 4063 ],
4093 }], 4064 }],
4094 ['target_arch=="mipsel"', { 4065 ['target_arch=="mipsel"', {
4095 'target_conditions': [ 4066 'target_conditions': [
4096 ['_toolset=="target"', { 4067 ['_toolset=="target"', {
4097 'conditions': [ 4068 'conditions': [
4098 ['android_webview_build==0', { 4069 ['mips_arch_variant=="r6"', {
4099 'conditions': [ 4070 'conditions': [
4100 ['mips_arch_variant=="r6"', { 4071 ['clang==1', {
4072 'cflags': [ '-target mipsel-linux-gnu', '-march=mips32r6 ', ],
4073 'ldflags': [ '-target mipsel-linux-gnu', ],
4074 }, { # clang==0
4075 'cflags': ['-mips32r6', '-Wa,-mips32r6', ],
4076 }],
4077 ['clang==0 and OS=="android"', {
4078 'ldflags': ['-mips32r6', '-Wl,-melf32ltsmip',],
4079 }],
4080 ],
4081 }],
4082 ['mips_arch_variant=="r2"', {
4083 'conditions': [
4084 ['mips_float_abi=="hard" and mips_fpu_mode!=""', {
4085 'cflags': ['-m<(mips_fpu_mode)'],
4086 }],
4087 ['clang==1', {
4088 'conditions': [
4089 ['OS=="android"', {
4090 'cflags': [ '-target mipsel-linux-android', '-march= mipsel', '-mcpu=mips32r2'],
4091 'ldflags': [ '-target mipsel-linux-android', ],
4092 }],
4093 ],
4094 }, { # clang==0
4095 'cflags': ['-mips32r2', '-Wa,-mips32r2', ],
4096 }],
4097 ],
4098 }],
4099 ['mips_arch_variant=="r1"', {
4100 'conditions': [
4101 ['clang==1', {
4101 'conditions': [ 4102 'conditions': [
4102 ['clang==1', { 4103 ['OS=="android"', {
4103 'cflags': [ '-target mipsel-linux-gnu', '-march=mips 32r6', ], 4104 'cflags': [ '-target mipsel-linux-android', '-march= mipsel', '-mcpu=mips32'],
4104 'ldflags': [ '-target mipsel-linux-gnu', ], 4105 'ldflags': [ '-target mipsel-linux-android', ],
4105 }, { # clang==0
4106 'cflags': ['-mips32r6', '-Wa,-mips32r6', ],
4107 }],
4108 ['clang==0 and OS=="android"', {
4109 'ldflags': ['-mips32r6', '-Wl,-melf32ltsmip',],
4110 }], 4106 }],
4111 ], 4107 ],
4112 }], 4108 }, { # clang==0
4113 ['mips_arch_variant=="r2"', { 4109 'cflags': ['-mips32', '-Wa,-mips32', ],
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', '-ma rch=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', {
4133 'conditions': [
4134 ['OS=="android"', {
4135 'cflags': [ '-target mipsel-linux-android', '-ma rch=mipsel', '-mcpu=mips32'],
4136 'ldflags': [ '-target mipsel-linux-android', ],
4137 }],
4138 ],
4139 }, { # clang==0
4140 'cflags': ['-mips32', '-Wa,-mips32', ],
4141 }],
4142 ],
4143 }],
4144 ['clang==1', {
4145 'cflags!': [
4146 # Clang does not support the following options.
4147 '-finline-limit=64',
4148 ],
4149 'cflags': [
4150 # TODO(gordanac) Enable integrated-as.
4151 '-no-integrated-as',
4152 '-B<(android_toolchain)', # Else /usr/bin/as gets pic ked up.
4153 ],
4154 'ldflags': [
4155 # Let clang find the ld in the NDK.
4156 '--gcc-toolchain=<(android_toolchain)/..',
4157 ],
4158 }],
4159 ['mips_dsp_rev==1', {
4160 'cflags': ['-mdsp'],
4161 }],
4162 ['mips_dsp_rev==2', {
4163 'cflags': ['-mdspr2'],
4164 }], 4110 }],
4165 ], 4111 ],
4112 }],
4113 ['clang==1', {
4114 'cflags!': [
4115 # Clang does not support the following options.
4116 '-finline-limit=64',
4117 ],
4166 'cflags': [ 4118 'cflags': [
4167 '-m<(mips_float_abi)-float' 4119 # TODO(gordanac) Enable integrated-as.
4120 '-no-integrated-as',
4121 '-B<(android_toolchain)', # Else /usr/bin/as gets picked up.
4122 ],
4123 'ldflags': [
4124 # Let clang find the ld in the NDK.
4125 '--gcc-toolchain=<(android_toolchain)/..',
4168 ], 4126 ],
4169 }], 4127 }],
4128 ['mips_dsp_rev==1', {
4129 'cflags': ['-mdsp'],
4130 }],
4131 ['mips_dsp_rev==2', {
4132 'cflags': ['-mdspr2'],
4133 }],
4134 ],
4135 'cflags': [
4136 '-m<(mips_float_abi)-float'
4170 ], 4137 ],
4171 'ldflags': [ 4138 'ldflags': [
4172 '-Wl,--no-keep-memory' 4139 '-Wl,--no-keep-memory'
4173 ], 4140 ],
4174 'cflags_cc': [ 4141 'cflags_cc': [
4175 '-Wno-uninitialized', 4142 '-Wno-uninitialized',
4176 ], 4143 ],
4177 }], 4144 }],
4178 ], 4145 ],
4179 }], 4146 }],
4180 ['target_arch=="mips64el"', { 4147 ['target_arch=="mips64el"', {
4181 'target_conditions': [ 4148 'target_conditions': [
4182 ['_toolset=="target"', { 4149 ['_toolset=="target"', {
4183 'conditions': [ 4150 'conditions': [
4184 ['android_webview_build==0', { 4151 ['mips_arch_variant=="r6"', {
4185 'conditions': [ 4152 'cflags': ['-mips64r6', '-Wa,-mips64r6'],
4186 ['mips_arch_variant=="r6"', { 4153 'ldflags': ['-mips64r6'],
4187 'cflags': ['-mips64r6', '-Wa,-mips64r6'], 4154 }],
4188 'ldflags': ['-mips64r6'], 4155 ['mips_arch_variant=="r2"', {
4189 }], 4156 'cflags': ['-mips64r2', '-Wa,-mips64r2'],
4190 ['mips_arch_variant=="r2"', { 4157 'ldflags': ['-mips64r2'],
4191 'cflags': ['-mips64r2', '-Wa,-mips64r2'],
4192 'ldflags': ['-mips64r2'],
4193 }],
4194 ],
4195 }], 4158 }],
4196 ], 4159 ],
4197 'cflags_cc': [ 4160 'cflags_cc': [
4198 '-Wno-uninitialized', 4161 '-Wno-uninitialized',
4199 ], 4162 ],
4200 }], 4163 }],
4201 ], 4164 ],
4202 }], 4165 }],
4203 ['linux_fpic==1', { 4166 ['linux_fpic==1', {
4204 'cflags': [ 4167 'cflags': [
(...skipping 501 matching lines...) Expand 10 before | Expand all | Expand 10 after
4706 ], 4669 ],
4707 'cflags': [ 4670 'cflags': [
4708 '-ffunction-sections', 4671 '-ffunction-sections',
4709 '-funwind-tables', 4672 '-funwind-tables',
4710 '-g', 4673 '-g',
4711 '-fstack-protector', 4674 '-fstack-protector',
4712 '-fno-short-enums', 4675 '-fno-short-enums',
4713 '-finline-limit=64', 4676 '-finline-limit=64',
4714 '-Wa,--noexecstack', 4677 '-Wa,--noexecstack',
4715 '<@(release_extra_cflags)', 4678 '<@(release_extra_cflags)',
4679 '--sysroot=<(android_ndk_sysroot)',
4680 # NOTE: The stlport header include paths below are specified in
4681 # cflags rather than include_dirs because they need to come
4682 # after include_dirs.
4683 # The include ordering here is important; change with caution.
4684 '-isystem<(android_stlport_include)',
4716 ], 4685 ],
4717 'defines': [ 4686 'defines': [
4718 'ANDROID', 4687 'ANDROID',
4719 '__GNU_SOURCE=1', # Necessary for clone() 4688 '__GNU_SOURCE=1', # Necessary for clone()
4720 'USE_STLPORT=1', 4689 'USE_STLPORT=1',
4721 '_STLP_USE_PTR_SPECIALIZATIONS=1', 4690 '_STLP_USE_PTR_SPECIALIZATIONS=1',
4722 'CHROME_BUILD_ID="<(chrome_build_id)"', 4691 'CHROME_BUILD_ID="<(chrome_build_id)"',
4692 # The NDK has these things, but doesn't define the constants
4693 # to say that it does. Define them here instead.
4694 'HAVE_SYS_UIO_H',
4723 ], 4695 ],
4724 'ldflags!': [ 4696 'ldflags!': [
4725 '-pthread', # Not supported by Android toolchain. 4697 '-pthread', # Not supported by Android toolchain.
4726 ], 4698 ],
4727 'ldflags': [ 4699 'ldflags': [
4728 '-Wl,--no-undefined', 4700 '-Wl,--no-undefined',
4701 '--sysroot=<(android_ndk_sysroot)',
4702 '-nostdlib',
4703 '-L<(android_stlport_libs_dir)',
4704 # Don't allow visible symbols from libgcc or stlport to be
4705 # re-exported.
4706 '-Wl,--exclude-libs=libgcc.a',
4707 '-Wl,--exclude-libs=libstlport_static.a',
4708 # Don't allow visible symbols from libraries that contain
4709 # assembly code with symbols that aren't hidden properly.
4710 # http://crbug.com/448386
4711 '-Wl,--exclude-libs=libcommon_audio.a',
4712 '-Wl,--exclude-libs=libcommon_audio_neon.a',
4713 '-Wl,--exclude-libs=libcommon_audio_sse2.a',
4714 '-Wl,--exclude-libs=libiSACFix.a',
4715 '-Wl,--exclude-libs=libisac_neon.a',
4716 '-Wl,--exclude-libs=libopus.a',
4717 '-Wl,--exclude-libs=libvpx.a',
4718 ],
4719 'libraries': [
4720 '-l<(android_stlport_library)',
4721 # Manually link the libgcc.a that the cross compiler uses.
4722 '<!(<(android_toolchain)/*-gcc -print-libgcc-file-name)',
4723 '-lc',
4724 '-ldl',
4725 '-lm',
4729 ], 4726 ],
4730 'conditions': [ 4727 'conditions': [
4731 ['component=="static_library" and android_webview_build==0', { 4728 ['component=="static_library"', {
4732 'target_conditions': [ 4729 'target_conditions': [
4733 ['use_native_jni_exports==0', { 4730 ['use_native_jni_exports==0', {
4734 # Use a linker version script to strip JNI exports from 4731 # Use a linker version script to strip JNI exports from
4735 # binaries which have not specifically asked to use them. 4732 # binaries which have not specifically asked to use them.
4736 'ldflags': [ 4733 'ldflags': [
4737 '-Wl,--version-script=<!(cd <(DEPTH) && pwd -P)/build/andr oid/android_no_jni_exports.lst', 4734 '-Wl,--version-script=<!(cd <(DEPTH) && pwd -P)/build/andr oid/android_no_jni_exports.lst',
4738 ], 4735 ],
4739 }], 4736 }],
4740 ], 4737 ],
4741 }], 4738 }],
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
4777 }], 4774 }],
4778 ['asan==1', { 4775 ['asan==1', {
4779 'cflags': [ 4776 'cflags': [
4780 # Android build relies on -Wl,--gc-sections removing 4777 # Android build relies on -Wl,--gc-sections removing
4781 # unreachable code. ASan instrumentation for globals inhibits 4778 # unreachable code. ASan instrumentation for globals inhibits
4782 # this and results in a library with unresolvable relocations. 4779 # this and results in a library with unresolvable relocations.
4783 # TODO(eugenis): find a way to reenable this. 4780 # TODO(eugenis): find a way to reenable this.
4784 '-mllvm -asan-globals=0', 4781 '-mllvm -asan-globals=0',
4785 ], 4782 ],
4786 }], 4783 }],
4787 ['android_webview_build==0', {
4788 'defines': [
4789 # The NDK has these things, but doesn't define the constants
4790 # to say that it does. Define them here instead.
4791 'HAVE_SYS_UIO_H',
4792 ],
4793 'cflags': [
4794 '--sysroot=<(android_ndk_sysroot)',
4795 ],
4796 'ldflags': [
4797 '--sysroot=<(android_ndk_sysroot)',
4798 '-nostdlib',
4799 # Don't allow visible symbols from libgcc or stlport to be
4800 # re-exported.
4801 '-Wl,--exclude-libs=libgcc.a',
4802 '-Wl,--exclude-libs=libstlport_static.a',
4803 # Don't allow visible symbols from libraries that contain
4804 # assembly code with symbols that aren't hidden properly.
4805 # http://crbug.com/448386
4806 '-Wl,--exclude-libs=libcommon_audio.a',
4807 '-Wl,--exclude-libs=libcommon_audio_neon.a',
4808 '-Wl,--exclude-libs=libcommon_audio_sse2.a',
4809 '-Wl,--exclude-libs=libiSACFix.a',
4810 '-Wl,--exclude-libs=libisac_neon.a',
4811 '-Wl,--exclude-libs=libopus.a',
4812 '-Wl,--exclude-libs=libvpx.a',
4813 ],
4814 'libraries': [
4815 '-l<(android_stlport_library)',
4816 # Manually link the libgcc.a that the cross compiler uses.
4817 '<!(<(android_toolchain)/*-gcc -print-libgcc-file-name)',
4818 '-lc',
4819 '-ldl',
4820 '-lm',
4821 ],
4822 }],
4823 ['android_webview_build==1', {
4824 'cflags': [
4825 # Android predefines this as 1; undefine it here so Chromium
4826 # can redefine it later to be 2 for chromium code and unset
4827 # for third party code. This works because cflags are added
4828 # before defines.
4829 '-U_FORTIFY_SOURCE',
4830 # Disable any additional warnings enabled by the Android build system but which
4831 # chromium does not build cleanly with (when treating warning as errors).
4832 # Things that are part of -Wextra:
4833 '-Wno-extra', # Enabled by -Wextra, but no specific flag
4834 '-Wno-ignored-qualifiers',
4835 '-Wno-type-limits',
4836 '-Wno-unused-but-set-variable',
4837 ],
4838 'cflags_cc': [
4839 # Other things unrelated to -Wextra:
4840 '-Wno-non-virtual-dtor',
4841 '-Wno-sign-promo',
4842 ],
4843 'libraries': [
4844 '-ldl',
4845 ],
4846 }],
4847 ['android_webview_build==1', {
4848 'target_conditions': [
4849 ['chromium_code==0', {
4850 'cflags': [
4851 # There is a class of warning which:
4852 # 1) Android always enables and also treats as errors
4853 # 2) Chromium ignores in third party code
4854 # So we re-enable those warnings when building Android.
4855 '-Wno-address',
4856 '-Wno-format-security',
4857 '-Wno-return-type',
4858 '-Wno-sequence-point',
4859 ],
4860 'cflags_cc': [
4861 '-Wno-non-virtual-dtor',
4862 ],
4863 }],
4864 ],
4865 }],
4866 ['target_arch == "arm" and order_profiling==0', { 4784 ['target_arch == "arm" and order_profiling==0', {
4867 'ldflags': [ 4785 'ldflags': [
4868 # Enable identical code folding to reduce size. 4786 # Enable identical code folding to reduce size.
4869 '-Wl,--icf=<(gold_icf_level)', 4787 '-Wl,--icf=<(gold_icf_level)',
4870 ], 4788 ],
4871 }], 4789 }],
4872 # NOTE: The stlport header include paths below are specified in
4873 # cflags rather than include_dirs because they need to come
4874 # after include_dirs. Think of them like system headers, but
4875 # don't use '-isystem' because the arm-linux-androideabi-4.4.3
4876 # toolchain (circa Gingerbread) will exhibit strange errors.
4877 # The include ordering here is important; change with caution.
4878 ['android_webview_build==0', {
4879 'cflags': [
4880 '-isystem<(android_stlport_include)',
4881 ],
4882 'ldflags': [
4883 '-L<(android_stlport_libs_dir)',
4884 ],
4885 }, { # else: android_webview_build!=0
4886 'aosp_build_settings': {
4887 # Specify that we want to statically link stlport from the
4888 # NDK. This will provide all the include and library paths
4889 # automatically at build time, and link the right library.
4890 'LOCAL_NDK_STL_VARIANT': 'stlport_static',
4891 },
4892 }],
4893 ['target_arch=="ia32"', { 4790 ['target_arch=="ia32"', {
4894 # The x86 toolchain currently has problems with stack-protector. 4791 # The x86 toolchain currently has problems with stack-protector.
4895 'cflags!': [ 4792 'cflags!': [
4896 '-fstack-protector', 4793 '-fstack-protector',
4897 ], 4794 ],
4898 'cflags': [ 4795 'cflags': [
4899 '-fno-stack-protector', 4796 '-fno-stack-protector',
4900 ], 4797 ],
4901 }], 4798 }],
4902 ], 4799 ],
(...skipping 18 matching lines...) Expand all
4921 ], 4818 ],
4922 'libraries': [ 4819 'libraries': [
4923 # crtend_android.o needs to be the last item in libraries. 4820 # crtend_android.o needs to be the last item in libraries.
4924 # Do not add any libraries after this! 4821 # Do not add any libraries after this!
4925 '<(android_ndk_lib)/crtend_android.o', 4822 '<(android_ndk_lib)/crtend_android.o',
4926 ], 4823 ],
4927 }], 4824 }],
4928 ['_type=="shared_library" or _type=="loadable_module"', { 4825 ['_type=="shared_library" or _type=="loadable_module"', {
4929 'ldflags': [ 4826 'ldflags': [
4930 '-Wl,-shared,-Bsymbolic', 4827 '-Wl,-shared,-Bsymbolic',
4828 # crtbegin_so.o should be the last item in ldflags.
4829 '<(android_ndk_lib)/crtbegin_so.o',
4931 ], 4830 ],
4932 'conditions': [ 4831 'libraries': [
4933 ['android_webview_build==0', { 4832 # crtend_so.o needs to be the last item in libraries.
4934 'ldflags': [ 4833 # Do not add any libraries after this!
4935 # crtbegin_so.o should be the last item in ldflags. 4834 '<(android_ndk_lib)/crtend_so.o',
4936 '<(android_ndk_lib)/crtbegin_so.o',
4937 ],
4938 'libraries': [
4939 # crtend_so.o needs to be the last item in libraries.
4940 # Do not add any libraries after this!
4941 '<(android_ndk_lib)/crtend_so.o',
4942 ],
4943 }],
4944 ], 4835 ],
4945 }], 4836 }],
4946 ], 4837 ],
4947 }], 4838 }],
4948 # Settings for building host targets using the system toolchain. 4839 # Settings for building host targets using the system toolchain.
4949 ['_toolset=="host"', { 4840 ['_toolset=="host"', {
4950 'cflags!': [ 4841 'cflags!': [
4951 # Due to issues in Clang build system, using ASan on 32-bit 4842 # Due to issues in Clang build system, using ASan on 32-bit
4952 # binaries on x86_64 host is problematic. 4843 # binaries on x86_64 host is problematic.
4953 # TODO(eugenis): re-enable. 4844 # TODO(eugenis): re-enable.
(...skipping 895 matching lines...) Expand 10 before | Expand all | Expand 10 after
5849 ], 5740 ],
5850 }, 5741 },
5851 }], 5742 }],
5852 ['gcc_version>=48 and clang==0 and host_clang==1', { 5743 ['gcc_version>=48 and clang==0 and host_clang==1', {
5853 'target_defaults': { 5744 'target_defaults': {
5854 'target_conditions': [ 5745 'target_conditions': [
5855 ['_toolset=="host"', { 'cflags!': [ '-Wno-unused-local-typedefs' ]}], 5746 ['_toolset=="host"', { 'cflags!': [ '-Wno-unused-local-typedefs' ]}],
5856 ], 5747 ],
5857 }, 5748 },
5858 }], 5749 }],
5859 # In the android webview build, force host targets to be compiled with clang
5860 # as the hermetic host gcc is very old on some platforms. This is already
5861 # the default on the current development version of AOSP but we force it
5862 # here in case we need to compile against an older release version. We also
5863 # explicitly set it to false for target binaries to avoid causing problems
5864 # for the work to enable clang by default in AOSP. We also force the use of
5865 # libstdc++ on host as peculiarities of the android gyp backend mean that
5866 # using libc++ doesn't work, and Chromium doesn't yet require a more modern
5867 # C++ library.
5868 ['android_webview_build==1', {
5869 'target_defaults': {
5870 'target_conditions': [
5871 ['_toolset=="host"', {
5872 'aosp_build_settings': {
5873 'LOCAL_CLANG': 'true',
5874 'LOCAL_CXX_STL': 'libstdc++',
5875 },
5876 }, { # else: _toolset != "host"
5877 'aosp_build_settings': {
5878 'LOCAL_CLANG': 'false',
5879 },
5880 }],
5881 ],
5882 },
5883 }],
5884 # We need a special case to handle the android webview build on mac because
5885 # the host gcc there doesn't accept this flag, but the target gcc may
5886 # require it.
5887 ['gcc_version>=48 and android_webview_build==1 and host_os=="mac"', {
5888 'target_defaults': {
5889 'target_conditions': [
5890 ['_toolset=="host"', {
5891 'cflags!': [
5892 '-Wno-unused-local-typedefs',
5893 ],
5894 }],
5895 ],
5896 },
5897 }],
5898 ['clang==1 and ((OS!="mac" and OS!="ios") or clang_xcode==0) ' 5750 ['clang==1 and ((OS!="mac" and OS!="ios") or clang_xcode==0) '
5899 'and OS!="win"', { 5751 'and OS!="win"', {
5900 'make_global_settings': [ 5752 'make_global_settings': [
5901 ['CC', '<(make_clang_dir)/bin/clang'], 5753 ['CC', '<(make_clang_dir)/bin/clang'],
5902 ['CXX', '<(make_clang_dir)/bin/clang++'], 5754 ['CXX', '<(make_clang_dir)/bin/clang++'],
5903 ['CC.host', '$(CC)'], 5755 ['CC.host', '$(CC)'],
5904 ['CXX.host', '$(CXX)'], 5756 ['CXX.host', '$(CXX)'],
5905 ], 5757 ],
5906 }], 5758 }],
5907 ['clang==1 and OS=="win"', { 5759 ['clang==1 and OS=="win"', {
(...skipping 315 matching lines...) Expand 10 before | Expand all | Expand 10 after
6223 # settings in target dicts. SYMROOT is a special case, because many other 6075 # settings in target dicts. SYMROOT is a special case, because many other
6224 # Xcode variables depend on it, including variables such as 6076 # Xcode variables depend on it, including variables such as
6225 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something 6077 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something
6226 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the 6078 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the
6227 # files to appear (when present) in the UI as actual files and not red 6079 # files to appear (when present) in the UI as actual files and not red
6228 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR, 6080 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR,
6229 # and therefore SYMROOT, needs to be set at the project level. 6081 # and therefore SYMROOT, needs to be set at the project level.
6230 'SYMROOT': '<(DEPTH)/xcodebuild', 6082 'SYMROOT': '<(DEPTH)/xcodebuild',
6231 }, 6083 },
6232 } 6084 }
OLDNEW
« no previous file with comments | « build/android/finalize_apk_action.gypi ('k') | build/config/android/config.gni » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698