blob: 285583c6b26f48853de9a9361c9381c7c2ccba6c [file] [log] [blame]
kjellander@webrtc.orge35fa962015-02-16 12:46:41 +00001# Copyright (c) 2012 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{
10 'targets': [
11 {
12 'target_name': 'iSACFix',
13 'type': 'static_library',
14 'dependencies': [
15 '<(webrtc_root)/common_audio/common_audio.gyp:common_audio',
16 '<(webrtc_root)/system_wrappers/system_wrappers.gyp:system_wrappers',
17 ],
18 'include_dirs': [
19 'fix/interface',
20 '<(webrtc_root)'
21 ],
22 'direct_dependent_settings': {
23 'include_dirs': [
24 'fix/interface',
25 '<(webrtc_root)',
26 ],
27 },
28 'sources': [
29 'audio_encoder_isac_t.h',
30 'audio_encoder_isac_t_impl.h',
31 'fix/interface/audio_encoder_isacfix.h',
32 'fix/interface/isacfix.h',
33 'fix/source/arith_routines.c',
34 'fix/source/arith_routines_hist.c',
35 'fix/source/arith_routines_logist.c',
36 'fix/source/audio_encoder_isacfix.cc',
37 'fix/source/bandwidth_estimator.c',
38 'fix/source/decode.c',
39 'fix/source/decode_bwe.c',
40 'fix/source/decode_plc.c',
41 'fix/source/encode.c',
42 'fix/source/entropy_coding.c',
43 'fix/source/fft.c',
44 'fix/source/filterbank_tables.c',
45 'fix/source/filterbanks.c',
46 'fix/source/filters.c',
47 'fix/source/initialize.c',
48 'fix/source/isacfix.c',
49 'fix/source/lattice.c',
50 'fix/source/lattice_c.c',
51 'fix/source/lpc_masking_model.c',
52 'fix/source/lpc_tables.c',
53 'fix/source/pitch_estimator.c',
54 'fix/source/pitch_estimator_c.c',
55 'fix/source/pitch_filter.c',
56 'fix/source/pitch_filter_c.c',
57 'fix/source/pitch_gain_tables.c',
58 'fix/source/pitch_lag_tables.c',
59 'fix/source/spectrum_ar_model_tables.c',
60 'fix/source/transform.c',
61 'fix/source/transform_tables.c',
62 'fix/source/arith_routins.h',
63 'fix/source/bandwidth_estimator.h',
64 'fix/source/codec.h',
65 'fix/source/entropy_coding.h',
66 'fix/source/fft.h',
67 'fix/source/filterbank_tables.h',
68 'fix/source/lpc_masking_model.h',
69 'fix/source/lpc_tables.h',
70 'fix/source/pitch_estimator.h',
71 'fix/source/pitch_gain_tables.h',
72 'fix/source/pitch_lag_tables.h',
73 'fix/source/settings.h',
74 'fix/source/spectrum_ar_model_tables.h',
75 'fix/source/structs.h',
76 ],
77 'conditions': [
78 ['OS!="win"', {
79 'defines': [
80 'WEBRTC_LINUX',
81 ],
82 }],
83 ['target_arch=="arm" and arm_version>=7', {
kjellander@webrtc.orge35fa962015-02-16 12:46:41 +000084 'sources': [
85 'fix/source/lattice_armv7.S',
86 'fix/source/pitch_filter_armv6.S',
87 ],
88 'sources!': [
89 'fix/source/lattice_c.c',
90 'fix/source/pitch_filter_c.c',
91 ],
andrew@webrtc.orgfa674632015-03-05 06:07:25 +000092 'conditions': [
93 ['arm_neon==1 or arm_neon_optional==1', {
94 'dependencies': [ 'isac_neon' ],
95 }],
96 ],
kjellander@webrtc.orge35fa962015-02-16 12:46:41 +000097 }],
Zhongwei Yaoe8a197b2015-04-28 14:42:11 +080098 ['target_arch=="arm64"', {
99 'dependencies': ['isac_neon', ],
100 }],
Richard Colesd417c932015-04-09 17:36:12 +0200101 ['target_arch=="mipsel" and mips_arch_variant!="r6"', {
kjellander@webrtc.orge35fa962015-02-16 12:46:41 +0000102 'sources': [
103 'fix/source/entropy_coding_mips.c',
104 'fix/source/filters_mips.c',
105 'fix/source/lattice_mips.c',
106 'fix/source/pitch_estimator_mips.c',
107 'fix/source/transform_mips.c',
108 ],
109 'sources!': [
110 'fix/source/lattice_c.c',
111 'fix/source/pitch_estimator_c.c',
112 ],
113 'conditions': [
114 ['mips_dsp_rev>0', {
115 'sources': [
116 'fix/source/filterbanks_mips.c',
117 ],
118 }],
119 ['mips_dsp_rev>1', {
120 'sources': [
121 'fix/source/lpc_masking_model_mips.c',
122 'fix/source/pitch_filter_mips.c',
123 ],
124 'sources!': [
125 'fix/source/pitch_filter_c.c',
126 ],
127 }],
128 ],
129 }],
130 ],
131 },
132 ],
133 'conditions': [
Zhongwei Yaoe8a197b2015-04-28 14:42:11 +0800134 ['target_arch=="arm" and arm_version>=7 or target_arch=="arm64"', {
kjellander@webrtc.orge35fa962015-02-16 12:46:41 +0000135 'targets': [
136 {
137 'target_name': 'isac_neon',
138 'type': 'static_library',
139 'includes': ['../../../../build/arm_neon.gypi',],
140 'dependencies': [
141 '<(webrtc_root)/common_audio/common_audio.gyp:common_audio',
142 ],
kjellander@webrtc.orge35fa962015-02-16 12:46:41 +0000143 'sources': [
144 'fix/source/entropy_coding_neon.c',
Zhongwei Yaof242e662015-05-06 16:39:17 +0800145 'fix/source/filters_neon.c',
146 'fix/source/lattice_neon.c',
147 'fix/source/transform_neon.c',
kjellander@webrtc.orge35fa962015-02-16 12:46:41 +0000148 ],
149 'conditions': [
150 # Disable LTO in isac_neon target due to compiler bug
151 ['use_lto==1', {
152 'cflags!': [
153 '-flto',
154 '-ffat-lto-objects',
155 ],
156 }],
Zhongwei Yaof242e662015-05-06 16:39:17 +0800157 # Disable AllpassFilter2FixDec16Neon function due to a clang
158 # bug. Refer more details at:
159 # https://code.google.com/p/webrtc/issues/detail?id=4567
160 ['target_arch!="arm64" or clang==0', {
Zhongwei Yaoe8a197b2015-04-28 14:42:11 +0800161 'sources': ['fix/source/filterbanks_neon.c',],
Zhongwei Yaoe8a197b2015-04-28 14:42:11 +0800162 }]
kjellander@webrtc.orge35fa962015-02-16 12:46:41 +0000163 ],
164 },
165 ],
166 }],
167 ],
168}