if alignment
[keystone-rtos/rm-lld.git] / config.bld
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