1 /******************************************************************************\r
2 * FILE PURPOSE: Build configuration Script for the RM\r
3 ******************************************************************************\r
4 * FILE NAME: config.bld\r
5 *\r
6 * DESCRIPTION: \r
7 * This file contains the build configuration script for RM \r
8 * and is responsible for configuration of the paths for the various tools\r
9 * required to build RM.\r
10 *\r
11 * Copyright (C) 2012-2013, Texas Instruments, Inc.\r
12 *****************************************************************************/\r
13 \r
14 /* Get the Tools Base directory from the Environment Variable. */\r
15 var toolsBaseDir = java.lang.System.getenv("XDCCGROOT");\r
16 \r
17 /* Get the base directory for the RM Package */\r
18 var lldPath = new java.io.File(".//").getPath();\r
19 \r
20 var lldInstallType;\r
21 \r
22 /* Read the part number from the environment variable. */\r
23 var lldPartNumber = java.lang.System.getenv("PARTNO");\r
24 \r
25 /* Include Path */\r
26 var lldIncludePath = " -i" + lldPath + "/src" + " -i" + lldPath + " -i" + lldPath + "/test" + " -i" + lldPath + "/util/libfdt";\r
27 \r
28 /* Configure the RM Release Version Information */\r
29 /* 3 steps: remove SPACE and TAB, convert to string and split to make array */\r
30 var lldReleaseVersion = (""+Pkg.version.replace(/\s/g, "")).split(',');\r
31 \r
32 /* RM Coverity Analysis: Check the environment variable to determine if Static\r
33 * Analysis has to be done on the RM Code base or not? */\r
34 var lldCoverityAnalysis = java.lang.System.getenv("LLDCOV");\r
35 \r
36 /* C66 ELF compiler configuration for Little Endian Mode. */\r
37 var C66LE = xdc.useModule('ti.targets.elf.C66');\r
38 C66LE.rootDir = toolsBaseDir;\r
39 C66LE.ccOpts.prefix = "-mo -o3 --gcc -q -k -eo.o";\r
40 \r
41 /* C66 ELF compiler configuration for Big Endian Mode. */\r
42 var C66BE = xdc.useModule('ti.targets.elf.C66_big_endian');\r
43 C66BE.rootDir = toolsBaseDir;\r
44 C66BE.ccOpts.prefix = "-mo -o3 --gcc -q -k -eo.o -DBIGENDIAN";\r
45 \r
46 /* Check if we need to run the STATIC Analysis or not? */\r
47 var coverityAnalysis = java.lang.System.getenv("STATIC_ANALYZE");\r
48 \r
49 /* Setup the Coverity Filters to perform Static Analysis. */\r
50 if (coverityAnalysis == "ON") {\r
51 var coverityInstallPath = java.lang.System.getenv("STATIC_ANALYZE_PATH");\r
52 var cfgBase = xdc.getPackageBase("tisb.coverity.filters") + "cfg";\r
53 \r
54 var coverityFilter = [\r
55 {\r
56 moduleName: "tisb.coverity.filters.Coverity",\r
57 params: {\r
58 cfgDir: cfgBase, // The Coverity configuration file directory\r
59 rootDir: coverityInstallPath,\r
60 outDir: xdc.csd() + "cov_out",\r
61 analyzeLibs: true\r
62 }\r
63 },\r
64 ];\r
65 \r
66 /* Run the coverity filters on the LE Build only. */\r
67 C66LE.profiles["release"].filters = coverityFilter;\r
68 }\r
69 \r
70 /* Check if we need to create the Makefiles? */\r
71 var miniBuild = java.lang.System.getenv("MINI_PACKAGE");\r
72 \r
73 if (miniBuild == "ON")\r
74 {\r
75 /* Add the filter for simple Makefile generation. */\r
76 \r
77 var makeC66LEFilter = {\r
78 moduleName: "build.filter.Make",\r
79 params: {\r
80 makefileName: "simpleC66LE.mak",\r
81 }\r
82 };\r
83 \r
84 C66LE.profiles["release"].filters[C66LE.profiles["release"].filters.length++] = makeC66LEFilter;\r
85 \r
86 var makeC66BEFilter = {\r
87 moduleName: "build.filter.Make",\r
88 params: {\r
89 makefileName: "simpleC66BE.mak",\r
90 }\r
91 }; \r
92 \r
93 C66BE.profiles["release"].filters[C66BE.profiles["release"].filters.length++] = makeC66BEFilter;\r
94 \r
95 }\r
96 \r
97 /* List all the build targets here. */\r
98 Build.targets = [ C66LE, C66BE ];\r