blob: b09c767bed5dfd9b2705693206f7a19b69130346 [file] [log] [blame]
niklase@google.com470e71d2011-07-07 08:21:25 +00001# Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
2#
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.
8
9{
niklase@google.com470e71d2011-07-07 08:21:25 +000010 'targets': [
11 {
kjellander@webrtc.org0403ef42011-11-17 08:35:47 +000012 'target_name': 'signal_processing',
niklase@google.com470e71d2011-07-07 08:21:25 +000013 'type': '<(library)',
14 'include_dirs': [
kjellander@webrtc.org0403ef42011-11-17 08:35:47 +000015 'include',
niklase@google.com470e71d2011-07-07 08:21:25 +000016 ],
kma@webrtc.org0221b782012-09-08 00:09:26 +000017 'dependencies': [
18 '<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers',
19 ],
niklase@google.com470e71d2011-07-07 08:21:25 +000020 'direct_dependent_settings': {
21 'include_dirs': [
kjellander@webrtc.org0403ef42011-11-17 08:35:47 +000022 'include',
niklase@google.com470e71d2011-07-07 08:21:25 +000023 ],
24 },
25 'sources': [
andrew@webrtc.org618ab3f2012-09-04 23:39:05 +000026 'include/real_fft.h',
kjellander@webrtc.org0403ef42011-11-17 08:35:47 +000027 'include/signal_processing_library.h',
28 'include/spl_inl.h',
niklase@google.com470e71d2011-07-07 08:21:25 +000029 'auto_corr_to_refl_coef.c',
30 'auto_correlation.c',
31 'complex_fft.c',
niklase@google.com470e71d2011-07-07 08:21:25 +000032 'complex_bit_reverse.c',
33 'copy_set_operations.c',
niklase@google.com470e71d2011-07-07 08:21:25 +000034 'cross_correlation.c',
35 'division_operations.c',
36 'dot_product_with_scale.c',
37 'downsample_fast.c',
38 'energy.c',
39 'filter_ar.c',
40 'filter_ar_fast_q12.c',
41 'filter_ma_fast_q12.c',
42 'get_hanning_window.c',
43 'get_scaling_square.c',
niklase@google.com470e71d2011-07-07 08:21:25 +000044 'ilbc_specific_functions.c',
45 'levinson_durbin.c',
46 'lpc_to_refl_coef.c',
47 'min_max_operations.c',
niklase@google.com470e71d2011-07-07 08:21:25 +000048 'randomization_functions.c',
49 'refl_coef_to_lpc.c',
andrew@webrtc.org618ab3f2012-09-04 23:39:05 +000050 'real_fft.c',
niklase@google.com470e71d2011-07-07 08:21:25 +000051 'resample.c',
52 'resample_48khz.c',
53 'resample_by_2.c',
54 'resample_by_2_internal.c',
55 'resample_by_2_internal.h',
56 'resample_fractional.c',
kma@webrtc.org0221b782012-09-08 00:09:26 +000057 'spl_init.c',
niklase@google.com470e71d2011-07-07 08:21:25 +000058 'spl_sqrt.c',
bjornv@google.comc83a3d62011-07-07 12:34:44 +000059 'spl_sqrt_floor.c',
niklase@google.com470e71d2011-07-07 08:21:25 +000060 'spl_version.c',
61 'splitting_filter.c',
62 'sqrt_of_one_minus_x_squared.c',
niklase@google.com470e71d2011-07-07 08:21:25 +000063 'vector_scaling_operations.c',
64 ],
kma@webrtc.orgc839f082012-08-13 21:49:23 +000065 'conditions': [
kma@webrtc.org9b1cf542012-09-03 21:22:28 +000066 ['target_arch=="arm"', {
kma@webrtc.orgc839f082012-08-13 21:49:23 +000067 'sources': [
kma@webrtc.org56ef8ca2012-09-04 22:58:55 +000068 'complex_bit_reverse_arm.s',
kma@webrtc.orgc839f082012-08-13 21:49:23 +000069 'spl_sqrt_floor_arm.s',
70 ],
71 'sources!': [
kma@webrtc.org56ef8ca2012-09-04 22:58:55 +000072 'complex_bit_reverse.c',
kma@webrtc.orgc839f082012-08-13 21:49:23 +000073 'spl_sqrt_floor.c',
74 ],
kma@webrtc.org9b1cf542012-09-03 21:22:28 +000075 'conditions': [
76 ['armv7==1', {
kma@webrtc.org0221b782012-09-08 00:09:26 +000077 'dependencies': ['signal_processing_neon',],
kma@webrtc.org9b1cf542012-09-03 21:22:28 +000078 'sources': [
79 'filter_ar_fast_q12_armv7.s',
80 ],
81 'sources!': [
82 'filter_ar_fast_q12.c',
83 ],
84 }],
85 ],
kma@webrtc.orgc839f082012-08-13 21:49:23 +000086 }],
87 ],
kjellander@webrtc.org0403ef42011-11-17 08:35:47 +000088 }, # spl
89 ], # targets
90 'conditions': [
mflodman@webrtc.org6af95942012-05-24 13:23:35 +000091 ['include_tests==1', {
kjellander@webrtc.org0403ef42011-11-17 08:35:47 +000092 'targets': [
93 {
94 'target_name': 'signal_processing_unittests',
95 'type': 'executable',
96 'dependencies': [
97 'signal_processing',
andrew@webrtc.org81cf5e42012-06-27 01:41:54 +000098 '<(DEPTH)/testing/gtest.gyp:gtest',
andrew@webrtc.org618ab3f2012-09-04 23:39:05 +000099 '<(webrtc_root)/test/test.gyp:test_support_main',
kjellander@webrtc.org0403ef42011-11-17 08:35:47 +0000100 ],
101 'sources': [
andrew@webrtc.org618ab3f2012-09-04 23:39:05 +0000102 'real_fft_unittest.cc',
kjellander@webrtc.org0403ef42011-11-17 08:35:47 +0000103 'signal_processing_unittest.cc',
104 ],
105 }, # spl_unittests
106 ], # targets
mflodman@webrtc.org6af95942012-05-24 13:23:35 +0000107 }], # include_tests
kma@webrtc.org0221b782012-09-08 00:09:26 +0000108 ['target_arch=="arm" and armv7==1', {
109 'targets': [
110 {
111 'target_name': 'signal_processing_neon',
112 'type': '<(library)',
113 'includes': ['../../build/arm_neon.gypi',],
114 'sources': [
115 'cross_correlation_neon.s',
116 'downsample_fast_neon.s',
117 'min_max_operations_neon.s',
118 'vector_scaling_operations_neon.s',
119 ],
120 },
121 ],
122 }], # 'target_arch=="arm" and armv7==1'
kjellander@webrtc.org0403ef42011-11-17 08:35:47 +0000123 ], # conditions
niklase@google.com470e71d2011-07-07 08:21:25 +0000124}