Merge pull request #3 in PROCESSOR-SDK/traceframework from CATREQ-2702 to master
[keystone-rtos/traceframework.git] / config.bld
1 /******************************************************************************\r
2  * FILE PURPOSE: Build configuration Script for the TraceFramework 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 TraceFramework 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) 2011-2014, Texas Instruments, Inc.\r
12  *****************************************************************************/\r
13 var Build = xdc.useModule('xdc.bld.BuildEnvironment');\r
14 print (Build.hostOSName);\r
15  \r
16  \r
17 /* Get the Tools Base directory from the Environment Variable. */\r
18 var toolsBaseDir = java.lang.System.getenv("C6X_GEN_INSTALL_PATH");\r
19 \r
20 /* Get the base directory for the TraceFramework Socket Driver Package */\r
21 var tfDriverPath = new java.io.File(".//").getPath();\r
22 \r
23 /* Read the part number from the environment variable. */\r
24 var tfLLDPartNumber = java.lang.System.getenv("SOC_FAMILY");\r
25 \r
26 /* Get the extended debug flags */\r
27 var extDbgFlags = java.lang.System.getenv("EXTDBGFLAGS");\r
28 \r
29 /* Configure the TraceFramework Socket Release Version Information */\r
30 /* var tfDriverReleaseVersion = [01,01,01,08]; */\r
31 var tfDriverReleaseVersion = (""+Pkg.version.replace(/\s/g, "")).split(',');\r
32 \r
33 var pkgName = Pkg.name;\r
34 \r
35 var tiCcopts = "--verbose_diagnostics --display_error_number --diag_error=225 -k --diag_error=9 --diag_warning=179 --diag_remark=880 --diag_remark=188 --mem_model:data=far";\r
36 var tiDefs = " ";\r
37 var tiIncs = " " ;\r
38 \r
39 if (tfLLDPartNumber == "KeyStone2")\r
40 {\r
41         tiCcopts = tiCcopts + " -DK2 ";\r
42         tfLLDPartNumber = "K2";\r
43 }\r
44 \r
45 /* Add support for Logger Streamer 2 */\r
46 tiCcopts = tiCcopts + " -dTF_SUP_LOGGERSTREAMER2" + " -dTF_STREAM_FREEZE_PRODUCER_SUPPORT";\r
47 var tiCcopts_le = tiCcopts + " -mo -o3 -q";\r
48 var tiCcopts_be = tiCcopts + " -mo -o3 -q -D_BIG_ENDIAN";\r
49 /* C66 ELF compiler configuration for Little Endian Mode. */\r
50 var C66LE           = xdc.useModule('ti.targets.elf.C66');\r
51 C66LE.rootDir       = toolsBaseDir;\r
52 C66LE.ccOpts.prefix = tiCcopts_le;\r
53 if(extDbgFlags)     \r
54     C66LE.ccOpts.prefix = C66LE.ccOpts.prefix + " " + extDbgFlags; \r
55 \r
56 /* Check if we need to run the STATIC Analysis or not? */\r
57 var coverityAnalysis = java.lang.System.getenv("STATIC_ANALYZE");\r
58 \r
59 /* Setup the Coverity Filters to perform Static Analysis. */\r
60 if (coverityAnalysis == "ON") {\r
61     var coverityInstallPath = java.lang.System.getenv("STATIC_ANALYZE_PATH");\r
62     var cfgBase = xdc.getPackageBase("tisb.coverity.filters") + "cfg";\r
63 \r
64     var coverityFilter = [\r
65     {\r
66         moduleName: "tisb.coverity.filters.Coverity",\r
67         params: {\r
68             cfgDir:  cfgBase,  // The Coverity configuration file directory\r
69             rootDir: coverityInstallPath,\r
70             outDir: xdc.csd() + "cov_out",\r
71             analyzeLibs: true\r
72         }\r
73     },\r
74     ];\r
75 \r
76     /* Run the coverity filters on the LE Build only. */\r
77     C66LE.profiles["release"].filters = coverityFilter;\r
78 }\r
79 \r
80 /* Check if we need to create the Makefiles? */\r
81 var miniBuild = java.lang.System.getenv("MINI_PACKAGE");\r
82 if (miniBuild == "ON")\r
83 {\r
84     var makeC66LEFilter = {\r
85         moduleName: "build.filter.Make",\r
86         params: {\r
87           makefileName: "simpleC66LE.mak",\r
88         }\r
89     };\r
90     C66LE.profiles["release"].filters[C66LE.profiles["release"].filters.length++] = makeC66LEFilter;\r
91     \r
92 }\r
93 \r
94 /* List all the build targets here. */\r
95 Build.targets = [ C66LE ];\r
96 \r