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

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

Issue 2550563003: Split targets mixing .c and .cc sources. (Closed)
Patch Set: Patch set without PRESUBMIT.py, for Chromium trybots Created 4 years 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 17 matching lines...) Expand all
28 "aec/echo_cancellation.h", 28 "aec/echo_cancellation.h",
29 "aecm/aecm_core.cc", 29 "aecm/aecm_core.cc",
30 "aecm/aecm_core.h", 30 "aecm/aecm_core.h",
31 "aecm/echo_control_mobile.cc", 31 "aecm/echo_control_mobile.cc",
32 "aecm/echo_control_mobile.h", 32 "aecm/echo_control_mobile.h",
33 "agc/agc.cc", 33 "agc/agc.cc",
34 "agc/agc.h", 34 "agc/agc.h",
35 "agc/agc_manager_direct.cc", 35 "agc/agc_manager_direct.cc",
36 "agc/agc_manager_direct.h", 36 "agc/agc_manager_direct.h",
37 "agc/gain_map_internal.h", 37 "agc/gain_map_internal.h",
38 "agc/legacy/analog_agc.c",
39 "agc/legacy/analog_agc.h",
40 "agc/legacy/digital_agc.c",
41 "agc/legacy/digital_agc.h",
42 "agc/legacy/gain_control.h",
43 "agc/loudness_histogram.cc", 38 "agc/loudness_histogram.cc",
44 "agc/loudness_histogram.h", 39 "agc/loudness_histogram.h",
45 "agc/utility.cc", 40 "agc/utility.cc",
46 "agc/utility.h", 41 "agc/utility.h",
47 "audio_buffer.cc", 42 "audio_buffer.cc",
48 "audio_buffer.h", 43 "audio_buffer.h",
49 "audio_processing_impl.cc", 44 "audio_processing_impl.cc",
50 "audio_processing_impl.h", 45 "audio_processing_impl.h",
51 "beamformer/array_util.cc", 46 "beamformer/array_util.cc",
52 "beamformer/array_util.h", 47 "beamformer/array_util.h",
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
160 "vad/voice_gmm_tables.h", 155 "vad/voice_gmm_tables.h",
161 "voice_detection_impl.cc", 156 "voice_detection_impl.cc",
162 "voice_detection_impl.h", 157 "voice_detection_impl.h",
163 ] 158 ]
164 159
165 defines = [] 160 defines = []
166 deps = [ 161 deps = [
167 "../..:webrtc_common", 162 "../..:webrtc_common",
168 "../audio_coding:isac", 163 "../audio_coding:isac",
169 ] 164 ]
165 public_deps = [
166 ":audio_processing_c",
167 ]
170 168
171 if (apm_debug_dump) { 169 if (apm_debug_dump) {
172 defines += [ "WEBRTC_APM_DEBUG_DUMP=1" ] 170 defines += [ "WEBRTC_APM_DEBUG_DUMP=1" ]
173 } else { 171 } else {
174 defines += [ "WEBRTC_APM_DEBUG_DUMP=0" ] 172 defines += [ "WEBRTC_APM_DEBUG_DUMP=0" ]
175 } 173 }
176 174
177 if (aec_untrusted_delay_for_testing) { 175 if (aec_untrusted_delay_for_testing) {
178 defines += [ "WEBRTC_UNTRUSTED_DELAY" ] 176 defines += [ "WEBRTC_UNTRUSTED_DELAY" ]
179 } 177 }
(...skipping 10 matching lines...) Expand all
190 "intelligibility/intelligibility_enhancer.h", 188 "intelligibility/intelligibility_enhancer.h",
191 "intelligibility/intelligibility_utils.cc", 189 "intelligibility/intelligibility_utils.cc",
192 "intelligibility/intelligibility_utils.h", 190 "intelligibility/intelligibility_utils.h",
193 ] 191 ]
194 } else { 192 } else {
195 defines += [ "WEBRTC_INTELLIGIBILITY_ENHANCER=0" ] 193 defines += [ "WEBRTC_INTELLIGIBILITY_ENHANCER=0" ]
196 } 194 }
197 195
198 if (rtc_prefer_fixed_point) { 196 if (rtc_prefer_fixed_point) {
199 defines += [ "WEBRTC_NS_FIXED" ] 197 defines += [ "WEBRTC_NS_FIXED" ]
200 sources += [
201 "ns/noise_suppression_x.c",
202 "ns/noise_suppression_x.h",
203 "ns/nsx_core.c",
204 "ns/nsx_core.h",
205 "ns/nsx_defines.h",
206 ]
207 if (current_cpu == "mipsel") {
208 sources += [ "ns/nsx_core_mips.c" ]
209 } else {
210 sources += [ "ns/nsx_core_c.c" ]
211 }
212 } else { 198 } else {
213 defines += [ "WEBRTC_NS_FLOAT" ] 199 defines += [ "WEBRTC_NS_FLOAT" ]
214 sources += [
215 "ns/defines.h",
216 "ns/noise_suppression.c",
217 "ns/noise_suppression.h",
218 "ns/ns_core.c",
219 "ns/ns_core.h",
220 "ns/windows_private.h",
221 ]
222 } 200 }
223 201
224 if (current_cpu == "x86" || current_cpu == "x64") { 202 if (current_cpu == "x86" || current_cpu == "x64") {
225 deps += [ ":audio_processing_sse2" ] 203 deps += [ ":audio_processing_sse2" ]
226 } 204 }
227 205
228 if (rtc_build_with_neon) { 206 if (rtc_build_with_neon) {
229 deps += [ ":audio_processing_neon" ] 207 deps += [ ":audio_processing_neon" ]
230 } 208 }
231 209
(...skipping 12 matching lines...) Expand all
244 # TODO(jschuh): Bug 1348: fix this warning. 222 # TODO(jschuh): Bug 1348: fix this warning.
245 configs += [ "//build/config/compiler:no_size_t_to_int_warning" ] 223 configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
246 224
247 deps += [ 225 deps += [
248 "../../base:rtc_base_approved", 226 "../../base:rtc_base_approved",
249 "../../common_audio", 227 "../../common_audio",
250 "../../system_wrappers", 228 "../../system_wrappers",
251 ] 229 ]
252 } 230 }
253 231
232 rtc_source_set("audio_processing_c") {
233 visibility = [ ":*" ] # Only targets in this file can depend on this.
234 sources = [
235 "agc/legacy/analog_agc.c",
236 "agc/legacy/analog_agc.h",
237 "agc/legacy/digital_agc.c",
238 "agc/legacy/digital_agc.h",
239 "agc/legacy/gain_control.h",
240 ]
241
242 if (rtc_prefer_fixed_point) {
243 sources += [
244 "ns/noise_suppression_x.c",
245 "ns/noise_suppression_x.h",
246 "ns/nsx_core.c",
247 "ns/nsx_core.h",
248 "ns/nsx_defines.h",
249 ]
250 if (current_cpu == "mipsel") {
251 sources += [ "ns/nsx_core_mips.c" ]
252 } else {
253 sources += [ "ns/nsx_core_c.c" ]
254 }
255 } else {
256 sources += [
257 "ns/defines.h",
258 "ns/noise_suppression.c",
259 "ns/noise_suppression.h",
260 "ns/ns_core.c",
261 "ns/ns_core.h",
262 "ns/windows_private.h",
263 ]
264 }
265
266 deps = [
267 "../../base:rtc_base_approved",
268 "../../common_audio",
269 "../../system_wrappers",
270 ]
271 }
272
254 if (rtc_enable_protobuf) { 273 if (rtc_enable_protobuf) {
255 proto_library("audioproc_debug_proto") { 274 proto_library("audioproc_debug_proto") {
256 sources = [ 275 sources = [
257 "debug.proto", 276 "debug.proto",
258 ] 277 ]
259 278
260 proto_out_dir = "webrtc/modules/audio_processing" 279 proto_out_dir = "webrtc/modules/audio_processing"
261 } 280 }
262 } 281 }
263 282
(...skipping 15 matching lines...) Expand all
279 defines = [ "WEBRTC_APM_DEBUG_DUMP=0" ] 298 defines = [ "WEBRTC_APM_DEBUG_DUMP=0" ]
280 } 299 }
281 } 300 }
282 } 301 }
283 302
284 if (rtc_build_with_neon) { 303 if (rtc_build_with_neon) {
285 rtc_static_library("audio_processing_neon") { 304 rtc_static_library("audio_processing_neon") {
286 sources = [ 305 sources = [
287 "aec/aec_core_neon.cc", 306 "aec/aec_core_neon.cc",
288 "aecm/aecm_core_neon.cc", 307 "aecm/aecm_core_neon.cc",
289 "ns/nsx_core_neon.c",
290 "utility/ooura_fft_neon.cc", 308 "utility/ooura_fft_neon.cc",
291 "utility/ooura_fft_tables_neon_sse2.h", 309 "utility/ooura_fft_tables_neon_sse2.h",
292 ] 310 ]
293 311
294 if (current_cpu != "arm64") { 312 if (current_cpu != "arm64") {
295 # Enable compilation for the NEON instruction set. This is needed 313 # Enable compilation for the NEON instruction set. This is needed
296 # since //build/config/arm.gni only enables NEON for iOS, not Android. 314 # since //build/config/arm.gni only enables NEON for iOS, not Android.
297 # This provides the same functionality as webrtc/build/arm_neon.gypi. 315 # This provides the same functionality as webrtc/build/arm_neon.gypi.
298 suppressed_configs += [ "//build/config/compiler:compiler_arm_fpu" ] 316 suppressed_configs += [ "//build/config/compiler:compiler_arm_fpu" ]
299 cflags = [ "-mfpu=neon" ] 317 cflags = [ "-mfpu=neon" ]
300 } 318 }
301 319
302 # Disable LTO on NEON targets due to compiler bug. 320 # Disable LTO on NEON targets due to compiler bug.
303 # TODO(fdegans): Enable this. See crbug.com/408997. 321 # TODO(fdegans): Enable this. See crbug.com/408997.
304 if (rtc_use_lto) { 322 if (rtc_use_lto) {
305 cflags -= [ 323 cflags -= [
306 "-flto", 324 "-flto",
307 "-ffat-lto-objects", 325 "-ffat-lto-objects",
308 ] 326 ]
309 } 327 }
310 328
311 deps = [ 329 deps = [
312 "../../common_audio", 330 "../../common_audio",
313 ] 331 ]
332 public_deps = [
333 ":audio_processing_neon_c",
334 ]
314 335
315 if (apm_debug_dump) { 336 if (apm_debug_dump) {
316 defines = [ "WEBRTC_APM_DEBUG_DUMP=1" ] 337 defines = [ "WEBRTC_APM_DEBUG_DUMP=1" ]
317 } else { 338 } else {
318 defines = [ "WEBRTC_APM_DEBUG_DUMP=0" ] 339 defines = [ "WEBRTC_APM_DEBUG_DUMP=0" ]
319 } 340 }
320 } 341 }
342
343 rtc_static_library("audio_processing_neon_c") {
344 sources = [
345 "ns/nsx_core_neon.c",
346 ]
347
348 if (current_cpu != "arm64") {
349 # Enable compilation for the NEON instruction set. This is needed
350 # since //build/config/arm.gni only enables NEON for iOS, not Android.
351 # This provides the same functionality as webrtc/build/arm_neon.gypi.
352 suppressed_configs += [ "//build/config/compiler:compiler_arm_fpu" ]
353 cflags = [ "-mfpu=neon" ]
354 }
355
356 # Disable LTO on NEON targets due to compiler bug.
357 # TODO(fdegans): Enable this. See crbug.com/408997.
358 if (rtc_use_lto) {
359 cflags -= [
360 "-flto",
361 "-ffat-lto-objects",
362 ]
363 }
364 }
321 } 365 }
322 366
323 if (rtc_include_tests) { 367 if (rtc_include_tests) {
324 group("audio_processing_tests") { 368 group("audio_processing_tests") {
325 testonly = true 369 testonly = true
326 public_deps = [ 370 public_deps = [
327 ":audioproc_f", 371 ":audioproc_f",
328 ":audioproc_test_utils", 372 ":audioproc_test_utils",
329 ":click_annotate", 373 ":click_annotate",
330 ":nonlinear_beamformer_test", 374 ":nonlinear_beamformer_test",
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after
474 "test/protobuf_utils.cc", 518 "test/protobuf_utils.cc",
475 "test/protobuf_utils.h", 519 "test/protobuf_utils.h",
476 ] 520 ]
477 521
478 deps = [ 522 deps = [
479 ":audioproc_debug_proto", 523 ":audioproc_debug_proto",
480 ] 524 ]
481 } 525 }
482 } 526 }
483 } 527 }
OLDNEW
« webrtc/modules/audio_coding/BUILD.gn ('K') | « webrtc/modules/audio_device/BUILD.gn ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698