1 /******************************************************************************
2 * FILE PURPOSE: Build description for package ti.dsplib
3 ******************************************************************************
4 * FILE NAME: package.bld
5 *
6 * DESCRIPTION: This file contains attributes to build and create releases for
7 * package ti.dsplib
8 *
9 * TABS: NONE
10 *
11 * Copyright (C) 2010 Texas Instruments, Inc.
12 ******************************************************************************/
14 var Package=xdc.loadCapsule('ti/mas/swtools/CommonBld.xs');
16 /* Global Variables */
17 Package.bundlename="dsplib";
19 Package.bundletype="kernel";
21 var doxygenstring= " docs/doxygen ";
23 /* Local Variables */
25 var IncludeList=new Array();
27 /* List names of directories */
28 //IncludeList=["DSP_fft16x16","DSP_fft16x32","DSP_fft32x32","DSPF_sp_fftSPxSP"];
29 //IncludeList=["DSP_fft16x16","DSP_fft16x32","DSP_fft32x32","DSPF_sp_fftSPxSP","DSP_fft16x16_imre","DSP_fft16x16r","DSP_fft32x32s","DSP_ifft16x16","DSP_ifft16x16_imre", "DSP_ifft16x32","DSP_ifft32x32"];
30 //IncludeList=["DSP_fft16x16","DSP_fft16x32","DSP_fft32x32","DSPF_sp_fftSPxSP", "DSPF_sp_cholesky", "DSPF_dp_cholesky"];
31 //IncludeList=["DSP_urand32","DSP_urand16","DSPF_sp_urand","DSPF_sp_erand", "DSPF_sp_nrand"];
32 //IncludeList=["DSP_fft16x16","DSP_fft16x32","DSP_fft32x32","DSPF_sp_fftSPxSP", "DSPF_sp_lud","DSPF_dp_lud","DSPF_sp_evd","DSPF_dp_evd","DSPF_sp_qrd","DSPF_dp_qrd","DSPF_sp_svd","DSPF_dp_svd"];
34 /* Command line handling */
35 Package.args["knl"] = {
36 value:"knl",
37 action: function(value) {
38 IncludeList = new Array(value);
39 },
40 usageComment: " Select a kernel to compile"
41 }
44 var ExcludeList=[
45 {name:"DSPF_sp_cholesky_cmplx",srcDir:"c64P"},
46 {name:"DSPF_dp_cholesky_cmplx",srcDir:"c64P"},
47 {name:"DSPF_sp_lud_cmplx",srcDir:"c64P"},
48 {name:"DSPF_dp_lud_cmplx",srcDir:"c64P"},
49 {name:"DSPF_sp_lud_inv_cmplx",srcDir:"c64P"},
50 {name:"DSPF_dp_lud_inv_cmplx",srcDir:"c64P"},
51 {name:"DSPF_sp_lud_sol_cmplx",srcDir:"c64P"},
52 {name:"DSPF_dp_lud_sol_cmplx",srcDir:"c64P"},
53 {name:"DSPF_sp_qrd_cmplx",srcDir:"c64P"},
54 {name:"DSPF_dp_qrd_cmplx",srcDir:"c64P"},
55 {name:"DSPF_sp_svd_cmplx",srcDir:"c64P"},
56 {name:"DSPF_dp_svd_cmplx",srcDir:"c64P"},
57 {name:"DSPF_sp_lud",srcDir:"c64P"},
58 {name:"DSPF_dp_lud",srcDir:"c64P"},
59 {name:"DSPF_sp_lud_inv",srcDir:"c64P"},
60 {name:"DSPF_dp_lud_inv",srcDir:"c64P"},
61 {name:"DSPF_sp_lud_sol",srcDir:"c64P"},
62 {name:"DSPF_dp_lud_sol",srcDir:"c64P"},
63 {name:"DSPF_sp_qrd",srcDir:"c64P"},
64 {name:"DSPF_dp_qrd",srcDir:"c64P"},
65 {name:"DSPF_sp_svd",srcDir:"c64P"},
66 {name:"DSPF_dp_svd",srcDir:"c64P"},
67 {name:"DSP_urand32",srcDir:"c64P"},
68 {name:"DSP_urand16",srcDir:"c64P"},
69 {name:"DSPF_sp_urand",srcDir:"c64P"},
70 {name:"DSPF_sp_nrand",srcDir:"c64P"},
71 {name:"DSPF_sp_erand",srcDir:"c64P"},
72 {name:"DSPF_sp_cholesky",srcDir:"c64P"},
73 {name:"DSPF_dp_cholesky",srcDir:"c64P"},
74 {name:"DSPF_sp_fftSPxSP",srcDir:"c64P"},
75 {name:"DSPF_sp_ifftSPxSP",srcDir:"c64P"},
76 {name:"DSPF_sp_fftSPxSP_r2c",srcDir:"c64P"},
77 {name:"DSPF_sp_ifftSPxSP_c2r",srcDir:"c64P"},
78 {name:"DSPF_sp_fir_cplx",srcDir:"c64P"},
79 {name:"DSPF_sp_fir_gen",srcDir:"c64P"},
80 {name:"DSPF_sp_fir_r2",srcDir:"c64P"},
81 {name:"DSPF_sp_fircirc",srcDir:"c64P"},
82 {name:"DSPF_sp_autocor",srcDir:"c64P"},
83 {name:"DSPF_sp_biquad",srcDir:"c64P"},
84 {name:"DSPF_sp_convol",srcDir:"c64P"},
85 {name:"DSPF_sp_bitrev_cplx",srcDir:"c64P"},
86 {name:"DSPF_sp_dotp_cplx",srcDir:"c64P"},
87 {name:"DSPF_sp_dotprod",srcDir:"c64P"},
88 {name:"DSPF_sp_lms",srcDir:"c64P"},
89 {name:"DSPF_sp_iir",srcDir:"c64P"},
90 {name:"DSPF_sp_mat_trans",srcDir:"c64P"},
91 {name:"DSPF_sp_iirlat",srcDir:"c64P"},
92 {name:"DSPF_sp_maxidx",srcDir:"c64P"},
93 {name:"DSPF_sp_mat_mul",srcDir:"c64P"},
94 {name:"DSPF_sp_maxval",srcDir:"c64P"},
95 {name:"DSPF_sp_mat_mul_cplx",srcDir:"c64P"},
96 {name:"DSPF_sp_minerr",srcDir:"c64P"},
97 {name:"DSPF_sp_minval",srcDir:"c64P"},
98 {name:"DSPF_sp_vecadd",srcDir:"c64P"},
99 {name:"DSPF_sp_vecmul",srcDir:"c64P"},
100 {name:"DSPF_sp_vecrecip",srcDir:"c64P"},
101 {name:"DSPF_sp_vecsum_sq",srcDir:"c64P"},
102 {name:"DSPF_sp_w_vec",srcDir:"c64P"},
103 {name:"DSPF_blk_eswap16",srcDir:"c64P"},
104 {name:"DSPF_blk_eswap32",srcDir:"c64P"},
105 {name:"DSPF_blk_eswap64",srcDir:"c64P"},
106 {name:"DSPF_fltoq15",srcDir:"c64P"},
107 {name:"DSPF_q15tofl",srcDir:"c64P"},
108 {name:"DSPF_sp_blk_move",srcDir:"c64P"},
109 {name:"DSPF_sp_cfftr2_dit",srcDir:"c64P"},
110 {name:"DSPF_sp_cfftr4_dif",srcDir:"c64P"},
111 {name:"DSPF_sp_icfftr2_dif",srcDir:"c64P"},
112 {name:"DSP_fir_r8_h8",srcDir:"c64P"},
113 {name:"DSP_fir_r8_h16",srcDir:"c64P"},
114 {name:"DSP_fir_r8_h24",srcDir:"c64P"},
115 {name:"DSPF_dp_fftDPxDP",srcDir:"c64P"},
116 {name:"DSPF_sp_mat_mul_gemm_cplx",srcDir:"c64P"},
117 {name:"DSPF_sp_mat_trans_cplx",srcDir:"c64P"},
118 {name:"DSPF_sp_mat_submat_copy_cplx",srcDir:"c64P"},
119 {name:"DSPF_dp_ifftDPxDP",srcDir:"c64P"},
120 {name:"DSPF_dp_mat_mul_gemm",srcDir:"c64P"},
121 {name:"DSPF_sp_mat_submat_copy",srcDir:"c64P"},
122 {name:"DSPF_sp_mat_mul_gemm",srcDir:"c64P"},
123 {name:"DSPF_dp_mat_trans",srcDir:"c64P"},
124 {name:"DSPF_dp_mat_submat_copy",srcDir:"c64P"},
126 {name:"DSPF_blk_eswap16",srcDir:"c66"},
127 {name:"DSPF_blk_eswap32",srcDir:"c66"},
128 {name:"DSPF_blk_eswap64",srcDir:"c66"},
129 {name:"DSPF_fltoq15",srcDir:"c66"},
130 {name:"DSPF_q15tofl",srcDir:"c66"},
131 {name:"DSPF_sp_blk_move",srcDir:"c66"},
132 {name:"DSPF_sp_cfftr2_dit",srcDir:"c66"},
133 {name:"DSPF_sp_cfftr4_dif",srcDir:"c66"},
134 {name:"DSPF_sp_icfftr2_dif",srcDir:"c66"},
136 {name:"DSPF_sp_cholesky_cmplx",srcDir:"c674"},
137 {name:"DSPF_dp_cholesky_cmplx",srcDir:"c674"},
138 {name:"DSPF_sp_lud_cmplx",srcDir:"c674"},
139 {name:"DSPF_dp_lud_cmplx",srcDir:"c674"},
140 {name:"DSPF_sp_lud_inv_cmplx",srcDir:"c674"},
141 {name:"DSPF_dp_lud_inv_cmplx",srcDir:"c674"},
142 {name:"DSPF_sp_lud_sol_cmplx",srcDir:"c674"},
143 {name:"DSPF_dp_lud_sol_cmplx",srcDir:"c674"},
144 {name:"DSPF_sp_qrd_cmplx",srcDir:"c674"},
145 {name:"DSPF_dp_qrd_cmplx",srcDir:"c674"},
146 {name:"DSPF_sp_svd_cmplx",srcDir:"c674"},
147 {name:"DSPF_dp_svd_cmplx",srcDir:"c674"},
148 {name:"DSPF_dp_lud",srcDir:"c674"},
149 {name:"DSPF_sp_lud",srcDir:"c674"},
150 {name:"DSPF_sp_lud_inv",srcDir:"c674"},
151 {name:"DSPF_dp_lud_inv",srcDir:"c674"},
152 {name:"DSPF_sp_lud_sol",srcDir:"c674"},
153 {name:"DSPF_dp_lud_sol",srcDir:"c674"},
154 {name:"DSPF_dp_qrd",srcDir:"c674"},
155 {name:"DSPF_sp_qrd",srcDir:"c674"},
156 {name:"DSPF_dp_svd",srcDir:"c674"},
157 {name:"DSPF_sp_svd",srcDir:"c674"},
158 {name:"DSP_urand32",srcDir:"c674"},
159 {name:"DSP_urand16",srcDir:"c674"},
160 {name:"DSPF_sp_urand",srcDir:"c674"},
161 {name:"DSPF_sp_nrand",srcDir:"c674"},
162 {name:"DSPF_sp_erand",srcDir:"c674"},
163 {name:"DSPF_sp_cholesky",srcDir:"c674"},
164 {name:"DSPF_dp_cholesky",srcDir:"c674"},
165 {name:"DSPF_dp_fftDPxDP",srcDir:"c674"},
166 {name:"DSPF_sp_fftSPxSP_r2c",srcDir:"c674"},
167 {name:"DSPF_sp_ifftSPxSP_c2r",srcDir:"c674"},
168 {name:"DSPF_sp_mat_trans_cplx",srcDir:"c674"},
169 {name:"DSPF_sp_mat_submat_copy_cplx",srcDir:"c674"},
170 {name:"DSPF_dp_ifftDPxDP",srcDir:"c674"},
171 {name:"DSPF_dp_mat_mul_gemm",srcDir:"c674"},
172 {name:"DSPF_sp_mat_submat_copy",srcDir:"c674"},
173 {name:"DSPF_dp_mat_trans",srcDir:"c674"},
174 {name:"DSPF_dp_mat_submat_copy",srcDir:"c674"},
175 {name:"DSPF_sp_vecadd",srcDir:"c674"},
176 {name:"DSP_add16",srcDir:"c674"},
177 {name:"DSP_add32",srcDir:"c674"},
178 {name:"DSP_autocor",srcDir:"c674"},
179 {name:"DSP_bexp",srcDir:"c674"},
180 {name:"DSP_blk_eswap16",srcDir:"c674"},
181 {name:"DSP_blk_eswap32",srcDir:"c674"},
182 {name:"DSP_blk_eswap64",srcDir:"c674"},
183 {name:"DSP_blk_move",srcDir:"c674"},
184 {name:"DSP_dotprod",srcDir:"c674"},
185 {name:"DSP_dotp_sqr",srcDir:"c674"},
186 {name:"DSP_fft16x16",srcDir:"c674"},
187 {name:"DSP_fft16x16r",srcDir:"c674"},
188 {name:"DSP_fft16x16_imre",srcDir:"c674"},
189 {name:"DSP_fft16x32",srcDir:"c674"},
190 {name:"DSP_fft32x32",srcDir:"c674"},
191 {name:"DSP_fft32x32s",srcDir:"c674"},
192 {name:"DSP_firlms2",srcDir:"c674"},
193 {name:"DSP_fir_cplx",srcDir:"c674"},
194 {name:"DSP_fir_cplx_hM4X4",srcDir:"c674"},
195 {name:"DSP_fir_gen",srcDir:"c674"},
196 {name:"DSP_fir_gen_hM17_rA8X8",srcDir:"c674"},
197 {name:"DSP_fir_r4",srcDir:"c674"},
198 {name:"DSP_fir_r8",srcDir:"c674"},
199 {name:"DSP_fir_r8_hM16_rM8A8X8",srcDir:"c674"},
200 {name:"DSP_fir_sym",srcDir:"c674"},
201 {name:"DSP_fltoq15",srcDir:"c674"},
202 {name:"DSP_ifft16x16",srcDir:"c674"},
203 {name:"DSP_ifft16x16_imre",srcDir:"c674"},
204 {name:"DSP_ifft16x32",srcDir:"c674"},
205 {name:"DSP_ifft32x32",srcDir:"c674"},
206 {name:"DSP_iir",srcDir:"c674"},
207 {name:"DSP_iir_lat",srcDir:"c674"},
208 {name:"DSP_iir_ss",srcDir:"c674"},
209 {name:"DSP_mat_mul",srcDir:"c674"},
210 {name:"DSP_mat_mul_cplx",srcDir:"c674"},
211 {name:"DSP_mat_trans",srcDir:"c674"},
212 {name:"DSP_maxidx",srcDir:"c674"},
213 {name:"DSP_maxval",srcDir:"c674"},
214 {name:"DSP_minerror",srcDir:"c674"},
215 {name:"DSP_minval",srcDir:"c674"},
216 {name:"DSP_mul32",srcDir:"c674"},
217 {name:"DSP_neg32",srcDir:"c674"},
218 {name:"DSP_q15tofl",srcDir:"c674"},
219 {name:"DSP_recip16",srcDir:"c674"},
220 {name:"DSP_vecsumsq",srcDir:"c674"},
221 {name:"DSP_w_vec",srcDir:"c674"}]
224 var TIREX_TARGET;
226 for (var k = 0; k < arguments.length; k++)
227 {
228 switch (arguments[k])
229 {
230 case "c66x":
231 TIREX_TARGET = "C66X";
232 break;
233 case "c674x":
234 TIREX_TARGET = "C674X";
235 break;
236 case "c64Px":
237 TIREX_TARGET = "C64PX";
238 break;
239 }
240 }
242 var SpecialList=[]
244 Package.archiveFiles["CommonArchiveFiles"] = {
245 files: [
246 "docs/manifest/Software_Manifest.html",
247 "docs/bundle/manifest/doxyfile.xdt",
248 "docs/bundle/doxygen/doxyfile.xdt",
249 "docs/manifest/manifest.xml.xdt",
250 "setenv.bat",
251 "setxdcpath.js",
252 ]
253 };
255 Package.archiveFiles["headers"] = {
256 base_directory: "./src/",
257 files: [
258 "DSPF_sp_minerr/c66/DSPF_sp_minerr_cn.h",
259 "DSPF_sp_minerr/c66/DSPF_sp_minerr.h",
260 "DSPF_sp_minerr/DSPF_sp_minerr.h",
261 "DSPF_sp_minerr/c674/DSPF_sp_minerr_cn.h",
262 "DSPF_sp_minerr/c674/DSPF_sp_minerr.h",
263 "DSPF_sp_mat_mul/c66/DSPF_sp_mat_mul.h",
264 "DSPF_sp_mat_mul/c66/DSPF_sp_mat_mul_cn.h",
265 "DSPF_sp_mat_mul/DSPF_sp_mat_mul.h",
266 "DSPF_sp_mat_mul/c674/DSPF_sp_mat_mul.h",
267 "DSPF_sp_mat_mul/c674/DSPF_sp_mat_mul_cn.h",
268 "DSP_ifft16x16_imre/c66/DSP_ifft16x16_imre.h",
269 "DSP_ifft16x16_imre/c66/DSP_ifft16x16_imre_cn.h",
270 "DSP_ifft16x16_imre/c66/gen_twiddle_ifft16x16_imre.h",
271 "DSP_ifft16x16_imre/DSP_ifft16x16_imre.h",
272 "DSP_ifft16x16_imre/c64P/DSP_ifft16x16_imre.h",
273 "DSP_ifft16x16_imre/c64P/DSP_ifft16x16_imre_cn.h",
274 "DSP_ifft16x16_imre/c64P/gen_twiddle_ifft16x16_imre.h",
275 "DSP_ifft16x16_imre/c64P/DSP_ifft16x16_imre_i.h",
276 "DSP_maxidx/c66/DSP_maxidx.h",
277 "DSP_maxidx/c66/DSP_maxidx_cn.h",
278 "DSP_maxidx/DSP_maxidx.h",
279 "DSP_maxidx/c64P/DSP_maxidx.h",
280 "DSP_maxidx/c64P/DSP_maxidx_cn.h",
281 "DSP_iir_lat/c66/DSP_iir_lat_cn.h",
282 "DSP_iir_lat/c66/DSP_iir_lat.h",
283 "DSP_iir_lat/DSP_iir_lat.h",
284 "DSP_iir_lat/c64P/DSP_iir_lat_cn.h",
285 "DSP_iir_lat/c64P/DSP_iir_lat.h",
286 "DSP_fft16x32/c66/DSP_fft16x32.h",
287 "DSP_fft16x32/c66/gen_twiddle_fft16x32.h",
288 "DSP_fft16x32/c66/DSP_fft16x32_cn.h",
289 "DSP_fft16x32/DSP_fft16x32.h",
290 "DSP_fft16x32/c64P/DSP_fft16x32.h",
291 "DSP_fft16x32/c64P/gen_twiddle_fft16x32.h",
292 "DSP_fft16x32/c64P/DSP_fft16x32_i.h",
293 "DSP_fft16x32/c64P/DSP_fft16x32_cn.h",
294 "DSPF_dp_lud_inv/c66/DSPF_dp_lud_inv.h",
295 "DSPF_dp_lud_inv/c66/DSPF_dp_lud_inv_cn.h",
296 "DSPF_dp_lud_inv/DSPF_dp_lud_inv.h",
297 "DSP_neg32/c66/DSP_neg32_cn.h",
298 "DSP_neg32/c66/DSP_neg32.h",
299 "DSP_neg32/c64P/DSP_neg32_cn.h",
300 "DSP_neg32/c64P/DSP_neg32.h",
301 "DSP_neg32/DSP_neg32.h",
302 "DSPF_sp_iirlat/c66/DSPF_sp_iirlat.h",
303 "DSPF_sp_iirlat/c66/DSPF_sp_iirlat_cn.h",
304 "DSPF_sp_iirlat/c674/DSPF_sp_iirlat.h",
305 "DSPF_sp_iirlat/c674/DSPF_sp_iirlat_cn.h",
306 "DSPF_sp_iirlat/DSPF_sp_iirlat.h",
307 "DSP_recip16/c66/DSP_recip16.h",
308 "DSP_recip16/c66/DSP_recip16_cn.h",
309 "DSP_recip16/DSP_recip16.h",
310 "DSP_recip16/c64P/DSP_recip16.h",
311 "DSP_recip16/c64P/DSP_recip16_cn.h",
312 "DSPF_dp_cholesky_cmplx/c66/DSPF_dp_cholesky_cmplx_cn.h",
313 "DSPF_dp_cholesky_cmplx/c66/DSPF_dp_cholesky_cmplx.h",
314 "DSPF_dp_cholesky_cmplx/DSPF_dp_cholesky_cmplx.h",
315 "DSP_autocor/c66/DSP_autocor_cn.h",
316 "DSP_autocor/c66/DSP_autocor.h",
317 "DSP_autocor/c64P/DSP_autocor_cn.h",
318 "DSP_autocor/c64P/DSP_autocor.h",
319 "DSP_autocor/DSP_autocor.h",
320 "DSP_fft16x16_imre/c66/DSP_fft16x16_imre_cn.h",
321 "DSP_fft16x16_imre/c66/gen_twiddle_fft16x16_imre.h",
322 "DSP_fft16x16_imre/c66/DSP_fft16x16_imre.h",
323 "DSP_fft16x16_imre/c64P/DSP_fft16x16_imre_cn.h",
324 "DSP_fft16x16_imre/c64P/DSP_fft16x16_imre_i.h",
325 "DSP_fft16x16_imre/c64P/gen_twiddle_fft16x16_imre.h",
326 "DSP_fft16x16_imre/c64P/DSP_fft16x16_imre.h",
327 "DSP_fft16x16_imre/DSP_fft16x16_imre.h",
328 "DSP_mat_trans/c66/DSP_mat_trans_cn.h",
329 "DSP_mat_trans/c66/DSP_mat_trans.h",
330 "DSP_mat_trans/DSP_mat_trans.h",
331 "DSP_mat_trans/c64P/DSP_mat_trans_cn.h",
332 "DSP_mat_trans/c64P/DSP_mat_trans.h",
333 "DSP_maxval/c66/DSP_maxval_cn.h",
334 "DSP_maxval/c66/DSP_maxval.h",
335 "DSP_maxval/DSP_maxval.h",
336 "DSP_maxval/c64P/DSP_maxval_cn.h",
337 "DSP_maxval/c64P/DSP_maxval.h",
338 "DSPF_sp_vecsum_sq/c66/DSPF_sp_vecsum_sq_cn.h",
339 "DSPF_sp_vecsum_sq/c66/DSPF_sp_vecsum_sq.h",
340 "DSPF_sp_vecsum_sq/c674/DSPF_sp_vecsum_sq_cn.h",
341 "DSPF_sp_vecsum_sq/c674/DSPF_sp_vecsum_sq.h",
342 "DSPF_sp_vecsum_sq/DSPF_sp_vecsum_sq.h",
343 "DSPF_sp_vecmul/c66/DSPF_sp_vecmul_cn.h",
344 "DSPF_sp_vecmul/c66/DSPF_sp_vecmul.h",
345 "DSPF_sp_vecmul/c674/DSPF_sp_vecmul_cn.h",
346 "DSPF_sp_vecmul/c674/DSPF_sp_vecmul.h",
347 "DSPF_sp_vecmul/DSPF_sp_vecmul.h",
348 "DSPF_dp_mat_submat_copy/c66/DSPF_dp_mat_submat_copy.h",
349 "DSPF_dp_mat_submat_copy/c66/DSPF_dp_mat_submat_copy_cn.h",
350 "DSPF_dp_mat_submat_copy/DSPF_dp_mat_submat_copy.h",
351 "DSP_dotprod/c66/DSP_dotprod_cn.h",
352 "DSP_dotprod/c66/DSP_dotprod.h",
353 "DSP_dotprod/c64P/DSP_dotprod_cn.h",
354 "DSP_dotprod/c64P/DSP_dotprod.h",
355 "DSP_dotprod/DSP_dotprod.h",
356 "DSPF_sp_lud_inv_cmplx/c66/DSPF_sp_lud_inv_cmplx_cn.h",
357 "DSPF_sp_lud_inv_cmplx/c66/DSPF_sp_lud_inv_cmplx.h",
358 "DSPF_sp_lud_inv_cmplx/DSPF_sp_lud_inv_cmplx.h",
359 "DSPF_sp_lud/c66/DSPF_sp_lud.h",
360 "DSPF_sp_lud/c66/DSPF_sp_lud_cn.h",
361 "DSPF_sp_lud/DSPF_sp_lud.h",
362 "DSPF_sp_ifftSPxSP/c66/DSPF_sp_ifftSPxSP_cn.h",
363 "DSPF_sp_ifftSPxSP/c66/DSPF_sp_ifftSPxSP.h",
364 "DSPF_sp_ifftSPxSP/c66/DSPF_sp_ifftSPxSP_opt.h",
365 "DSPF_sp_ifftSPxSP/DSPF_sp_ifftSPxSP.h",
366 "DSPF_sp_ifftSPxSP/c674/DSPF_sp_ifftSPxSP_cn.h",
367 "DSPF_sp_ifftSPxSP/c674/DSPF_sp_ifftSPxSP.h",
368 "DSPF_dp_lud_sol/c66/DSPF_dp_lud_sol_cn.h",
369 "DSPF_dp_lud_sol/c66/DSPF_dp_lud_sol.h",
370 "DSPF_dp_lud_sol/DSPF_dp_lud_sol.h",
371 "DSPF_sp_w_vec/c66/DSPF_sp_w_vec.h",
372 "DSPF_sp_w_vec/c66/DSPF_sp_w_vec_cn.h",
373 "DSPF_sp_w_vec/DSPF_sp_w_vec.h",
374 "DSPF_sp_w_vec/c674/DSPF_sp_w_vec.h",
375 "DSPF_sp_w_vec/c674/DSPF_sp_w_vec_cn.h",
376 "DSPF_sp_svd/c66/DSPF_sp_svd_cn.h",
377 "DSPF_sp_svd/c66/DSPF_sp_svd.h",
378 "DSPF_sp_svd/DSPF_sp_svd.h",
379 "DSP_dotp_sqr/c66/DSP_dotp_sqr_cn.h",
380 "DSP_dotp_sqr/c66/DSP_dotp_sqr.h",
381 "DSP_dotp_sqr/DSP_dotp_sqr.h",
382 "DSP_dotp_sqr/c64P/DSP_dotp_sqr_cn.h",
383 "DSP_dotp_sqr/c64P/DSP_dotp_sqr.h",
384 "DSPF_dp_cholesky/c66/DSPF_dp_cholesky.h",
385 "DSPF_dp_cholesky/c66/DSPF_dp_cholesky_cn.h",
386 "DSPF_dp_cholesky/DSPF_dp_cholesky.h",
387 "DSP_blk_eswap64/c66/DSP_blk_eswap64.h",
388 "DSP_blk_eswap64/c66/DSP_blk_eswap64_cn.h",
389 "DSP_blk_eswap64/DSP_blk_eswap64.h",
390 "DSP_blk_eswap64/c64P/DSP_blk_eswap64.h",
391 "DSP_blk_eswap64/c64P/DSP_blk_eswap64_cn.h",
392 "DSP_ifft16x32/c66/DSP_ifft16x32_cn.h",
393 "DSP_ifft16x32/c66/DSP_ifft16x32.h",
394 "DSP_ifft16x32/c66/gen_twiddle_ifft16x32.h",
395 "DSP_ifft16x32/DSP_ifft16x32.h",
396 "DSP_ifft16x32/c64P/DSP_ifft16x32_i.h",
397 "DSP_ifft16x32/c64P/DSP_ifft16x32_cn.h",
398 "DSP_ifft16x32/c64P/DSP_ifft16x32.h",
399 "DSP_ifft16x32/c64P/gen_twiddle_fft16x32.h",
400 "DSP_fir_r8_h24/c66/DSP_fir_r8_h24.h",
401 "DSP_fir_r8_h24/c66/DSP_fir_r8_h24_cn.h",
402 "DSP_fir_r8_h24/c674/DSP_fir_r8_h24.h",
403 "DSP_fir_r8_h24/c674/DSP_fir_r8_h24_cn.h",
404 "DSP_fir_r8_h24/DSP_fir_r8_h24.h",
405 "DSPF_dp_qrd/c66/DSPF_dp_qrd.h",
406 "DSPF_dp_qrd/c66/DSPF_dp_qrd_cn.h",
407 "DSPF_dp_qrd/DSPF_dp_qrd.h",
408 "DSPF_sp_biquad/c66/DSPF_sp_biquad.h",
409 "DSPF_sp_biquad/c66/DSPF_sp_biquad_cn.h",
410 "DSPF_sp_biquad/DSPF_sp_biquad.h",
411 "DSPF_sp_biquad/c674/DSPF_sp_biquad.h",
412 "DSPF_sp_biquad/c674/DSPF_sp_biquad_cn.h",
413 "DSPF_sp_fir_gen/c66/DSPF_sp_fir_gen_cn.h",
414 "DSPF_sp_fir_gen/c66/DSPF_sp_fir_gen.h",
415 "DSPF_sp_fir_gen/c674/DSPF_sp_fir_gen_cn.h",
416 "DSPF_sp_fir_gen/c674/DSPF_sp_fir_gen.h",
417 "DSPF_sp_fir_gen/DSPF_sp_fir_gen.h",
418 "DSPF_sp_fftSPxSP_r2c/c66/DSPF_sp_fftSPxSP_r2c_cn.h",
419 "DSPF_sp_fftSPxSP_r2c/c66/DSPF_sp_fftSPxSP_r2c.h",
420 "DSPF_sp_fftSPxSP_r2c/DSPF_sp_fftSPxSP_r2c.h",
421 "DSP_ifft32x32/c66/DSP_ifft32x32.h",
422 "DSP_ifft32x32/c66/DSP_ifft32x32_cn.h",
423 "DSP_ifft32x32/c66/gen_twiddle_ifft32x32.h",
424 "DSP_ifft32x32/DSP_ifft32x32.h",
425 "DSP_ifft32x32/c64P/gen_twiddle_fft32x32.h",
426 "DSP_ifft32x32/c64P/DSP_ifft32x32.h",
427 "DSP_ifft32x32/c64P/DSP_ifft32x32_cn.h",
428 "DSP_ifft32x32/c64P/DSP_ifft32x32_i.h",
429 "DSPF_sp_erand/c66/DSPF_sp_erand_cn.h",
430 "DSPF_sp_erand/c66/DSPF_sp_erand.h",
431 "DSPF_sp_erand/DSPF_sp_erand.h",
432 "DSP_bexp/c66/DSP_bexp.h",
433 "DSP_bexp/c66/DSP_bexp_cn.h",
434 "DSP_bexp/DSP_bexp.h",
435 "DSP_bexp/c64P/DSP_bexp.h",
436 "DSP_bexp/c64P/DSP_bexp_cn.h",
437 "DSPF_sp_urand/c66/DSPF_sp_urand.h",
438 "DSPF_sp_urand/c66/DSPF_sp_urand_cn.h",
439 "DSPF_sp_urand/DSPF_sp_urand.h",
440 "DSP_fltoq15/c66/DSP_fltoq15.h",
441 "DSP_fltoq15/c66/DSP_fltoq15_cn.h",
442 "DSP_fltoq15/DSP_fltoq15.h",
443 "DSP_fltoq15/c64P/DSP_fltoq15.h",
444 "DSP_fltoq15/c64P/DSP_fltoq15_cn.h",
445 "DSP_urand16/c66/DSP_urand16.h",
446 "DSP_urand16/c66/DSP_urand16_cn.h",
447 "DSP_urand16/DSP_urand16.h",
448 "DSP_iir/c66/DSP_iir_cn.h",
449 "DSP_iir/c66/DSP_iir.h",
450 "DSP_iir/c64P/DSP_iir_cn.h",
451 "DSP_iir/c64P/DSP_iir.h",
452 "DSP_iir/DSP_iir.h",
453 "DSP_urand32/c66/DSP_urand32.h",
454 "DSP_urand32/c66/DSPF_sp_math_i.h",
455 "DSP_urand32/c66/DSP_urand32_cn.h",
456 "DSP_urand32/DSP_urand32.h",
457 "DSP_fft32x32s/c66/DSP_fft32x32s.h",
458 "DSP_fft32x32s/c66/DSP_fft32x32s_cn.h",
459 "DSP_fft32x32s/c66/gen_twiddle_fft32x32s.h",
460 "DSP_fft32x32s/DSP_fft32x32s.h",
461 "DSP_fft32x32s/c64P/gen_twiddle_fft32x32.h",
462 "DSP_fft32x32s/c64P/DSP_fft32x32s.h",
463 "DSP_fft32x32s/c64P/DSP_fft32x32s_i.h",
464 "DSP_fft32x32s/c64P/DSP_fft32x32s_cn.h",
465 "DSP_fir_r8_h8/c66/DSP_fir_r8_h8.h",
466 "DSP_fir_r8_h8/c66/DSP_fir_r8_h8_cn.h",
467 "DSP_fir_r8_h8/DSP_fir_r8_h8.h",
468 "DSP_fir_r8_h8/c674/DSP_fir_r8_h8.h",
469 "DSP_fir_r8_h8/c674/DSP_fir_r8_h8_cn.h",
470 "DSP_blk_eswap16/c66/DSP_blk_eswap16_cn.h",
471 "DSP_blk_eswap16/c66/DSP_blk_eswap16.h",
472 "DSP_blk_eswap16/DSP_blk_eswap16.h",
473 "DSP_blk_eswap16/c64P/DSP_blk_eswap16_cn.h",
474 "DSP_blk_eswap16/c64P/DSP_blk_eswap16.h",
475 "DSPF_sp_qrd_cmplx/c66/DSPF_sp_qrd_cmplx_cn.h",
476 "DSPF_sp_qrd_cmplx/c66/DSPF_sp_qrd_cmplx.h",
477 "DSPF_sp_qrd_cmplx/DSPF_sp_qrd_cmplx.h",
478 "DSPF_blk_eswap64/c674/DSPF_blk_eswap64_cn.h",
479 "DSPF_blk_eswap64/c674/DSPF_blk_eswap64.h",
480 "DSPF_blk_eswap64/DSPF_blk_eswap64.h",
481 "DSP_fir_sym/c66/DSP_fir_sym_cn.h",
482 "DSP_fir_sym/c66/DSP_fir_sym.h",
483 "DSP_fir_sym/DSP_fir_sym.h",
484 "DSP_fir_sym/c64P/DSP_fir_sym_cn.h",
485 "DSP_fir_sym/c64P/DSP_fir_sym.h",
486 "DSP_fir_r8_h16/c66/DSP_fir_r8_h16.h",
487 "DSP_fir_r8_h16/c66/DSP_fir_r8_h16_cn.h",
488 "DSP_fir_r8_h16/DSP_fir_r8_h16.h",
489 "DSP_fir_r8_h16/c674/DSP_fir_r8_h16.h",
490 "DSP_fir_r8_h16/c674/DSP_fir_r8_h16_cn.h",
491 "DSPF_sp_ifftSPxSP_c2r/c66/DSPF_sp_ifftSPxSP_c2r_cn.h",
492 "DSPF_sp_ifftSPxSP_c2r/c66/DSPF_sp_ifftSPxSP_c2r.h",
493 "DSPF_sp_ifftSPxSP_c2r/DSPF_sp_ifftSPxSP_c2r.h",
494 "DSPF_sp_lms/c66/DSPF_sp_lms_cn.h",
495 "DSPF_sp_lms/c66/DSPF_sp_lms.h",
496 "DSPF_sp_lms/DSPF_sp_lms.h",
497 "DSPF_sp_lms/c674/DSPF_sp_lms_cn.h",
498 "DSPF_sp_lms/c674/DSPF_sp_lms.h",
499 "DSPF_sp_vecrecip/c66/DSPF_sp_vecrecip.h",
500 "DSPF_sp_vecrecip/c66/DSPF_sp_vecrecip_cn.h",
501 "DSPF_sp_vecrecip/DSPF_sp_vecrecip.h",
502 "DSPF_sp_vecrecip/c674/DSPF_sp_vecrecip.h",
503 "DSPF_sp_vecrecip/c674/DSPF_sp_vecrecip_cn.h",
504 "DSPF_sp_dotprod/c66/DSPF_sp_dotprod_cn.h",
505 "DSPF_sp_dotprod/c66/DSPF_sp_dotprod.h",
506 "DSPF_sp_dotprod/DSPF_sp_dotprod.h",
507 "DSPF_sp_dotprod/c674/DSPF_sp_dotprod_cn.h",
508 "DSPF_sp_dotprod/c674/DSPF_sp_dotprod.h",
509 "DSPF_sp_bitrev_cplx/c66/DSPF_sp_bitrev_cplx.h",
510 "DSPF_sp_bitrev_cplx/c66/DSPF_sp_bitrev_cplx_cn.h",
511 "DSPF_sp_bitrev_cplx/DSPF_sp_bitrev_cplx.h",
512 "DSPF_sp_bitrev_cplx/c674/DSPF_sp_bitrev_cplx.h",
513 "DSPF_sp_bitrev_cplx/c674/DSPF_sp_bitrev_cplx_cn.h",
514 "DSPF_dp_svd/c66/DSPF_dp_svd_cn.h",
515 "DSPF_dp_svd/c66/DSPF_dp_svd.h",
516 "DSPF_dp_svd/DSPF_dp_svd.h",
517 "DSPF_dp_svd_cmplx/c66/DSPF_dp_svd_cmplx_cn.h",
518 "DSPF_dp_svd_cmplx/c66/DSPF_dp_svd_cmplx.h",
519 "DSPF_dp_svd_cmplx/DSPF_dp_svd_cmplx.h",
520 "DSPF_dp_lud_sol_cmplx/c66/DSPF_dp_lud_sol_cmplx.h",
521 "DSPF_dp_lud_sol_cmplx/c66/DSPF_dp_lud_sol_cmplx_cn.h",
522 "DSPF_dp_lud_sol_cmplx/DSPF_dp_lud_sol_cmplx.h",
523 "DSPF_sp_minval/c66/DSPF_sp_minval.h",
524 "DSPF_sp_minval/c66/DSPF_sp_minval_cn.h",
525 "DSPF_sp_minval/DSPF_sp_minval.h",
526 "DSPF_sp_minval/c674/DSPF_sp_minval.h",
527 "DSPF_sp_minval/c674/DSPF_sp_minval_cn.h",
528 "DSP_iir_ss/c66/DSP_iir_ss_cn.h",
529 "DSP_iir_ss/c66/DSP_iir_ss.h",
530 "DSP_iir_ss/DSP_iir_ss.h",
531 "DSP_iir_ss/c64P/DSP_iir_ss_cn.h",
532 "DSP_iir_ss/c64P/DSP_iir_ss.h",
533 "DSPF_sp_cholesky_cmplx/c66/DSPF_sp_cholesky_cmplx.h",
534 "DSPF_sp_cholesky_cmplx/c66/DSPF_sp_cholesky_cmplx_cn.h",
535 "DSPF_sp_cholesky_cmplx/DSPF_sp_cholesky_cmplx.h",
536 "DSPF_sp_mat_mul_cplx/c66/DSPF_sp_mat_mul_cplx_cn.h",
537 "DSPF_sp_mat_mul_cplx/c66/DSPF_sp_mat_mul_cplx.h",
538 "DSPF_sp_mat_mul_cplx/DSPF_sp_mat_mul_cplx.h",
539 "DSPF_sp_mat_mul_cplx/c674/DSPF_sp_mat_mul_cplx_cn.h",
540 "DSPF_sp_mat_mul_cplx/c674/DSPF_sp_mat_mul_cplx.h",
541 "DSP_fir_gen_hM17_rA8X8/c66/DSP_fir_gen_hM17_rA8X8.h",
542 "DSP_fir_gen_hM17_rA8X8/c66/DSP_fir_gen_hM17_rA8X8_cn.h",
543 "DSP_fir_gen_hM17_rA8X8/DSP_fir_gen_hM17_rA8X8.h",
544 "DSP_fir_gen_hM17_rA8X8/c64P/DSP_fir_gen_hM17_rA8X8.h",
545 "DSP_fir_gen_hM17_rA8X8/c64P/DSP_fir_gen_hM17_rA8X8_cn.h",
546 "DSPF_sp_convol/c66/DSPF_sp_convol_cn.h",
547 "DSPF_sp_convol/c66/DSPF_sp_convol.h",
548 "DSPF_sp_convol/c674/DSPF_sp_convol_cn.h",
549 "DSPF_sp_convol/c674/DSPF_sp_convol.h",
550 "DSPF_sp_convol/DSPF_sp_convol.h",
551 "DSPF_sp_cfftr2_dit/c674/DSPF_sp_cfftr2_dit_cn.h",
552 "DSPF_sp_cfftr2_dit/c674/DSPF_sp_cfftr2_dit.h",
553 "DSPF_sp_cfftr2_dit/DSPF_sp_cfftr2_dit.h",
554 "DSP_fft16x16/c66/gen_twiddle_fft16x16.h",
555 "DSP_fft16x16/c66/DSP_fft16x16_cn.h",
556 "DSP_fft16x16/c66/DSP_fft16x16.h",
557 "DSP_fft16x16/DSP_fft16x16.h",
558 "DSP_fft16x16/c64P/gen_twiddle_fft16x16.h",
559 "DSP_fft16x16/c64P/DSP_fft16x16_i.h",
560 "DSP_fft16x16/c64P/DSP_fft16x16_cn.h",
561 "DSP_fft16x16/c64P/DSP_fft16x16.h",
562 "DSPF_blk_eswap32/DSPF_blk_eswap32.h",
563 "DSPF_blk_eswap32/c674/DSPF_blk_eswap32.h",
564 "DSPF_blk_eswap32/c674/DSPF_blk_eswap32_cn.h",
565 "DSPF_sp_vecadd/c66/DSPF_sp_vecadd.h",
566 "DSPF_sp_vecadd/c66/DSPF_sp_vecadd_cn.h",
567 "DSPF_sp_vecadd/DSPF_sp_vecadd.h",
568 "DSP_minerror/c66/DSP_minerror.h",
569 "DSP_minerror/c66/DSP_minerror_cn.h",
570 "DSP_minerror/DSP_minerror.h",
571 "DSP_minerror/c64P/DSP_minerror.h",
572 "DSP_minerror/c64P/DSP_minerror_cn.h",
573 "DSPF_sp_mat_submat_copy/c66/DSPF_sp_mat_submat_copy_cn.h",
574 "DSPF_sp_mat_submat_copy/c66/DSPF_sp_mat_submat_copy.h",
575 "DSPF_sp_mat_submat_copy/DSPF_sp_mat_submat_copy.h",
576 "DSPF_sp_fir_cplx/c66/DSPF_sp_fir_cplx.h",
577 "DSPF_sp_fir_cplx/c66/DSPF_sp_fir_cplx_cn.h",
578 "DSPF_sp_fir_cplx/c674/DSPF_sp_fir_cplx.h",
579 "DSPF_sp_fir_cplx/c674/DSPF_sp_fir_cplx_cn.h",
580 "DSPF_sp_fir_cplx/DSPF_sp_fir_cplx.h",
581 "DSPF_sp_dotp_cplx/c66/DSPF_sp_dotp_cplx_cn.h",
582 "DSPF_sp_dotp_cplx/c66/DSPF_sp_dotp_cplx.h",
583 "DSPF_sp_dotp_cplx/DSPF_sp_dotp_cplx.h",
584 "DSPF_sp_dotp_cplx/c674/DSPF_sp_dotp_cplx_cn.h",
585 "DSPF_sp_dotp_cplx/c674/DSPF_sp_dotp_cplx.h",
586 "DSPF_sp_cholesky/c66/DSPF_sp_cholesky_cn.h",
587 "DSPF_sp_cholesky/c66/DSPF_sp_cholesky.h",
588 "DSPF_sp_cholesky/DSPF_sp_cholesky.h",
589 "DSPF_dp_ifftDPxDP/c66/DSPF_dp_ifftDPxDP_cn.h",
590 "DSPF_dp_ifftDPxDP/c66/DSPF_dp_ifftDPxDP.h",
591 "DSPF_dp_ifftDPxDP/DSPF_dp_ifftDPxDP.h",
592 "DSPF_dp_lud_cmplx/c66/DSPF_dp_lud_cmplx.h",
593 "DSPF_dp_lud_cmplx/c66/DSPF_dp_lud_cmplx_cn.h",
594 "DSPF_dp_lud_cmplx/DSPF_dp_lud_cmplx.h",
595 "DSP_mat_mul_cplx/c66/DSP_mat_mul_cplx.h",
596 "DSP_mat_mul_cplx/c66/DSP_mat_mul_cplx_cn.h",
597 "DSP_mat_mul_cplx/DSP_mat_mul_cplx.h",
598 "DSP_mat_mul_cplx/c64P/DSP_mat_mul_cplx.h",
599 "DSP_mat_mul_cplx/c64P/DSP_mat_mul_cplx_cn.h",
600 "DSP_mul32/c66/DSP_mul32.h",
601 "DSP_mul32/c66/DSP_mul32_cn.h",
602 "DSP_mul32/DSP_mul32.h",
603 "DSP_mul32/c64P/DSP_mul32.h",
604 "DSP_mul32/c64P/DSP_mul32_cn.h",
605 "DSPF_sp_fircirc/c66/DSPF_sp_fircirc.h",
606 "DSPF_sp_fircirc/c66/DSPF_sp_fircirc_cn.h",
607 "DSPF_sp_fircirc/DSPF_sp_fircirc.h",
608 "DSPF_sp_fircirc/c674/DSPF_sp_fircirc.h",
609 "DSPF_sp_fircirc/c674/DSPF_sp_fircirc_cn.h",
610 "DSP_fir_r4/c66/DSP_fir_r4.h",
611 "DSP_fir_r4/c66/DSP_fir_r4_cn.h",
612 "DSP_fir_r4/DSP_fir_r4.h",
613 "DSP_fir_r4/c64P/DSP_fir_r4.h",
614 "DSP_fir_r4/c64P/DSP_fir_r4_cn.h",
615 "DSPF_sp_svd_cmplx/c66/DSPF_sp_svd_cmplx_cn.h",
616 "DSPF_sp_svd_cmplx/c66/DSPF_sp_svd_cmplx.h",
617 "DSPF_sp_svd_cmplx/DSPF_sp_svd_cmplx.h",
618 "DSPF_sp_cfftr4_dif/DSPF_sp_cfftr4_dif.h",
619 "DSPF_sp_cfftr4_dif/c674/DSPF_sp_cfftr4_dif.h",
620 "DSPF_sp_cfftr4_dif/c674/DSPF_sp_cfftr4_dif_cn.h",
621 "DSP_fir_r8/c66/DSP_fir_r8_cn.h",
622 "DSP_fir_r8/c66/DSP_fir_r8.h",
623 "DSP_fir_r8/DSP_fir_r8.h",
624 "DSP_fir_r8/c64P/DSP_fir_r8_cn.h",
625 "DSP_fir_r8/c64P/DSP_fir_r8.h",
626 "DSPF_sp_lud_sol_cmplx/c66/DSPF_sp_lud_sol_cmplx.h",
627 "DSPF_sp_lud_sol_cmplx/c66/DSPF_sp_lud_sol_cmplx_cn.h",
628 "DSPF_sp_lud_sol_cmplx/DSPF_sp_lud_sol_cmplx.h",
629 "DSPF_sp_mat_trans_cplx/c66/DSPF_sp_mat_trans_cplx_cn.h",
630 "DSPF_sp_mat_trans_cplx/c66/DSPF_sp_mat_trans_cplx.h",
631 "DSPF_sp_mat_trans_cplx/DSPF_sp_mat_trans_cplx.h",
632 "DSPF_dp_fftDPxDP/c66/DSPF_dp_fftDPxDP_cn.h",
633 "DSPF_dp_fftDPxDP/c66/DSPF_dp_fftDPxDP.h",
634 "DSPF_dp_fftDPxDP/DSPF_dp_fftDPxDP.h",
635 "DSP_q15tofl/c66/DSP_q15tofl_cn.h",
636 "DSP_q15tofl/c66/DSP_q15tofl.h",
637 "DSP_q15tofl/DSP_q15tofl.h",
638 "DSP_q15tofl/c64P/DSP_q15tofl_cn.h",
639 "DSP_q15tofl/c64P/DSP_q15tofl.h",
640 "DSPF_dp_mat_mul_gemm/c66/DSPF_dp_mat_mul_gemm.h",
641 "DSPF_dp_mat_mul_gemm/c66/DSPF_dp_mat_mul_gemm_cn.h",
642 "DSPF_dp_mat_mul_gemm/DSPF_dp_mat_mul_gemm.h",
643 "DSPF_fltoq15/DSPF_fltoq15.h",
644 "DSPF_fltoq15/c674/DSPF_fltoq15_cn.h",
645 "DSPF_fltoq15/c674/DSPF_fltoq15.h",
646 "DSP_vecsumsq/c66/DSP_vecsumsq_cn.h",
647 "DSP_vecsumsq/c66/DSP_vecsumsq.h",
648 "DSP_vecsumsq/DSP_vecsumsq.h",
649 "DSP_vecsumsq/c64P/DSP_vecsumsq_cn.h",
650 "DSP_vecsumsq/c64P/DSP_vecsumsq.h",
651 "DSPF_dp_mat_trans/c66/DSPF_dp_mat_trans.h",
652 "DSPF_dp_mat_trans/c66/DSPF_dp_mat_trans_cn.h",
653 "DSPF_dp_mat_trans/DSPF_dp_mat_trans.h",
654 "DSPF_sp_lud_cmplx/c66/DSPF_sp_lud_cmplx.h",
655 "DSPF_sp_lud_cmplx/c66/DSPF_sp_lud_cmplx_cn.h",
656 "DSPF_sp_lud_cmplx/DSPF_sp_lud_cmplx.h",
657 "DSPF_sp_autocor/c66/DSPF_sp_autocor.h",
658 "DSPF_sp_autocor/c66/DSPF_sp_autocor_cn.h",
659 "DSPF_sp_autocor/c674/DSPF_sp_autocor.h",
660 "DSPF_sp_autocor/c674/DSPF_sp_autocor_cn.h",
661 "DSPF_sp_autocor/DSPF_sp_autocor.h",
662 "DSPF_sp_mat_mul_gemm/c66/DSPF_sp_mat_mul_gemm_cn.h",
663 "DSPF_sp_mat_mul_gemm/c66/DSPF_sp_mat_mul_gemm.h",
664 "DSPF_sp_mat_mul_gemm/c674/DSPF_sp_mat_mul_gemm_cn.h",
665 "DSPF_sp_mat_mul_gemm/c674/DSPF_sp_mat_mul_gemm.h",
666 "DSPF_sp_mat_mul_gemm/DSPF_sp_mat_mul_gemm.h",
667 "DSPF_sp_iir/c66/DSPF_sp_iir_cn.h",
668 "DSPF_sp_iir/c66/DSPF_sp_iir.h",
669 "DSPF_sp_iir/c674/DSPF_sp_iir_cn.h",
670 "DSPF_sp_iir/c674/DSPF_sp_iir.h",
671 "DSPF_sp_iir/DSPF_sp_iir.h",
672 "DSP_fir_cplx/c66/DSP_fir_cplx.h",
673 "DSP_fir_cplx/c66/DSP_fir_cplx_cn.h",
674 "DSP_fir_cplx/DSP_fir_cplx.h",
675 "DSP_fir_cplx/c64P/DSP_fir_cplx.h",
676 "DSP_fir_cplx/c64P/DSP_fir_cplx_cn.h",
677 "DSP_blk_eswap32/c66/DSP_blk_eswap32_cn.h",
678 "DSP_blk_eswap32/c66/DSP_blk_eswap32.h",
679 "DSP_blk_eswap32/DSP_blk_eswap32.h",
680 "DSP_blk_eswap32/c64P/DSP_blk_eswap32_cn.h",
681 "DSP_blk_eswap32/c64P/DSP_blk_eswap32.h",
682 "DSPF_sp_blk_move/DSPF_sp_blk_move.h",
683 "DSPF_sp_blk_move/c674/DSPF_sp_blk_move.h",
684 "DSPF_sp_blk_move/c674/DSPF_sp_blk_move_cn.h",
685 "DSP_add16/c66/DSP_add16_cn.h",
686 "DSP_add16/c66/DSP_add16.h",
687 "DSP_add16/DSP_add16.h",
688 "DSP_add16/c64P/DSP_add16_cn.h",
689 "DSP_add16/c64P/DSP_add16.h",
690 "DSPF_sp_mat_submat_copy_cplx/c66/DSPF_sp_mat_submat_copy_cplx_cn.h",
691 "DSPF_sp_mat_submat_copy_cplx/c66/DSPF_sp_mat_submat_copy_cplx.h",
692 "DSPF_sp_mat_submat_copy_cplx/DSPF_sp_mat_submat_copy_cplx.h",
693 "DSPF_q15tofl/c674/DSPF_q15tofl_cn.h",
694 "DSPF_q15tofl/c674/DSPF_q15tofl.h",
695 "DSPF_q15tofl/DSPF_q15tofl.h",
696 "DSPF_sp_lud_sol/c66/DSPF_sp_lud_sol.h",
697 "DSPF_sp_lud_sol/c66/DSPF_sp_lud_sol_cn.h",
698 "DSPF_sp_lud_sol/DSPF_sp_lud_sol.h",
699 "DSP_fir_r8_hM16_rM8A8X8/c66/DSP_fir_r8_hM16_rM8A8X8_cn.h",
700 "DSP_fir_r8_hM16_rM8A8X8/c66/DSP_fir_r8_hM16_rM8A8X8.h",
701 "DSP_fir_r8_hM16_rM8A8X8/DSP_fir_r8_hM16_rM8A8X8.h",
702 "DSP_fir_r8_hM16_rM8A8X8/c64P/DSP_fir_r8_hM16_rM8A8X8_cn.h",
703 "DSP_fir_r8_hM16_rM8A8X8/c64P/DSP_fir_r8_hM16_rM8A8X8.h",
704 "DSP_ifft16x16/c66/DSP_ifft16x16_cn.h",
705 "DSP_ifft16x16/c66/DSP_ifft16x16.h",
706 "DSP_ifft16x16/c66/gen_twiddle_ifft16x16.h",
707 "DSP_ifft16x16/DSP_ifft16x16.h",
708 "DSP_ifft16x16/c64P/DSP_ifft16x16_cn.h",
709 "DSP_ifft16x16/c64P/DSP_ifft16x16.h",
710 "DSP_ifft16x16/c64P/DSP_ifft16x16_i.h",
711 "DSP_ifft16x16/c64P/gen_twiddle_ifft16x16.h",
712 "DSP_fft32x32/c66/DSP_fft32x32_cn.h",
713 "DSP_fft32x32/c66/gen_twiddle_fft32x32.h",
714 "DSP_fft32x32/c66/DSP_fft32x32.h",
715 "DSP_fft32x32/DSP_fft32x32.h",
716 "DSP_fft32x32/c64P/DSP_fft32x32_cn.h",
717 "DSP_fft32x32/c64P/gen_twiddle_fft32x32.h",
718 "DSP_fft32x32/c64P/DSP_fft32x32.h",
719 "DSP_fft32x32/c64P/DSP_fft32x32_i.h",
720 "DSPF_sp_maxval/c66/DSPF_sp_maxval_cn.h",
721 "DSPF_sp_maxval/c66/DSPF_sp_maxval.h",
722 "DSPF_sp_maxval/DSPF_sp_maxval.h",
723 "DSPF_sp_maxval/c674/DSPF_sp_maxval_cn.h",
724 "DSPF_sp_maxval/c674/DSPF_sp_maxval.h",
725 "DSPF_sp_qrd/c66/DSPF_sp_qrd_cn.h",
726 "DSPF_sp_qrd/c66/DSPF_sp_qrd.h",
727 "DSPF_sp_qrd/DSPF_sp_qrd.h",
728 "DSP_mat_mul/c66/DSP_mat_mul_cn.h",
729 "DSP_mat_mul/c66/DSP_mat_mul.h",
730 "DSP_mat_mul/DSP_mat_mul.h",
731 "DSP_mat_mul/c64P/DSP_mat_mul_cn.h",
732 "DSP_mat_mul/c64P/DSP_mat_mul.h",
733 "DSPF_blk_eswap16/DSPF_blk_eswap16.h",
734 "DSPF_blk_eswap16/c674/DSPF_blk_eswap16_cn.h",
735 "DSPF_blk_eswap16/c674/DSPF_blk_eswap16.h",
736 "DSPF_sp_icfftr2_dif/DSPF_sp_icfftr2_dif.h",
737 "DSPF_sp_icfftr2_dif/c674/DSPF_sp_icfftr2_dif.h",
738 "DSPF_sp_icfftr2_dif/c674/DSPF_sp_icfftr2_dif_cn.h",
739 "DSP_fir_gen/c66/DSP_fir_gen.h",
740 "DSP_fir_gen/c66/DSP_fir_gen_cn.h",
741 "DSP_fir_gen/DSP_fir_gen.h",
742 "DSP_fir_gen/c64P/DSP_fir_gen.h",
743 "DSP_fir_gen/c64P/DSP_fir_gen_cn.h",
744 "DSPF_sp_mat_mul_gemm_cplx/c66/DSPF_sp_mat_mul_gemm_cplx_cn.h",
745 "DSPF_sp_mat_mul_gemm_cplx/c66/DSPF_sp_mat_mul_gemm_cplx.h",
746 "DSPF_sp_mat_mul_gemm_cplx/DSPF_sp_mat_mul_gemm_cplx.h",
747 "DSPF_sp_mat_mul_gemm_cplx/c674/DSPF_sp_mat_mul_gemm_cplx_cn.h",
748 "DSPF_sp_mat_mul_gemm_cplx/c674/DSPF_sp_mat_mul_gemm_cplx.h",
749 "DSPF_sp_mat_trans/c66/DSPF_sp_mat_trans.h",
750 "DSPF_sp_mat_trans/c66/DSPF_sp_mat_trans_cn.h",
751 "DSPF_sp_mat_trans/DSPF_sp_mat_trans.h",
752 "DSPF_sp_mat_trans/c674/DSPF_sp_mat_trans.h",
753 "DSPF_sp_mat_trans/c674/DSPF_sp_mat_trans_cn.h",
754 "DSPF_sp_nrand/c66/DSPF_sp_nrand.h",
755 "DSPF_sp_nrand/c66/DSPF_sp_nrand_cn.h",
756 "DSPF_sp_nrand/DSPF_sp_nrand.h",
757 "DSPF_sp_lud_inv/c66/DSPF_sp_lud_inv.h",
758 "DSPF_sp_lud_inv/c66/DSPF_sp_lud_inv_cn.h",
759 "DSPF_sp_lud_inv/DSPF_sp_lud_inv.h",
760 "DSP_firlms2/c66/DSP_firlms2.h",
761 "DSP_firlms2/c66/DSP_firlms2_cn.h",
762 "DSP_firlms2/DSP_firlms2.h",
763 "DSP_firlms2/c64P/DSP_firlms2.h",
764 "DSP_firlms2/c64P/DSP_firlms2_cn.h",
765 "DSP_blk_move/c66/DSP_blk_move.h",
766 "DSP_blk_move/c66/DSP_blk_move_cn.h",
767 "DSP_blk_move/DSP_blk_move.h",
768 "DSP_blk_move/c64P/DSP_blk_move.h",
769 "DSP_blk_move/c64P/DSP_blk_move_cn.h",
770 "DSP_fft16x16r/c66/DSP_fft16x16r.h",
771 "DSP_fft16x16r/c66/gen_twiddle_fft16x16r.h",
772 "DSP_fft16x16r/c66/DSP_fft16x16r_cn.h",
773 "DSP_fft16x16r/DSP_fft16x16r.h",
774 "DSP_fft16x16r/c64P/gen_twiddle_fft16x16.h",
775 "DSP_fft16x16r/c64P/DSP_fft16x16r_i.h",
776 "DSP_fft16x16r/c64P/DSP_fft16x16r.h",
777 "DSP_fft16x16r/c64P/DSP_fft16x16r_cn.h",
778 "DSPF_sp_fftSPxSP/c66/DSPF_sp_fftSPxSP.h",
779 "DSPF_sp_fftSPxSP/c66/DSPF_sp_fftSPxSP_opt.h",
780 "DSPF_sp_fftSPxSP/c66/DSPF_sp_fftSPxSP_cn.h",
781 "DSPF_sp_fftSPxSP/DSPF_sp_fftSPxSP.h",
782 "DSPF_sp_fftSPxSP/c674/DSPF_sp_fftSPxSP.h",
783 "DSPF_sp_fftSPxSP/c674/DSPF_sp_fftSPxSP_cn.h",
784 "DSP_w_vec/c66/DSP_w_vec_cn.h",
785 "DSP_w_vec/c66/DSP_w_vec.h",
786 "DSP_w_vec/DSP_w_vec.h",
787 "DSP_w_vec/c64P/DSP_w_vec_cn.h",
788 "DSP_w_vec/c64P/DSP_w_vec.h",
789 "DSPF_sp_maxidx/c66/DSPF_sp_maxidx_cn.h",
790 "DSPF_sp_maxidx/c66/DSPF_sp_maxidx.h",
791 "DSPF_sp_maxidx/c674/DSPF_sp_maxidx_cn.h",
792 "DSPF_sp_maxidx/c674/DSPF_sp_maxidx.h",
793 "DSPF_sp_maxidx/DSPF_sp_maxidx.h",
794 "DSPF_dp_lud/c66/DSPF_dp_lud.h",
795 "DSPF_dp_lud/c66/DSPF_dp_lud_cn.h",
796 "DSPF_dp_lud/DSPF_dp_lud.h",
797 "DSP_add32/c66/DSP_add32.h",
798 "DSP_add32/c66/DSP_add32_cn.h",
799 "DSP_add32/DSP_add32.h",
800 "DSP_add32/c64P/DSP_add32.h",
801 "DSP_add32/c64P/DSP_add32_cn.h",
802 "DSPF_sp_fir_r2/c66/DSPF_sp_fir_r2.h",
803 "DSPF_sp_fir_r2/c66/DSPF_sp_fir_r2_cn.h",
804 "DSPF_sp_fir_r2/DSPF_sp_fir_r2.h",
805 "DSPF_sp_fir_r2/c674/DSPF_sp_fir_r2.h",
806 "DSPF_sp_fir_r2/c674/DSPF_sp_fir_r2_cn.h",
807 "DSPF_dp_qrd_cmplx/c66/DSPF_dp_qrd_cmplx_cn.h",
808 "DSPF_dp_qrd_cmplx/c66/DSPF_dp_qrd_cmplx.h",
809 "DSPF_dp_qrd_cmplx/DSPF_dp_qrd_cmplx.h",
810 "DSPF_dp_lud_inv_cmplx/c66/DSPF_dp_lud_inv_cmplx_cn.h",
811 "DSPF_dp_lud_inv_cmplx/c66/DSPF_dp_lud_inv_cmplx.h",
812 "DSPF_dp_lud_inv_cmplx/DSPF_dp_lud_inv_cmplx.h",
813 "DSP_minval/c66/DSP_minval_cn.h",
814 "DSP_minval/c66/DSP_minval.h",
815 "DSP_minval/c64P/DSP_minval_cn.h",
816 "DSP_minval/c64P/DSP_minval.h",
817 "DSP_minval/DSP_minval.h",
818 "DSP_fir_cplx_hM4X4/c66/DSP_fir_cplx_hM4X4.h",
819 "DSP_fir_cplx_hM4X4/c66/DSP_fir_cplx_hM4X4_cn.h",
820 "DSP_fir_cplx_hM4X4/DSP_fir_cplx_hM4X4.h",
821 "DSP_fir_cplx_hM4X4/c64P/DSP_fir_cplx_hM4X4.h",
822 "DSP_fir_cplx_hM4X4/c64P/DSP_fir_cplx_hM4X4_cn.h",
823 ]
824 };
826 Package.archiveFiles["bundle"] = {
827 base_directory: ".",
828 delivery_type: "bundle",
829 files: ["docs/DSPLIB_Software_Manifest.html",
830 "docs/DSPLIB_Users_Manual.html",
831 "docs/doxygen/html",
832 "docs/manifest/html",
833 "examples",
834 ".metadata",
835 "README.txt"]
836 };
838 Package.archiveFiles["bundle-c64x"] = {
839 base_directory: "./docs",
840 delivery_type: "bundle",
841 files: ["DSPLIB_C64Px_TestReport.html"],
842 target:["c64Ple","c64Pbe","ce64Ple","ce64Pbe"]
843 };
844 Package.archiveFiles["bundle-c66x"] = {
845 base_directory: "./docs",
846 delivery_type: "bundle",
847 files: ["DSPLIB_C66x_TestReport.html"],
848 target:["c66le","c66be","ce66le","ce66be"]
849 };
850 Package.archiveFiles["bundle-c674x"] = {
851 base_directory: "./docs",
852 delivery_type: "bundle",
853 files: ["DSPLIB_C674x_TestReport.html"],
854 target:["c674le","ce674le"]
855 };
858 /**********************************************************************************************
859 The main package.bld routine starts here
860 ***********************************************************************************************/
862 /* Set up the targets array. Current implementation support c674x, c66x and c64x*/
863 Package.targets = [C64P, C64P_big_endian, C64P_elf, C64P_big_endian_elf, C66, C66_big_endian, C66_elf, C66_big_endian_elf, C674, C674_elf, VC98];
865 /* Set up version number for the package */
866 Package.pkgStdVer = "2.0";
867 Package.version = [3, 4, 0, 1, 3, 0];
869 Package.createVersion();
871 /* Parse XDC Arguments */
872 Package.parseArgs(arguments);
874 /* Default delivery type is "source" for this release */
875 Package.delivery_type = "src";
878 /* Call Local function to set up parameters for ccs projects */
879 if(!String(Package.targs[0]).match("VC98"))
880 {
881 addArtifacts();
882 }
883 else
884 {
885 createExe();
886 }
888 /* generate Doxyfile based on the version array above */
889 var tplt = xdc.loadTemplate("./docs/doxygen/doxyfile.xdt");
890 tplt.genFile("./docs/doxygen/Doxyfile",null, [Package.version,doxygenstring]);
892 /* Generate Software Manifest XML file */
893 var tplt = xdc.loadTemplate("./docs/manifest/manifest.xml.xdt");
894 tplt.genFile("./docs/manifest/manifest.xml",Package);
896 /* Generate DSPLIB bundle users manual Doxyfile */
897 tplt = xdc.loadTemplate("./docs/bundle/doxygen/doxyfile.xdt");
898 tplt.genFile("./docs/bundle/doxygen/Doxyfile",Package);
900 /* Generate DSPLIB bundle manifest Doxyfile */
901 tplt = xdc.loadTemplate("./docs/bundle/manifest/doxyfile.xdt");
902 tplt.genFile("./docs/bundle/manifest/Doxyfile",Package);
904 /* Generate TI REX meta data */
905 print( "Generating TI REX");
906 var tirex_tplt = xdc.loadTemplate("./package.ccs.json.xdt");
907 tirex_tplt.genFile("./.metadata/.tirex/package.ccs.json",null,[TIREX_TARGET]);
909 tirex_tplt = xdc.loadTemplate("./package.tirex.json.xdt");
910 tirex_tplt.genFile("./.metadata/.tirex/package.tirex.json",null,[Package.version,TIREX_TARGET]);
912 /* Include custom makefile to generate doxygen documents */
913 Package.includeMake("Makedocs.mk");
914 Package.bundleMakeDoc = "MakedocsBundle.mk";
916 if(!String(Package.targs[0]).match("VC98"))
917 {
918 Package.createProjects();
919 }
921 createknlhdr();
924 /* Create Archive */
925 Package.createArchive();
927 /* Clean Package */
928 Package.packageClean();
930 /**********************************************************************************************
931 The main package.bld routine ends here
932 ***********************************************************************************************/
935 /** Local function to add projects **/
936 function addArtifacts() {
938 if (IncludeList == "") {
939 var file = new java.io.File("src");
940 IncludeList = file.list();
941 }
943 var libc_c674 = new Array();
944 var libc_c64p = new Array();
945 var libc_c66 = new Array();
946 var libcn_c674 = new Array();
947 var libcn_c64p = new Array();
948 var libcn_c66 = new Array();
951 for each (var dir in IncludeList) {
953 if( dir == "common")
954 continue;
955 var special = false;
956 var exclude64p = false;
957 var exclude66 = false;
958 var exclude674 = false;
959 var exclude64ple = false;
960 var exclude66le = false;
961 var exclude64pbe = false;
962 var exclude66be = false;
963 var exclude674le = false;
965 /* Check if dir is in exclude list */
966 for each (var excludedir in ExcludeList) {
967 if (excludedir.name == dir){
968 if(excludedir.srcDir.toString().match("c64Ple")) {
969 exclude64ple = true;
970 }
971 else if(excludedir.srcDir.toString().match("c64Pbe")) {
972 exclude64pbe = true;
973 }
974 else if(excludedir.srcDir.toString().match("c64P")) {
975 exclude64p = true;
976 }
978 if(excludedir.srcDir.toString().match("c674le")) {
979 exclude674le = true;
980 }
981 else if(excludedir.srcDir.toString().match("c674")) {
982 exclude674 = true;
983 }
985 if(excludedir.srcDir.toString().match("c66le")) {
986 exclude66le = true;
987 }
988 else if(excludedir.srcDir.toString().match("c66be")) {
989 exclude66be = true;
990 }
991 else if(excludedir.srcDir.toString().match("c66")) {
992 exclude66 = true;
993 }
994 }
995 }
997 /* Check if dir is in special list */
998 for each (var specialdir in SpecialList) {
999 if (specialdir.name == dir && specialdir.srcDir == srcDir) {
1000 special = true;
1001 break;
1002 }
1003 }
1004 if (special == true) { cflags = specialdir.cflags; }
1007 /*****************************************************************************
1008 Local Variables
1009 *****************************************************************************/
1010 var projectname = dir;
1011 var projectroot = "src/" + projectname + "/";
1012 var commonroot = "src/common/";
1013 var prjtargroot;
1014 var prjtarget;
1015 var linkfile;
1018 /*****************************************************************************
1019 Kernel C66x project
1020 *****************************************************************************/
1021 if(exclude66 == false)
1022 {
1023 if(exclude66le == true)
1024 prjtarget="66be";
1025 else if(exclude66be == true)
1026 prjtarget="66le";
1027 else
1028 prjtarget = "66"
1029 prjtargroot = projectroot + "/c66/";
1030 cmntargroot = commonroot + "/c66/";
1032 linkfile = new Array();
1033 if (xdc.findFile(prjtargroot+"lnk.cmd"))
1034 {
1035 linkfile.push(prjtargroot+"lnk.cmd");
1036 }
1037 else
1038 {
1039 linkfile.push(cmntargroot + "lnk.cmd");
1040 }
1042 findProjectFiles (projectroot,linkfile,dir,"66");
1043 findProjectFiles (prjtargroot,linkfile,dir,"66");
1045 /* Add library files */
1046 findLibFiles(prjtargroot, libc_c66, libcn_c66, dir);
1048 Package.ccsProjects.push({ pjtName: projectname,
1049 location: prjtargroot,
1050 buildArtifact: "executable",
1051 srcFiles: linkfile,
1052 cFlags: " --mem_model:data=far",
1053 targets: [prjtarget]
1054 });
1055 }
1057 /*****************************************************************************
1058 Kernel C674x project
1059 *****************************************************************************/
1060 if(exclude674 == false)
1061 {
1062 prjtarget = "674"
1063 prjtargroot = projectroot + "/c674/";
1064 cmntargroot = commonroot + "/c674/";
1065 linkfile = new Array();
1066 if (xdc.findFile(prjtargroot+"lnk.cmd"))
1067 {
1068 linkfile.push(prjtargroot+"lnk.cmd");
1069 }
1070 else
1071 {
1072 linkfile.push(cmntargroot + "lnk.cmd");
1073 }
1074 findProjectFiles (projectroot,linkfile,dir,"674");
1075 findProjectFiles (prjtargroot,linkfile,dir,"674");
1077 /* Add library files */
1078 findLibFiles(prjtargroot, libc_c674, libcn_c674, dir);
1080 Package.ccsProjects.push({ pjtName: projectname,
1081 location: prjtargroot,
1082 buildArtifact: "executable",
1083 srcFiles: linkfile,
1084 cFlags: " --mem_model:data=far",
1085 targets: [prjtarget]
1086 });
1088 }
1091 /*****************************************************************************
1092 Kernel C64x+ project
1093 *****************************************************************************/
1094 if(exclude64p == false)
1095 {
1096 if(exclude64ple == true)
1097 prjtarget="64Pbe";
1098 else if(exclude64pbe == true)
1099 prjtarget="64Ple";
1100 else
1101 prjtarget = "64P"
1103 prjtargroot = projectroot + "/c64P/";
1104 cmntargroot = commonroot + "/c64P/";
1105 linkfile = new Array();
1106 if (xdc.findFile(prjtargroot+"lnk.cmd"))
1107 {
1108 linkfile.push(prjtargroot+"lnk.cmd");
1109 }
1110 else
1111 {
1112 linkfile.push(cmntargroot + "lnk.cmd");
1113 }
1114 findProjectFiles (projectroot,linkfile,dir,"64P");
1115 findProjectFiles (prjtargroot,linkfile,dir,"64P");
1117 /* Add library files */
1118 findLibFiles(prjtargroot, libc_c64p, libcn_c64p, dir);
1119 Package.ccsProjects.push({ pjtName: projectname,
1120 location: prjtargroot,
1121 buildArtifact: "executable",
1122 srcFiles: linkfile,
1123 cFlags: " --mem_model:data=far",
1124 targets: [prjtarget]
1125 });
1126 }
1127 }
1128 /* create rules for creating library for optimized and the natural C code */
1129 Package.files=new Array();
1131 /* C66x DSPLIB Intrinsic Library */
1132 Package.files["kernelc66"] =
1133 {
1134 files: libc_c66,
1135 def_flags: " --mem_model:data=far",
1136 target: ["ce66le","c66le","ce66be","c66be"]
1137 };
1139 /* C674x DSPLIB Intrinsic Library */
1140 Package.files["kernelc674"] =
1141 {
1142 files: libc_c674,
1143 def_flags: " --mem_model:data=far",
1144 target: ["c674le","ce674le"]
1145 };
1147 /* C64x+ DSPLIB Intrinsic Library */
1148 Package.files["kernelc64p"] =
1149 {
1150 files: libc_c64p,
1151 def_flags: " --mem_model:data=far",
1152 target: ["ce64Ple","c64Ple", "ce64Pbe","c64Pbe"]
1153 };
1155 /* Create DSPLIB library */
1156 Package.createLib("dsplib");
1158 /* C66x DSPLIB Natural C Library */
1159 Package.files["kernelc66"] =
1160 {
1161 files: libcn_c66,
1162 def_flags: " --mem_model:data=far",
1163 target: ["ce66le","c66le","ce66be","c66be"]
1164 };
1166 /* C674x DSPLIB Natural C Library */
1167 Package.files["kernelc674"] =
1168 {
1169 files: libcn_c674,
1170 def_flags: " --mem_model:data=far",
1171 target: ["ce674le","c674le"]
1172 };
1174 /* C64x+ DSPLIB Natural C Library */
1175 Package.files["kernelc64p"] =
1176 {
1177 files: libcn_c64p,
1178 def_flags: " --mem_model:data=far",
1179 target: ["ce64Ple","c64Ple", "ce64Pbe","c64Pbe"]
1180 };
1182 /* Rule to create Natural C library */
1183 Package.createLib("dsplib_cn");
1186 }
1188 /** Local function to add files for projects **/
1189 function findProjectFiles(path,lnkfile,knl,target) {
1190 var Files = new java.io.File(path);
1191 for each (var srcFile in Files.list()) {
1192 srcFile = String(srcFile);
1193 var srcPath = path + srcFile;
1194 var dot = srcFile.lastIndexOf(".");
1195 var extension = srcFile.substr(dot,srcFile.length);
1196 if (extension == ".c") {
1197 if(srcFile.substr(0,dot) == knl)
1198 {
1199 continue;
1200 }
1201 var underscore=srcFile.lastIndexOf("_");
1202 var fileType=srcFile.substr(underscore,dot-underscore);
1203 if (fileType=="_cn" || fileType=="_i")
1204 {
1205 continue;
1206 }
1208 if (xdc.findFile(srcPath)) {
1209 lnkfile.push(srcPath);
1210 }
1211 }
1212 /* Create Doxygen string */
1213 if(extension == ".h")
1214 {
1215 if (extension == ".h" && srcFile.toString().match(knl+".h") && String(Package.targs[0]).match(target))
1216 {
1217 doxygenstring += " " + srcPath;
1218 }
1219 if (xdc.findFile(srcPath))
1220 {
1221 lnkfile.push(srcPath);
1222 }
1223 }
1224 }
1225 }
1227 /** Local function to add files for libraries **/
1228 function findLibFiles(path,libc, libcn, knl) {
1229 var Files = new java.io.File(path);
1230 for each (var srcFile in Files.list()) {
1231 srcFile = String(srcFile);
1232 var srcPath = path + srcFile;
1233 var dot = srcFile.lastIndexOf(".");
1234 var extension = srcFile.substr(dot,srcFile.length-dot);
1235 /* Add source C file to project */
1236 if (extension == ".s")
1237 {
1238 libc.push(srcPath);
1239 continue;
1240 }
1241 if (extension == ".sa")
1242 {
1243 libc.push(srcPath);
1244 continue;
1245 }
1246 if (srcFile == (knl + ".c") )
1247 {
1248 libc.push(srcPath);
1249 continue;
1250 }
1251 var underscore=srcFile.lastIndexOf("_");
1252 var fileType=srcFile.substr(underscore,dot-underscore);
1253 if (extension== ".c" && fileType=="_i")
1254 {
1255 libc.push(srcPath);
1256 continue;
1257 }
1258 if (extension== ".c" && fileType=="_cn")
1259 {
1260 libcn.push(srcPath);
1261 continue;
1262 }
1263 }
1264 }
1266 function createExe()
1267 {
1268 if (IncludeList == "") {
1269 var file = new java.io.File("src");
1270 IncludeList = file.list();
1271 }
1273 for each (var dir in IncludeList) {
1274 var special = false;
1275 var exclude66 = false;
1278 /* Check if dir is in exclude list */
1279 for each (var excludedir in ExcludeList) {
1280 if (excludedir.name == dir){
1282 if(excludedir.srcDir.toString().match("c66le")) {
1283 exclude66 = true;
1284 }
1285 else if(excludedir.srcDir.toString().match("c66")) {
1286 exclude66 = true;
1287 }
1288 }
1289 }
1291 /* Check if dir is in special list */
1292 for each (var specialdir in SpecialList) {
1293 if (specialdir.name == dir && specialdir.srcDir == srcDir) {
1294 special = true;
1295 break;
1296 }
1297 }
1298 if (special == true) { cflags = specialdir.cflags; }
1300 /*****************************************************************************
1301 Local Variables
1302 *****************************************************************************/
1303 var projectname = dir;
1304 var projectroot = "./src/" + projectname + "/";
1305 var prjtargroot;
1306 var prjtarget;
1307 var linkfile;
1309 if(exclude66 == false)
1310 {
1312 prjtargetsrc = projectroot+"/c66/"
1313 prjtargroot = projectroot + "/vc98/";
1314 linkfile = new Array();
1315 findVC98Files (projectroot,linkfile);
1316 findVC98Files (prjtargetsrc,linkfile);
1318 Package.files["CSRC"]=
1319 {
1320 base_directory: ".",
1322 files: linkfile.concat([
1323 "mex/c6xsim/C6xSimulator.c",
1324 "mex/c6xsim/C66_ag_intrins.c",
1325 "mex/c6xsim/C66_data_sim.c"]),
1327 def_flags: " -DTMS320C66X -D_TMS320C6600 -DLITTLE_ENDIAN_HOST -D_LITTLE_ENDIAN -Imex/c6xsim",
1329 }
1332 Package.exeTarget[0] =
1333 {
1335 base_directory: prjtargroot,
1337 target: "vc98",
1339 name: projectname,
1341 };
1343 Package.createExe();
1345 }
1347 }
1349 }
1351 function findVC98Files(path,lnkfile) {
1352 var Files = new java.io.File(path);
1353 for each (var srcFile in Files.list()) {
1354 srcFile = String(srcFile);
1355 var srcPath = path + srcFile;
1356 var dot = srcFile.lastIndexOf(".");
1357 var extension = srcFile.substr(dot,srcFile.length);
1358 if (extension == ".c") {
1359 if (xdc.findFile(srcPath)) {
1360 lnkfile.push(srcPath);
1361 }
1362 }
1363 }
1364 return lnkfile;
1365 }
1367 function createknlhdr()
1368 {
1369 /* Create Kernel API header file */
1370 var api = Package.bundlename+".h";
1371 var fileModule = xdc.module('xdc.services.io.File');
1372 try{
1373 var apiHeader = fileModule.open(api, "w");
1374 } catch (ex)
1375 {
1376 print( api + " cannot be written to. Please check Writing Permissions.");
1377 java.lang.System.exit(1);
1378 }
1379 Package.generatedFiles.push(api);
1380 Package.archiveFiles["CommonArchiveFiles"].files.push(api);
1381 /* Header Information */
1382 apiHeader.writeLine("/* ======================================================================= */");
1383 apiHeader.writeLine("/* "+ api +" -- Interface header file */");
1384 apiHeader.writeLine("/* */");
1385 apiHeader.writeLine("/* Rev 0.0.1 */");
1386 apiHeader.writeLine("/* */");
1387 apiHeader.writeLine("/* Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/ */");
1388 apiHeader.writeLine("/* */");
1389 apiHeader.writeLine("/* */");
1390 apiHeader.writeLine("/* Redistribution and use in source and binary forms, with or without */");
1391 apiHeader.writeLine("/* modification, are permitted provided that the following conditions */");
1392 apiHeader.writeLine("/* are met: */");
1393 apiHeader.writeLine("/* */");
1394 apiHeader.writeLine("/* Redistributions of source code must retain the above copyright */");
1395 apiHeader.writeLine("/* notice, this list of conditions and the following disclaimer. */");
1396 apiHeader.writeLine("/* */");
1397 apiHeader.writeLine("/* Redistributions in binary form must reproduce the above copyright */");
1398 apiHeader.writeLine("/* notice, this list of conditions and the following disclaimer in the */");
1399 apiHeader.writeLine("/* documentation and/or other materials provided with the */");
1400 apiHeader.writeLine("/* distribution. */");
1401 apiHeader.writeLine("/* */");
1402 apiHeader.writeLine("/* Neither the name of Texas Instruments Incorporated nor the names of */");
1403 apiHeader.writeLine("/* its contributors may be used to endorse or promote products derived */");
1404 apiHeader.writeLine("/* from this software without specific prior written permission. */");
1405 apiHeader.writeLine("/* */");
1406 apiHeader.writeLine("/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */");
1407 apiHeader.writeLine("/* \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */");
1408 apiHeader.writeLine("/* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR */");
1409 apiHeader.writeLine("/* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT */");
1410 apiHeader.writeLine("/* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, */");
1411 apiHeader.writeLine("/* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */");
1412 apiHeader.writeLine("/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, */");
1413 apiHeader.writeLine("/* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY */");
1414 apiHeader.writeLine("/* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT */");
1415 apiHeader.writeLine("/* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE */");
1416 apiHeader.writeLine("/* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */");
1417 apiHeader.writeLine("/* */");
1418 apiHeader.writeLine("/* ======================================================================= */");
1420 var projectDir = new java.io.File("./package/projects");
1421 var projectXml = projectDir.list();
1423 for each(var xml in projectXml)
1424 {
1425 xml=String(xml);
1426 var dot = xml.lastIndexOf(".");
1427 var extension = xml.substr(dot,xml.length);
1428 if(extension == ".xml")
1429 {
1430 var project=xdc.loadXML("./package/projects/"+xml);
1431 var headerfile = project["params"].name+".h";
1432 if(xdc.findFile("src/"+project["params"].name+"/"+headerfile))
1433 {
1434 apiHeader.writeLine("#include <"+Pkg.name.replace(/\./g,"/")+"/src/"+project["params"].name+"/"+headerfile+">");
1435 }
1436 }
1437 }
1438 }
1440 /* nothing past this point */