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

Side by Side Diff: webrtc/modules/audio_processing/BUILD.gn

Issue 1181373004: Add a [rtc_]build_with_neon variable to unify conditions. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Remove gn config and consolidate build_with_neon condition. Created 5 years, 6 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
OLDNEW
1 # Copyright (c) 2014 The WebRTC project authors. All Rights Reserved. 1 # Copyright (c) 2014 The WebRTC project authors. All Rights Reserved.
2 # 2 #
3 # Use of this source code is governed by a BSD-style license 3 # Use of this source code is governed by a BSD-style license
4 # that can be found in the LICENSE file in the root of the source 4 # that can be found in the LICENSE file in the root of the source
5 # tree. An additional intellectual property rights grant can be found 5 # tree. An additional intellectual property rights grant can be found
6 # in the file PATENTS. All contributing project authors may 6 # in the file PATENTS. All contributing project authors may
7 # be found in the AUTHORS file in the root of the source tree. 7 # be found in the AUTHORS file in the root of the source tree.
8 8
9 import("//build/config/arm.gni") 9 import("//build/config/arm.gni")
10 import("//third_party/protobuf/proto_library.gni") 10 import("//third_party/protobuf/proto_library.gni")
(...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after
169 "ns/ns_core.c", 169 "ns/ns_core.c",
170 "ns/ns_core.h", 170 "ns/ns_core.h",
171 "ns/windows_private.h", 171 "ns/windows_private.h",
172 ] 172 ]
173 } 173 }
174 174
175 if (current_cpu == "x86" || current_cpu == "x64") { 175 if (current_cpu == "x86" || current_cpu == "x64") {
176 deps += [ ":audio_processing_sse2" ] 176 deps += [ ":audio_processing_sse2" ]
177 } 177 }
178 178
179 if (rtc_build_armv7_neon || current_cpu == "arm64") { 179 if (rtc_build_with_neon) {
180 deps += [ ":audio_processing_neon" ] 180 deps += [ ":audio_processing_neon" ]
181 } 181 }
182 182
183 if (current_cpu == "mipsel") { 183 if (current_cpu == "mipsel") {
184 sources += [ "aecm/aecm_core_mips.c" ] 184 sources += [ "aecm/aecm_core_mips.c" ]
185 if (mips_float_abi == "hard") { 185 if (mips_float_abi == "hard") {
186 sources += [ 186 sources += [
187 "aec/aec_core_mips.c", 187 "aec/aec_core_mips.c",
188 "aec/aec_rdft_mips.c", 188 "aec/aec_rdft_mips.c",
189 ] 189 ]
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
231 231
232 if (is_posix) { 232 if (is_posix) {
233 cflags = [ "-msse2" ] 233 cflags = [ "-msse2" ]
234 } 234 }
235 235
236 configs += [ "../..:common_config" ] 236 configs += [ "../..:common_config" ]
237 public_configs = [ "../..:common_inherited_config" ] 237 public_configs = [ "../..:common_inherited_config" ]
238 } 238 }
239 } 239 }
240 240
241 if (rtc_build_armv7_neon || current_cpu == "arm64") { 241 if (rtc_build_with_neon) {
242 source_set("audio_processing_neon") { 242 source_set("audio_processing_neon") {
243 sources = [ 243 sources = [
244 "aec/aec_core_neon.c", 244 "aec/aec_core_neon.c",
245 "aec/aec_rdft_neon.c", 245 "aec/aec_rdft_neon.c",
246 "aecm/aecm_core_neon.c", 246 "aecm/aecm_core_neon.c",
247 "ns/nsx_core_neon.c", 247 "ns/nsx_core_neon.c",
248 ] 248 ]
249 249
250 if (current_cpu != "arm64") {
251 # Enable compilation for the NEON instruction set. This is needed
252 # since //build/config/arm.gni only enables NEON for iOS, not Android.
253 # This provides the same functionality as webrtc/build/arm_neon.gypi.
254 configs -= [ "//build/config/compiler:compiler_arm_fpu" ]
255 cflags = [ "-mfpu=neon" ]
256 }
257
258 # Disable LTO due to compiler bug.
kjellander_webrtc 2015/06/18 09:06:23 Add link to the bug as previous comment.
Andrew MacDonald 2015/06/25 01:09:09 Done.
259 if (rtc_use_lto) {
260 cflags -= [
261 "-flto",
262 "-ffat-lto-objects",
263 ]
264 }
265
250 configs += [ "../..:common_config" ] 266 configs += [ "../..:common_config" ]
251 public_configs = [ "../..:common_inherited_config" ] 267 public_configs = [ "../..:common_inherited_config" ]
252 268
253 deps = [ 269 deps = [
254 "../../common_audio", 270 "../../common_audio",
255 ] 271 ]
256
257 # Enable compilation for the ARM v7 Neon instruction set. This is needed
258 # since //build/config/arm.gni only enables Neon for iOS, not Android.
259 # This provides the same functionality as webrtc/build/arm_neon.gypi.
260 # TODO(kjellander): Investigate if this can be moved into webrtc.gni or
261 # //build/config/arm.gni instead, to reduce code duplication.
262 # Remove the -mfpu=vfpv3-d16 cflag.
263 configs -= [ "//build/config/compiler:compiler_arm_fpu" ]
264
265 # "-mfpu=neon" is not requried for arm64 in GCC.
266 if (current_cpu != "arm64") {
267 cflags = [ "-mfpu=neon" ]
268 }
269
270 # Disable LTO in audio_processing_neon target due to compiler bug.
271 if (rtc_use_lto) {
272 cflags -= [
273 "-flto",
274 "-ffat-lto-objects",
275 ]
276 }
277 } 272 }
278 } 273 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698