blob: b34835425c494f36ce95b2fdf30a8c043438e2ad [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',
wjia@webrtc.orga3c82bf2013-01-18 23:42:21 +000013 'type': 'static_library',
niklase@google.com470e71d2011-07-07 08:21:25 +000014 '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.org55cd78c2012-11-17 00:22:46 +000068 'complex_bit_reverse_arm.S',
69 'spl_sqrt_floor_arm.S',
kma@webrtc.orgc839f082012-08-13 21:49:23 +000070 ],
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': [
kma@webrtc.org55cd78c2012-11-17 00:22:46 +000079 'filter_ar_fast_q12_armv7.S',
kma@webrtc.org9b1cf542012-09-03 21:22:28 +000080 ],
81 'sources!': [
82 'filter_ar_fast_q12.c',
83 ],
84 }],
85 ],
kma@webrtc.orgc839f082012-08-13 21:49:23 +000086 }],
andrew@webrtc.org5140e242013-02-21 20:12:21 +000087 ['target_arch=="mipsel"', {
88 'sources': [
89 'min_max_operations_mips.c',
90 'resample_by_2_mips.c',
91 ],
92 }],
kma@webrtc.orgc839f082012-08-13 21:49:23 +000093 ],
andrew@webrtc.org63e09642013-01-29 06:45:22 +000094 # Ignore warning on shift operator promotion.
95 'msvs_disabled_warnings': [ 4334, ],
kjellander@webrtc.org0403ef42011-11-17 08:35:47 +000096 }, # spl
97 ], # targets
98 'conditions': [
mflodman@webrtc.org6af95942012-05-24 13:23:35 +000099 ['include_tests==1', {
kjellander@webrtc.org0403ef42011-11-17 08:35:47 +0000100 'targets': [
101 {
102 'target_name': 'signal_processing_unittests',
103 'type': 'executable',
104 'dependencies': [
105 'signal_processing',
andrew@webrtc.org81cf5e42012-06-27 01:41:54 +0000106 '<(DEPTH)/testing/gtest.gyp:gtest',
andrew@webrtc.org618ab3f2012-09-04 23:39:05 +0000107 '<(webrtc_root)/test/test.gyp:test_support_main',
kjellander@webrtc.org0403ef42011-11-17 08:35:47 +0000108 ],
109 'sources': [
andrew@webrtc.org618ab3f2012-09-04 23:39:05 +0000110 'real_fft_unittest.cc',
kjellander@webrtc.org0403ef42011-11-17 08:35:47 +0000111 'signal_processing_unittest.cc',
112 ],
113 }, # spl_unittests
114 ], # targets
mflodman@webrtc.org6af95942012-05-24 13:23:35 +0000115 }], # include_tests
kma@webrtc.org0221b782012-09-08 00:09:26 +0000116 ['target_arch=="arm" and armv7==1', {
117 'targets': [
118 {
119 'target_name': 'signal_processing_neon',
wjia@webrtc.orga3c82bf2013-01-18 23:42:21 +0000120 'type': 'static_library',
kma@webrtc.org0221b782012-09-08 00:09:26 +0000121 'includes': ['../../build/arm_neon.gypi',],
122 'sources': [
kma@webrtc.org55cd78c2012-11-17 00:22:46 +0000123 'cross_correlation_neon.S',
124 'downsample_fast_neon.S',
125 'min_max_operations_neon.S',
126 'vector_scaling_operations_neon.S',
kma@webrtc.org0221b782012-09-08 00:09:26 +0000127 ],
128 },
129 ],
130 }], # 'target_arch=="arm" and armv7==1'
kjellander@webrtc.org0403ef42011-11-17 08:35:47 +0000131 ], # conditions
niklase@google.com470e71d2011-07-07 08:21:25 +0000132}