[apps/tidep0069.git] / evmAM572x / build / ccs / .config / xconfig_audiosample / package / cfg / audiosample_pe66.cfg
1 /*
2 * ======== package/cfg/audiosample_pe66.cfg ========
3 * This generated configuration script runs the user's configuration script
4 * the context of a specific target and platform in order to generate
5 * all the files necessary to create an executable; e.g., linker command
6 * files, static C/C++ data structures, etc.
7 */
9 /*
10 * ======== _applyChanges ========
11 * Changes that bring the build target to the state at the end of the build
12 * model
13 */
14 function _applyChanges(obj, chgObj) {
15 var wasSealed = false;
16 if (obj.$sealed) {
17 wasSealed = true;
18 obj.$unseal();
19 }
20 for (var prop in chgObj) {
21 if (typeof obj[prop] == 'object' && obj[prop] != undefined) {
22 if ("$category" in obj[prop] && obj[prop].$category == "Vector") {
23 obj[prop].length = chgObj[prop].length;
24 for (var i = 0; i < chgObj[prop].length; i++) {
25 if (obj[prop].length < i + 1) {
26 obj[prop].length++;
27 }
28 obj[prop][i] = chgObj[prop][i];
29 }
30 }
31 else {
32 _applyChanges(obj[prop], chgObj[prop]);
33 }
34 }
35 else {
36 obj[prop] = chgObj[prop];
37 }
38 }
39 if (wasSealed) {
40 obj.$seal();
41 }
42 }
44 /*
45 * ======== _runescape ========
46 * Recursive unescape to decode serialized strings
47 */
48 function _runescape(obj) {
49 for (var i in obj) {
50 if (obj[i] != null) {
51 if (typeof obj[i] == 'string') {
52 obj[i] = unescape(obj[i]);
53 }
54 else if (typeof obj[i] == 'object') {
55 _runescape(obj[i]);
56 }
57 }
58 }
59 }
61 /*
62 * ======== _getPlatCfg ========
63 */
64 function _getPlatCfg() {
65 var tmp = {};
66 _runescape(tmp);
67 return (tmp);
68 }
69 /*
70 * ======== _cfginit ========
71 */
72 function _cfginit() {
73 xdc.loadPackage('xdc.services.intern.cmd');
74 var prog = xdc.om['xdc.cfg.Program'];
76 /* initialize prog attrs from build model */
77 var build = {
78 profile: "release",
79 cfgScript: "C%3A/ti/ProcSDK_K2G34/pdk_k2g_1_0_1/packages/ti/drv/mcasp/example/evmK2G/AIC31_Stereo_Loopback/c66/bios/audiosample.cfg",
80 cfgHome: "xconfig_audiosample",
81 cfgArgs: "null",
82 cfgArgsEncoded: true,
83 releases: {
84 0: {
85 name: "xconfig_audiosample",
86 attrs: {
87 prefix: "",
88 label: "default"
89 },
90 otherFiles: {},
91 excludeDirs: {}
92 }
93 },
94 prelink: false
95 };
96 _runescape(build);
97 build.cfgArgs = null;
98 build.target = xdc.module("ti.targets.elf.C66");
99 var targChange = {
100 platforms: [
101 "ti.platforms.simTCI6616"
102 ],
103 version: "ti.targets.elf.C66%7B1%2C0%2C8.1%2C0",
104 extensions: {
105 ".se66": {
106 suf: ".se66",
107 typ: "asm"
108 },
109 ".s66": {
110 suf: ".s66",
111 typ: "asm"
112 },
113 ".s674": {
114 suf: ".s674",
115 typ: "asm"
116 },
117 ".s64P": {
118 suf: ".s64P",
119 typ: "asm"
120 },
121 ".s64": {
122 suf: ".s64",
123 typ: "asm"
124 },
125 ".s62": {
126 suf: ".s62",
127 typ: "asm"
128 }
129 },
130 rootDir: "C%3A/ti/ccsv6/tools/compiler/ti-cgt-c6000_8.1.0",
131 rawVersion: "8.1.0"
132 };
133 _runescape(targChange);
134 _applyChanges(build.target, targChange);
136 prog.build = build;
138 prog.name = "audiosample.xe66";
139 prog.cfgBase = "package/cfg/audiosample_pe66";
141 prog.endian = prog.build.target.model.endian;
143 /* use the platform package's Platform module */
144 var Platform = xdc.useModule("ti.platforms.evmTCI66AK2G02.Platform");
145 var platParams = _getPlatCfg();
146 var invalidParams = [];
147 for (var prop in platParams) {
148 if (!(prop in Platform.PARAMS)) {
149 delete platParams[prop];
150 invalidParams.push(prop);
151 }
152 }
153 prog.platformName = "ti.platforms.evmTCI66AK2G02";
154 prog.platform = Platform.create("", platParams);
155 for (var i = 0; i < invalidParams.length; i++) {
156 Platform.$logWarning("The parameter '" + invalidParams[i] + "' is " +
157 "passed to this platform instance through Build.platformTable, " +
158 "but the instance does not have a configuration parameter with " +
159 "that name.", prog.platform, "");
160 }
162 /* record the executable's package name */
163 prog.buildPackage = "xconfig_audiosample";
165 /* record build-model information required during config generation */
166 prog.$$bind("$$isasm", 0);
167 prog.$$bind("$$isrom", 0);
168 prog.$$bind("$$gentab", [
169 ]);
171 /* bind prog to an appropriate execution context */
172 prog.cpu = prog.platform.getExeContext(prog);
174 /* import the target's run-time support pkg */
175 xdc.loadPackage("ti.targets.rts6000");
176 }
178 /* function to import the cfg script's package */
179 function _userscript(script) {
180 var home;
181 var spath;
182 home = xdc.loadPackage("xconfig_audiosample");
184 xdc.om.$$bind('$homepkg', home);
186 var cfgScript = "C:/ti/ProcSDK_K2G34/pdk_k2g_1_0_1/packages/ti/drv/mcasp/example/evmK2G/AIC31_Stereo_Loopback/c66/bios/audiosample.cfg";
187 if (!script) {
188 utils.loadCapsule(cfgScript, false, spath);
189 }
190 else {
191 /* set up the same environment that loadCapsule would */
192 var $saveCsd = utils.csd;
193 var $cfgFile = utils.findFile(cfgScript, spath);
194 var cname = cfgScript;
195 if ($cfgFile) {
196 $cfgFile = java.io.File($cfgFile);
197 utils.csd = $cfgFile.getParentFile().getCanonicalPath();
198 cname = "" + $cfgFile.getCanonicalPath();
199 }
201 /* create the capsule object */
202 var cap = {
203 prototype: utils.global,
204 $path: cname,
205 $private: {path: cname},
206 $capsule: undefined, /* set to cap below */
207 };
209 /* 'this.$capsule' is always cap object */
210 cap.$capsule = cap;
212 /* save the capsule object */
213 utils.$$capmap[cname] = cap;
215 try {
216 var cx =
217 Packages.org.mozilla.javascript.Context.getCurrentContext();
218 var rdr = new
219 java.io.BufferedReader(new java.io.StringReader(script));
220 Packages.config.Shell.evaluateLoad(cx, cap, rdr, cname, 1);
221 }
222 finally {
223 rdr.close();
224 utils.csd = $saveCsd;
225 }
226 }
227 }
229 function _postinit() {
230 var cout = null;
232 var Program = xdc.om['xdc.cfg.Program'];
233 /* get the exec command for this executable */
234 if (Program.execCmd == null) {
235 Program.execCmd = Program.platform.getExecCmd(Program,
236 xdc.om["ti.platforms.evmTCI66AK2G02"].packageBase);
237 }
238 cout = "define EXEC." + Program.name + '\n\n';
239 cout += Program.execCmd;
240 cout += "\nendef\n\n";
242 /* if SourceDir generates a makefile, we need to run it */
243 _genSourceDirMak("package/cfg/audiosample_pe66", "audiosample.pe66");
245 utils.genDep("package/cfg/audiosample_pe66", "xconfig_audiosample", utils.loadedFiles, cout, null);
246 }
248 function _genSourceDirMak(cfgBase, cfgName)
249 {
250 var SourceDir = xdc.om['xdc.cfg.SourceDir'];
252 if (SourceDir && SourceDir.$instances.length > 0) {
253 /* construct rule to run SourceDir generated makefile */
254 var make = "\t$(MAKE) -f "
255 + SourceDir.outputDir + "/" + SourceDir.makefileName;
257 /* this file is included by package.mak (if it exists) */
258 var file = new java.io.File(cfgBase + ".cfg.mak");
259 file["delete"]();
260 var out = new java.io.BufferedWriter(new java.io.FileWriter(file));
262 /* add rules to run SourceDir generated makefile */
263 out.write("# invoke SourceDir generated makefile for " + cfgName
264 + "\n" + cfgName + ": .libraries," + cfgName
265 + "\n.libraries," + cfgName + ": " + cfgBase + ".xdl\n"
266 + make + "\n\n"
267 + "clean::\n" + make + " clean\n\n"
268 );
269 out.close();
270 out = null;
271 }
272 }