]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - processor-sdk/pdk.git/blob - packages/ti/osal/config.bld
Removed stale IPC examples
[processor-sdk/pdk.git] / packages / ti / osal / config.bld
1 /******************************************************************************\r
2  * FILE PURPOSE: Build configuration Script for the osal Driver\r
3  ******************************************************************************\r
4  * FILE NAME: config.bld\r
5  *\r
6  * DESCRIPTION: \r
7  *  This file contains the build configuration script for the osal driver\r
8  *  and is responsible for configuration of the paths for the various \r
9  *  tools required to build the driver.\r
10  *\r
11  * Copyright (C) 2014-2019, Texas Instruments, Inc.\r
12  *****************************************************************************/\r
13 \r
14 /* Get the Tools Base directory from the Environment Variable. */\r
15 var c66ToolsBaseDir = java.lang.System.getenv("C6X_GEN_INSTALL_PATH");\r
16 var c674ToolsBaseDir = java.lang.System.getenv("C6X_GEN_INSTALL_PATH");\r
17 var m4ToolsBaseDir = java.lang.System.getenv("TOOLCHAIN_PATH_M4");\r
18 var a15ToolsBaseDir = java.lang.System.getenv("TOOLCHAIN_PATH_A15");\r
19 var a9ToolsBaseDir = java.lang.System.getenv("TOOLCHAIN_PATH_A9");\r
20 var arm9ToolsBaseDir = java.lang.System.getenv("TOOLCHAIN_PATH_ARM9");\r
21 var a8ToolsBaseDir = java.lang.System.getenv("TOOLCHAIN_PATH_A8");\r
22 \r
23 /* Get the extended debug flags for C66x, \r
24  * did not change the name for backwards compatibilty */\r
25 var extDbgFlags = java.lang.System.getenv("EXTDBGFLAGS");\r
26 \r
27 /* Get the extended debug flags for A15 */\r
28 var extDbgFlags_a15 = java.lang.System.getenv("EXTDBGFLAGS_A15");\r
29 \r
30 /* Get the extended debug flags for A8 */\r
31 var extDbgFlags_a8 = java.lang.System.getenv("EXTDBGFLAGS_A8");\r
32 \r
33 /* Get the extended debug flags for A9 */\r
34 var extDbgFlags_a9 = java.lang.System.getenv("EXTDBGFLAGS_A9");\r
35 \r
36 /* Get the extended debug flags for M4 */\r
37 var extDbgFlags_m4 = java.lang.System.getenv("EXTDBGFLAGS_M4");\r
38 \r
39 /* Get the base directory for the osal Socket Driver Package */\r
40 var osalDriverPath = new java.io.File(".//").getPath();\r
41 \r
42 /* Include Path */\r
43 var osalIncludePath = " -I" + osalDriverPath + "/src" + " -I" + osalDriverPath  + " -I" + osalDriverPath + "/test";\r
44 \r
45 /* Configure the osal Socket Release Version Information */\r
46 /* 3 steps: remove SPACE and TAB, convert to string and split to make array */\r
47 var osalDriverReleaseVersion = (""+Pkg.version.replace(/\s/g, "")).split(',');\r
48 \r
49 /* Print the Compiler Options */\r
50 var pOpts = 1;\r
51 \r
52 /* C66 ELF compiler configuration for Little Endian Mode. */\r
53 var C66LE           = xdc.useModule('ti.targets.elf.C66');\r
54 C66LE.rootDir       = c66ToolsBaseDir;\r
55 C66LE.ccOpts.prefix = "-mo -o3 -q -k -eo.o";\r
56 if(extDbgFlags)     \r
57     C66LE.ccOpts.prefix = C66LE.ccOpts.prefix + " " + extDbgFlags; \r
58 \r
59 /* C674 ELF compiler configuration for Little Endian Mode. */\r
60 var C674LE          = xdc.useModule('ti.targets.elf.C674');\r
61 C674LE.rootDir       = c674ToolsBaseDir;\r
62 C674LE.ccOpts.prefix = "-mo -o3 -q -k -eo.o";\r
63 if(extDbgFlags)\r
64     C674LE.ccOpts.prefix = C674LE.ccOpts.prefix + " " + extDbgFlags;\r
65 \r
66 /* C66 ELF compiler configuration for Big Endian Mode. */\r
67 var C66BE         = xdc.useModule('ti.targets.elf.C66_big_endian');\r
68 C66BE.rootDir       = c66ToolsBaseDir;\r
69 C66BE.ccOpts.prefix = "-mo -o3 -q -k -eo.o -DBIGENDIAN";\r
70 if(extDbgFlags)     \r
71     C66BE.ccOpts.prefix = C66BE.ccOpts.prefix + " " + extDbgFlags;\r
72 \r
73 /* ARMv7 A15 compiler configuration */\r
74 var A15LE            = xdc.useModule('gnu.targets.arm.A15F');\r
75 A15LE.rootDir        = a15ToolsBaseDir;\r
76 A15LE.ccOpts.prefix  = "-mno-unaligned-access -c -mtune=cortex-a15 -marm -DDRA7xx -Dxdc_target_types__=gnu/targets/arm/std.h -Dxdc_target_name__=A15F -gstrict-dwarf -Wall -D__ARMv7 -D_LITTLE_ENDIAN=1";\r
77 if(extDbgFlags_a15)     \r
78     A15LE.ccOpts.prefix = A15LE.ccOpts.prefix + " " + extDbgFlags_a15; \r
79 \r
80 /* ARMv7 A9 compiler configuration */\r
81 var A9LE            = xdc.useModule('gnu.targets.arm.A9F');\r
82 A9LE.rootDir        = a9ToolsBaseDir;\r
83 A9LE.ccOpts.prefix  = "-mno-unaligned-access -c -mtune=cortex-a9 -marm -DDRA7xx -Dxdc_target_types__=gnu/targets/arm/std.h -Dxdc_target_name__=A9F -gstrict-dwarf -Wall -D__ARMv7 -D_LITTLE_ENDIAN=1";\r
84 if(extDbgFlags_a9)     \r
85     A9LE.ccOpts.prefix = A9LE.ccOpts.prefix + " " + extDbgFlags_a9; \r
86 \r
87 /* ARMv7 A8 compiler configuration */\r
88 var A8LE            = xdc.useModule('gnu.targets.arm.A8F');\r
89 A8LE.rootDir        = a8ToolsBaseDir;\r
90 A8LE.ccOpts.prefix  = "-mno-unaligned-access -c -mtune=cortex-a8 -marm -DDRA7xx -Dxdc_target_types__=gnu/targets/arm/std.h -Dxdc_target_name__=A8F -gstrict-dwarf -Wall -D__ARMv7 -D_LITTLE_ENDIAN=1";\r
91 if(extDbgFlags_a8)     \r
92     A8LE.ccOpts.prefix = A8LE.ccOpts.prefix + " " + extDbgFlags_a8; \r
93 \r
94 /* M4 ELF compiler configuration for Little Endian Mode. */\r
95 var M4LE            = xdc.useModule('ti.targets.arm.elf.M4');\r
96 M4LE.rootDir        = m4ToolsBaseDir;\r
97 M4LE.ccOpts.prefix  = "-o4 -qq -pdsw255 -DMAKEFILE_BUILD";\r
98 if(extDbgFlags_m4)\r
99     M4LE.ccOpts.prefix = M4LE.ccOpts.prefix + " " + extDbgFlags_m4; \r
100 \r
101 /* Create the Operating System Support List  */\r
102 var osTypes = { \r
103     /* TI RTOS */\r
104     tirtos :\r
105     {\r
106         /* Library options */\r
107         copts: "-DTIRTOS",\r
108         /* Souce File List */\r
109         srcFile: [\r
110                   "src/tirtos/SemaphoreP_tirtos.c",\r
111                   "src/tirtos/HwiP_tirtos.c",\r
112                   "src/tirtos/SwiP_tirtos.c",\r
113                   "src/tirtos/CacheP_tirtos.c",\r
114                   "src/tirtos/Utils_tirtos.c"\r
115                  ],        \r
116     },\r
117     /* Bare metal */\r
118     nonos :\r
119     {\r
120         /* Library options */\r
121         copts: "-DNONOS",\r
122         /* Souce File List */\r
123         srcFile: [\r
124                   "src/nonos/HwiP_nonos.c",\r
125                   "src/nonos/SwiP_nonos.c",\r
126                   "src/nonos/Utils_nonos.c",\r
127                   "src/nonos/SemaphoreP_nonos.c",\r
128                   "src/nonos/CacheP_nonos.c"\r
129                   "src/nonos/MutexP_nonos.c"\r
130                  ],        \r
131     }\r
132 };\r
133 \r
134 var keyStoneFamilySrcFiles = {\r
135     /* TI RTOS */\r
136     tirtos :\r
137     {\r
138         /* Souce File List */\r
139         srcFile: [\r
140                             "src/v0/MuxIntcP_tirtos.c",\r
141                  ]\r
142     },\r
143     /* Bare metal */\r
144     nonos :\r
145     {\r
146         /* Souce File List */\r
147         srcFile: [\r
148                           "src/v0/MuxIntcP_nonos.c"\r
149                  ]       \r
150     }\r
151 };\r
152 \r
153 var amFamilySrcFiles = {\r
154     /* TI RTOS */\r
155     tirtos :\r
156     {\r
157         /* Souce File List */\r
158         srcFile: [\r
159                             "src/v1/MuxIntcP_tirtos.c"\r
160                  ]      \r
161     },\r
162     /* Bare metal */\r
163     nonos :\r
164     {\r
165         /* Souce File List */\r
166         srcFile: [\r
167                   "src/v1/MuxIntcP_nonos.c",\r
168                  ]\r
169     }\r
170 };\r
171 \r
172 /* Create the SoC List  */\r
173 var socs = { \r
174     am335x :\r
175     {\r
176         /* this variable would be reinitialized to true, if XDCARGS contains am335x */\r
177         build: "false",\r
178                 /* Device Family Type */\r
179                 familyType: "am",\r
180         /* SoC specific defines go here */\r
181         copts: "-DSOC_AM335x",        \r
182         /* target list */\r
183         targets: [ A8LE ]\r
184     },\r
185     am437x :\r
186     {\r
187         /* this variable would be reinitialized to true, if XDCARGS contains am437x */\r
188         build: "false", \r
189                 /* Device Family Type */\r
190                 familyType: "am",                       \r
191         /* SoC specific defines go here */\r
192         copts: "-DSOC_AM437x",           \r
193         /* target list */\r
194         targets: [ A9LE ]\r
195    },\r
196    am572x :\r
197     {\r
198         /* this variable would be reinitialized to true, if XDCARGS contains am572x */\r
199         build: "false", \r
200                 /* Device Family Type */\r
201                 familyType: "am",               \r
202         /* SoC specific defines go here */\r
203         copts: "-DSOC_AM572x",           \r
204        /* target list */\r
205        targets: [ C66LE, A15LE, M4LE]\r
206     },\r
207    am574x :\r
208     {\r
209         /* this variable would be reinitialized to true, if XDCARGS contains am574x */\r
210         build: "false", \r
211                 /* Device Family Type */\r
212                 familyType: "am",               \r
213         /* SoC specific defines go here */\r
214         copts: "-DSOC_AM574x",           \r
215        /* target list */\r
216        targets: [ C66LE, A15LE, M4LE]\r
217     },\r
218    am571x :\r
219     {\r
220         /* this variable would be reinitialized to true, if XDCARGS contains am571x */\r
221         build: "false",  \r
222                 /* Device Family Type */\r
223                 familyType: "am",       \r
224         /* SoC specific defines go here */\r
225         copts: "-DSOC_AM571x",           \r
226        /* target list */\r
227        targets: [ C66LE, A15LE, M4LE]\r
228     },    \r
229    k2h :\r
230     {\r
231         /* this variable would be reinitialized to true, if XDCARGS contains k2h */\r
232         build: "false", \r
233                 /* Device Family Type */\r
234                 familyType: "keystone",         \r
235         /* SoC specific defines go here */\r
236         copts: "-DSOC_K2H",           \r
237        /* target list */\r
238        targets: [ C66LE, C66BE, A15LE]\r
239     },    \r
240    k2k :\r
241     {\r
242         /* this variable would be reinitialized to true, if XDCARGS contains k2k */\r
243         build: "false",  \r
244                 /* Device Family Type */\r
245                 familyType: "keystone",                 \r
246         /* SoC specific defines go here */\r
247         copts: "-DSOC_K2H",           \r
248        /* target list */\r
249        targets: [ C66LE, C66BE, A15LE]\r
250     },    \r
251    k2e :\r
252     {\r
253         /* this variable would be reinitialized to true, if XDCARGS contains k2e */\r
254         build: "false",     \r
255                 /* Device Family Type */\r
256                 familyType: "keystone",                 \r
257         /* SoC specific defines go here */\r
258         copts: "-DSOC_K2E",           \r
259        /* target list */\r
260        targets: [ C66LE, C66BE, A15LE]\r
261     },    \r
262    k2l :\r
263     {\r
264         /* this variable would be reinitialized to true, if XDCARGS contains k2l */\r
265         build: "false",     \r
266                 /* Device Family Type */\r
267                 familyType: "keystone",                 \r
268         /* SoC specific defines go here */\r
269         copts: "-DSOC_K2L",           \r
270        /* target list */\r
271        targets: [ C66LE, C66BE, A15LE]\r
272     },    \r
273    k2g :\r
274     {\r
275         /* this variable would be reinitialized to true, if XDCARGS contains k2g */\r
276         build: "false",     \r
277                 /* Device Family Type */\r
278                 familyType: "keystone",                 \r
279         /* SoC specific defines go here */\r
280         copts: "-DSOC_K2G",           \r
281        /* target list */\r
282        targets: [ C66LE, C66BE, A15LE]\r
283     },\r
284         omapl137 :\r
285     {\r
286         /* this variable would be reinitialized to true, if XDCARGS contains omapl137 */\r
287         build: "false",\r
288                 /* Device Family Type */\r
289                 familyType: "omap",\r
290         /* SoC specific defines go here */\r
291         copts: "-DSOC_OMAPL137",\r
292        /* target list */\r
293        targets: [ C674LE, A9LE]\r
294     },\r
295     omapl138 :\r
296     {\r
297         /* this variable would be reinitialized to true, if XDCARGS contains omapl138 */\r
298         build: "false",\r
299         /* Device Family Type */\r
300         familyType: "omap",\r
301         /* SoC specific defines go here */\r
302         copts: "-DSOC_OMAPL138",\r
303         /* target list */\r
304         targets: [ C674LE, A9LE]\r
305     },\r
306    c6678 :\r
307     {\r
308         /* this variable would be reinitialized to true, if XDCARGS contains k2l */\r
309         build: "false",     \r
310                 /* Device Family Type */\r
311                 familyType: "keystone",                 \r
312         /* SoC specific defines go here */\r
313         copts: "-DSOC_C6678",           \r
314        /* target list */\r
315        targets: [ C66LE, C66BE]\r
316     },    \r
317    c6657 :\r
318     {\r
319         /* this variable would be reinitialized to true, if XDCARGS contains k2l */\r
320         build: "false",     \r
321                 /* Device Family Type */\r
322                 familyType: "keystone",                 \r
323         /* SoC specific defines go here */\r
324         copts: "-DSOC_C6657",           \r
325        /* target list */\r
326        targets: [ C66LE, C66BE]\r
327     },\r
328         c6747 :\r
329         {\r
330                 /* Build this library */\r
331         build: "false",\r
332                 /* Device Family Type */\r
333                 familyType: "omap",\r
334                 /* SoC specific defines go here */\r
335         copts: "-DSOC_C6747",\r
336         /* target list */\r
337         targets: [ C674LE]\r
338         }\r
339 };\r
340     \r
341 /**************************************************************************\r
342  * FUNCTION NAME : merge\r
343  **************************************************************************\r
344  * DESCRIPTION   :\r
345  *  The function is used to merge two arrarys\r
346  **************************************************************************/\r
347 function merge() {\r
348     var args = arguments;\r
349     var hash = {};\r
350     var arr = [];\r
351     for (var i = 0; i < args.length; i++) {\r
352        for (var j = 0; j < args[i].length; j++) {\r
353          if (hash[args[i][j]] !== true) {\r
354            arr[arr.length] = args[i][j];\r
355            hash[args[i][j]] = true;\r
356          }\r
357        }\r
358      }\r
359     return arr;\r
360 }\r
361 \r
362 /* Grab input from XDCARGS */\r
363 var buildArguments  = [];\r
364 \r
365 /* Construct the build arguments */\r
366 for (var tmp=0; arguments[tmp] != undefined; tmp++)\r
367 {\r
368 \r
369     /* If no arguments are provided, override for building all */\r
370     if ( ( arguments.length == 1) && (arguments[tmp].equals("./config.bld")) )\r
371         buildArguments[buildArguments.length++] = "all";\r
372     else\r
373         buildArguments[buildArguments.length++] = arguments[tmp];\r
374 }\r
375 \r
376 /* Build targets on this build */\r
377 var build_targets = [];\r
378 var soc_names = Object.keys(socs);\r
379 var os_names  = Object.keys(osTypes);\r
380 \r
381 for (var i=0; i < buildArguments.length; i++ ) {\r
382     /* Build it for all targets */\r
383     if (buildArguments[i] == "all") {\r
384         for (var j = 0; j < soc_names.length; j++)  {\r
385             build_targets = merge (build_targets.slice(0), socs[soc_names[j]].targets.slice(0));\r
386             /* Set build to "true" for that SoC */\r
387             socs[soc_names[j]].build = "true";\r
388         }\r
389     }\r
390     else {\r
391         /* Skip the first argument, which is ./config.bld to get to next SoCs */\r
392         if (i == 0) continue;          \r
393         /* Set that build to true if it is found in supported build socs */\r
394         for (j = 0; j < soc_names.length; j++) {\r
395             if (buildArguments[i] == soc_names[j]) {\r
396                 socs[buildArguments[i]].build = "true";\r
397                 build_targets = merge (build_targets.slice(0), socs[buildArguments[i]].targets.slice(0));\r
398                 break;\r
399             }\r
400         }\r
401     }   \r
402 }\r
403 \r
404 /* Update the Build target generated list */\r
405 Build.targets   = build_targets;\r