1#
2#  Copyright 2017 Google, Inc.
3#
4#  Licensed under the Apache License, Version 2.0 (the "License");
5#  you may not use this file except in compliance with the License.
6#  You may obtain a copy of the License at:
7#
8#  http://www.apache.org/licenses/LICENSE-2.0
9#
10#  Unless required by applicable law or agreed to in writing, software
11#  distributed under the License is distributed on an "AS IS" BASIS,
12#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13#  See the License for the specific language governing permissions and
14#  limitations under the License.
15#
16
17config("libFraunhoferAAC_config") {
18  include_dirs = [
19    "libAACdec/include",
20    "libAACenc/include",
21    "libPCMutils/include",
22    "libFDK/include",
23    "libSYS/include",
24    "libMpegTPDec/include",
25    "libMpegTPEnc/include",
26    "libSBRdec/include",
27    "libSBRenc/include",
28  ]
29}
30
31#TODO(jpawlowski): this files are not build right now, but might be useful when
32# arm platform linux compilation is in use:
33#    "libAACdec/src/arm/block_arm.cpp",
34#    "libFDK/src/arm/autocorr2nd.cpp",
35#    "libFDK/src/arm/dct_arm.cpp",
36#    "libFDK/src/arm/fft_rad2_arm.cpp",
37#    "libFDK/src/arm/qmf_arm.cpp",
38#    "libFDK/src/arm/scale_arm.cpp",
39#    "libSBRdec/src/arm/env_calc_arm.cpp",
40#    "libSBRdec/src/arm/lpp_tran_arm.cpp",
41#    "libSYS/src/mips/genericStds_mips.cpp",
42#    "libFDK/src/mips/fft_rad2_mips.cpp",
43#    "libFDK/src/mips/mips_fft_twiddles.cpp",
44#    "libFDK/src/mips/scale.cpp",
45
46static_library("libFraunhoferAAC") {
47  sources = [
48    "libAACdec/src/aacdec_drc.cpp",
49    "libAACdec/src/aacdec_hcr_bit.cpp",
50    "libAACdec/src/aacdec_hcr.cpp",
51    "libAACdec/src/aacdec_hcrs.cpp",
52    "libAACdec/src/aacdecoder.cpp",
53    "libAACdec/src/aacdecoder_lib.cpp",
54    "libAACdec/src/aacdec_pns.cpp",
55    "libAACdec/src/aacdec_tns.cpp",
56    "libAACdec/src/aac_ram.cpp",
57    "libAACdec/src/aac_rom.cpp",
58    "libAACdec/src/block.cpp",
59    "libAACdec/src/channel.cpp",
60    "libAACdec/src/channelinfo.cpp",
61    "libAACdec/src/conceal.cpp",
62    "libAACdec/src/ldfiltbank.cpp",
63    "libAACdec/src/pulsedata.cpp",
64    "libAACdec/src/rvlcbit.cpp",
65    "libAACdec/src/rvlcconceal.cpp",
66    "libAACdec/src/rvlc.cpp",
67    "libAACdec/src/stereo.cpp",
68    "libAACenc/src/aacenc.cpp",
69    "libAACenc/src/aacenc_lib.cpp",
70    "libAACenc/src/aacenc_pns.cpp",
71    "libAACenc/src/aacEnc_ram.cpp",
72    "libAACenc/src/aacEnc_rom.cpp",
73    "libAACenc/src/aacenc_tns.cpp",
74    "libAACenc/src/adj_thr.cpp",
75    "libAACenc/src/band_nrg.cpp",
76    "libAACenc/src/bandwidth.cpp",
77    "libAACenc/src/bit_cnt.cpp",
78    "libAACenc/src/bitenc.cpp",
79    "libAACenc/src/block_switch.cpp",
80    "libAACenc/src/channel_map.cpp",
81    "libAACenc/src/chaosmeasure.cpp",
82    "libAACenc/src/dyn_bits.cpp",
83    "libAACenc/src/grp_data.cpp",
84    "libAACenc/src/intensity.cpp",
85    "libAACenc/src/line_pe.cpp",
86    "libAACenc/src/metadata_compressor.cpp",
87    "libAACenc/src/metadata_main.cpp",
88    "libAACenc/src/ms_stereo.cpp",
89    "libAACenc/src/noisedet.cpp",
90    "libAACenc/src/pnsparam.cpp",
91    "libAACenc/src/pre_echo_control.cpp",
92    "libAACenc/src/psy_configuration.cpp",
93    "libAACenc/src/psy_main.cpp",
94    "libAACenc/src/qc_main.cpp",
95    "libAACenc/src/quantize.cpp",
96    "libAACenc/src/sf_estim.cpp",
97    "libAACenc/src/spreading.cpp",
98    "libAACenc/src/tonality.cpp",
99    "libAACenc/src/transform.cpp",
100    "libFDK/src/autocorr2nd.cpp",
101    "libFDK/src/dct.cpp",
102    "libFDK/src/FDK_bitbuffer.cpp",
103    "libFDK/src/FDK_core.cpp",
104    "libFDK/src/FDK_crc.cpp",
105    "libFDK/src/FDK_hybrid.cpp",
106    "libFDK/src/FDK_tools_rom.cpp",
107    "libFDK/src/FDK_trigFcts.cpp",
108    "libFDK/src/fft.cpp",
109    "libFDK/src/fft_rad2.cpp",
110    "libFDK/src/fixpoint_math.cpp",
111    "libFDK/src/mdct.cpp",
112    "libFDK/src/qmf.cpp",
113    "libFDK/src/scale.cpp",
114    "libMpegTPDec/src/tpdec_adif.cpp",
115    "libMpegTPDec/src/tpdec_adts.cpp",
116    "libMpegTPDec/src/tpdec_asc.cpp",
117    "libMpegTPDec/src/tpdec_drm.cpp",
118    "libMpegTPDec/src/tpdec_latm.cpp",
119    "libMpegTPDec/src/tpdec_lib.cpp",
120    "libMpegTPEnc/src/tpenc_adif.cpp",
121    "libMpegTPEnc/src/tpenc_adts.cpp",
122    "libMpegTPEnc/src/tpenc_asc.cpp",
123    "libMpegTPEnc/src/tpenc_latm.cpp",
124    "libMpegTPEnc/src/tpenc_lib.cpp",
125    "libPCMutils/src/limiter.cpp",
126    "libPCMutils/src/pcmutils_lib.cpp",
127    "libSBRdec/src/env_calc.cpp",
128    "libSBRdec/src/env_dec.cpp",
129    "libSBRdec/src/env_extr.cpp",
130    "libSBRdec/src/huff_dec.cpp",
131    "libSBRdec/src/lpp_tran.cpp",
132    "libSBRdec/src/psbitdec.cpp",
133    "libSBRdec/src/psdec.cpp",
134    "libSBRdec/src/psdec_hybrid.cpp",
135    "libSBRdec/src/sbr_crc.cpp",
136    "libSBRdec/src/sbr_deb.cpp",
137    "libSBRdec/src/sbr_dec.cpp",
138    "libSBRdec/src/sbrdec_drc.cpp",
139    "libSBRdec/src/sbrdec_freq_sca.cpp",
140    "libSBRdec/src/sbrdecoder.cpp",
141    "libSBRdec/src/sbr_ram.cpp",
142    "libSBRdec/src/sbr_rom.cpp",
143    "libSBRenc/src/bit_sbr.cpp",
144    "libSBRenc/src/code_env.cpp",
145    "libSBRenc/src/env_bit.cpp",
146    "libSBRenc/src/env_est.cpp",
147    "libSBRenc/src/fram_gen.cpp",
148    "libSBRenc/src/invf_est.cpp",
149    "libSBRenc/src/mh_det.cpp",
150    "libSBRenc/src/nf_est.cpp",
151    "libSBRenc/src/ps_bitenc.cpp",
152    "libSBRenc/src/ps_encode.cpp",
153    "libSBRenc/src/ps_main.cpp",
154    "libSBRenc/src/resampler.cpp",
155    "libSBRenc/src/sbrenc_freq_sca.cpp",
156    "libSBRenc/src/sbr_encoder.cpp",
157    "libSBRenc/src/sbr_misc.cpp",
158    "libSBRenc/src/sbr_ram.cpp",
159    "libSBRenc/src/sbr_rom.cpp",
160    "libSBRenc/src/ton_corr.cpp",
161    "libSBRenc/src/tran_det.cpp",
162    "libSYS/src/cmdl_parser.cpp",
163    "libSYS/src/conv_string.cpp",
164    "libSYS/src/genericStds.cpp",
165    "libSYS/src/linux/audio_linux.cpp",
166    "libSYS/src/linux/coresup_linux.cpp",
167    "libSYS/src/linux/FDK_stackload_linux.cpp",
168    "libSYS/src/linux/genericStds_linux.cpp",
169    "libSYS/src/linux/uart_linux.cpp",
170    "libSYS/src/wav_file.cpp",
171  ]
172
173  public_configs = [ ":libFraunhoferAAC_config" ]
174
175  cflags = [
176        "-Wno-sequence-point",
177        "-Wno-extra",
178        "-Wno-#warnings",
179        "-Wno-constant-logical-operand",
180        "-Wno-self-assign",
181  ]
182}
183