blob: 45a3436d5b5f9d13d06acc8df0ff40565f15ae31 [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', {
84 'dependencies': [ 'isac_neon', ],
85 'sources': [
86 'fix/source/lattice_armv7.S',
87 'fix/source/pitch_filter_armv6.S',
88 ],
89 'sources!': [
90 'fix/source/lattice_c.c',
91 'fix/source/pitch_filter_c.c',
92 ],
93 }],
94 ['target_arch=="mipsel" and mips_arch_variant!="r6" and android_webview_build==0', {
95 'sources': [
96 'fix/source/entropy_coding_mips.c',
97 'fix/source/filters_mips.c',
98 'fix/source/lattice_mips.c',
99 'fix/source/pitch_estimator_mips.c',
100 'fix/source/transform_mips.c',
101 ],
102 'sources!': [
103 'fix/source/lattice_c.c',
104 'fix/source/pitch_estimator_c.c',
105 ],
106 'conditions': [
107 ['mips_dsp_rev>0', {
108 'sources': [
109 'fix/source/filterbanks_mips.c',
110 ],
111 }],
112 ['mips_dsp_rev>1', {
113 'sources': [
114 'fix/source/lpc_masking_model_mips.c',
115 'fix/source/pitch_filter_mips.c',
116 ],
117 'sources!': [
118 'fix/source/pitch_filter_c.c',
119 ],
120 }],
121 ],
122 }],
123 ],
124 },
125 ],
126 'conditions': [
127 ['target_arch=="arm" and arm_version>=7', {
128 'targets': [
129 {
130 'target_name': 'isac_neon',
131 'type': 'static_library',
132 'includes': ['../../../../build/arm_neon.gypi',],
133 'dependencies': [
134 '<(webrtc_root)/common_audio/common_audio.gyp:common_audio',
135 ],
136 'include_dirs': [
137 '<(webrtc_root)',
138 ],
139 'sources': [
140 'fix/source/entropy_coding_neon.c',
141 'fix/source/filterbanks_neon.S',
142 'fix/source/filters_neon.S',
143 'fix/source/lattice_neon.S',
144 'fix/source/lpc_masking_model_neon.S',
145 'fix/source/transform_neon.S',
146 ],
147 'conditions': [
148 # Disable LTO in isac_neon target due to compiler bug
149 ['use_lto==1', {
150 'cflags!': [
151 '-flto',
152 '-ffat-lto-objects',
153 ],
154 }],
155 ],
156 },
157 ],
158 }],
159 ],
160}