1 # Copyright (c) 2013 The WebRTC project authors. All Rights Reserved.
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
5 # tree. An additional intellectual property rights grant can be found
6 # in the file PATENTS. All contributing project authors may
7 # be found in the AUTHORS file in the root of the source tree.
11 # Override this value to build with small float FFT tables
19 '../../../dl.gyp:openmax_dl',
23 ['big_float_fft == 1', {
31 ['target_arch == "arm"', {
32 # Test programs supported on ARM
35 # Test complex fixed-point 16-bit FFT
36 'target_name': 'test_fft16',
43 # Test complex fixed-point 32-bit FFT
44 'target_name': 'test_fft32',
51 # Test real 32-bit fixed-point FFT
52 'target_name': 'test_rfft32',
59 # Test real 16-bit fixed-point FFT implemented with S32 routines.
60 'target_name': 'test_rfft16_s32',
67 # Test real 16-bit fixed-point FFT implemented with S16 routines.
68 'target_name': 'test_rfft16_s16',
75 # Test complex floating-point FFT
76 'target_name': 'test_float_fft',
80 'support/float_fft_neon.c',
83 # Non-NEON test programs
85 # Test complex floating-point FFT, non-NEON
86 'target_name': 'test_float_fft_armv7',
93 'support/float_fft_armv7.c',
97 # Test real floating-point FFT, non-NEON
98 'target_name': 'test_float_rfft_armv7',
102 'support/float_rfft_armv7.c',
103 'support/float_rfft_thresholds.h',
107 # Test real floating-point FFT, detecting NEON support
108 'target_name': 'test_float_rfft_detect',
109 'type': 'executable',
112 'support/float_rfft_detect.c',
113 'support/float_rfft_thresholds.h',
117 # Simple timing test of FFTs, non-NEON
118 'target_name': 'test_fft_time_armv7',
119 'type': 'executable',
121 # Timing test for non-NEON is only supported for float FFTs.
131 ['target_arch == "arm64"', {
134 # Test complex floating-point FFT
135 'target_name': 'test_float_fft',
136 'type': 'executable',
139 'support/float_fft_neon.c',
146 # Targets that should be supported by all architectures
149 'target_name': 'test_utilities',
150 'type' : 'static_library',
168 # Test real floating-point FFT
169 'target_name': 'test_float_rfft',
170 'type': 'executable',
173 'support/float_rfft_thresholds.h',
176 ['target_arch == "arm" or target_arch == "arm64"', {
178 'support/float_rfft_neon.c',
181 ['target_arch == "ia32" or target_arch == "x64"', {
183 'support/float_rfft_x86.c',
186 ['target_arch == "mipsel"', {
188 'support/float_rfft_mips.c',
194 # Simple timing test of FFTs
195 'target_name': 'test_fft_time',
196 'type': 'executable',
201 ['target_arch == "ia32" or target_arch == "x64" or target_arch == "arm64" or target_arch == "mipsel"', {
203 # Timing test only for float FFTs on x86 and arm64 and MIPSEL.
210 # Build all test programs.
211 'target_name': 'All',
214 ['target_arch == "arm"', {
216 ['arm_neon==1 or OS=="android"', {
228 ['arm_neon==0 or OS=="android"', {
231 'test_fft_time_armv7',
232 'test_float_fft_armv7',
233 'test_float_rfft_armv7',
237 # Tests with detection.
239 'test_float_rfft_detect',
244 ['target_arch == "arm64"', {
245 # Supported test programs for ARM64.
252 # All architectures must support at least the float rfft test.