diff --git a/config.bld b/config.bld
--- a/config.bld
+++ b/config.bld
/* Get the Tools Base directory from the Environment Variable. */
var toolsBaseDir = java.lang.System.getenv("XDCCGROOT");
+/* Get the extended debug flags */
+var extDbgFlags = java.lang.System.getenv("EXTDBGFLAGS");
/* Get the base directory for the MCBSP Driver Package */
var mcbspDriverPath = new java.io.File(".//").getPath();
/* Read the part number from the environment variable. */
var mcbspLLDPartNumber = java.lang.System.getenv("PARTNO");
+/* Get the base directory for the hyplnk LLD Package */
+var mcbsplldPath = new java.io.File(".//").getPath();
+/* Include Path */
+var mcbsplldIncPath = " -i" + mcbsplldPath;
/* Configure the MCBSP Release Version Information */
-var mcbspDriverReleaseVersion = [01,00,00,02];
+var mcbspDriverReleaseVersion = (""+Pkg.version.replace(/\s/g, "")).split(',');
/* C66 ELF compiler configuration for Little Endian Mode. */
var C66LE = xdc.useModule('ti.targets.elf.C66');
C66LE.rootDir = toolsBaseDir;
C66LE.ccOpts.prefix = "-mo -o3 -q -k -eo.o";
+if(extDbgFlags)
+ C66LE.ccOpts.prefix = C66LE.ccOpts.prefix + " " + extDbgFlags;
/* C6740 elf compiler configuration for Little Endian Mode. */
var C67LE = xdc.useModule('ti.targets.elf.C674');
C67LE.rootDir = toolsBaseDir;
C67LE.ccOpts.prefix = "-mo -o3 -q -k -eo.o";
+if(extDbgFlags)
+ C67LE.ccOpts.prefix = C67LE.ccOpts.prefix + " " + extDbgFlags;
/* C66 ELF compiler configuration for Big Endian Mode. */
var C66BE = xdc.useModule('ti.targets.elf.C66_big_endian');
C66BE.rootDir = toolsBaseDir;
C66BE.ccOpts.prefix = "-mo -o3 -q -k -eo.o -DBIGENDIAN";
+if(extDbgFlags)
+ C66BE.ccOpts.prefix = C66BE.ccOpts.prefix + " " + extDbgFlags;
-/* Check if we need to run the STATIC Analysis or not? */
-var coverityAnalysis = java.lang.System.getenv("STATIC_ANALYZE");
-/* Setup the Coverity Filters to perform Static Analysis. */
-if (coverityAnalysis == "ON") {
- var coverityInstallPath = java.lang.System.getenv("STATIC_ANALYZE_PATH");
- var cfgBase = xdc.getPackageBase("tisb.coverity.filters") + "cfg";
- var coverityFilter = [
+/* device name (k2?) is inserted between first an second element of this
+ list to construct device file name for each device */
+var deviceConstruct = [ "device/", "/src/device_mcbsp_loopback.c" ];
+
+/* Create the SoC List */
+var socs = {
+ /* device independent libraries */
+ all :
{
- moduleName: "tisb.coverity.filters.Coverity",
- params: {
- cfgDir: cfgBase, // The Coverity configuration file directory
- rootDir: coverityInstallPath,
- outDir: xdc.csd() + "cov_out",
- analyzeLibs: true
- }
+ /* Build this library */
+ build: "true",
+ /* SoC lib disabled as this is device independent lib */
+ socDevLib: "false",
+ /* Library options */
+ copts: "",
+ /* target lists, kept blank now, would be updated based on argument lists */
+ targets: []
+ },
+ k2g :
+ {
+ /* this variable would be reinitialized to true, if XDCARGS contains k2g */
+ build: "false",
+ /* SoC lib enabled */
+ socDevLib: "true",
+ /* Library options */
+ copts: " -DDEVICE_K2G -DSOC_K2G",
+ /* target list */
+ targets: [ C66LE, C66BE ]
+ },
+ c674x :
+ {
+ /* this variable would be reinitialized to true, if XDCARGS contains c674x */
+ build: "false",
+ /* SoC lib enabled */
+ socDevLib: "true",
+ /* Library options */
+ copts: " -DSOC_C674X",
+ /* target list */
+ targets: [ C66LE, C66BE ]
+ },
+ c6657 :
+ {
+ /* this variable would be reinitialized to true, if XDCARGS contains c6657 */
+ build: "false",
+ /* SoC lib enabled */
+ socDevLib: "true",
+ /* Library options */
+ copts: " -DSOC_C6657",
+ /* target list */
+ targets: [ C66LE, C66BE ]
},
- ];
+};
- /* Run the coverity filters on the LE Build only. */
- C66LE.profiles["release"].filters = coverityFilter;
+/**************************************************************************
+ * FUNCTION NAME : merge
+ **************************************************************************
+ * DESCRIPTION :
+ * The function is used to merge two arrarys
+ **************************************************************************/
+function merge() {
+ var args = arguments;
+ var hash = {};
+ var arr = [];
+ for (var i = 0; i < args.length; i++) {
+ for (var j = 0; j < args[i].length; j++) {
+ if (hash[args[i][j]] !== true) {
+ arr[arr.length] = args[i][j];
+ hash[args[i][j]] = true;
+ }
+ }
+ }
+ return arr;
}
-/* Check if we need to create the Makefiles? */
-var miniBuild = java.lang.System.getenv("MINI_PACKAGE");
-if (miniBuild == "ON")
+/* Grab input from XDCARGS */
+var buildArguments = [];
+
+/* Construct the build arguments */
+for (var tmp=0; arguments[tmp] != undefined; tmp++)
{
- var makeC66LEFilter = {
- moduleName: "build.filter.Make",
- params: {
- makefileName: "simpleC66LE.mak",
+
+ /* If no arguments are provided, override for building all */
+ if ( ( arguments.length == 1) && (arguments[tmp].equals("./config.bld")) )
+ buildArguments[buildArguments.length++] = "all";
+ else
+ buildArguments[buildArguments.length++] = arguments[tmp];
+}
+
+/* Build targets on this build */
+var build_targets = [];
+var soc_names = Object.keys(socs);
+
+for (var i=0; i < buildArguments.length; i++ ) {
+ /* Build it for all targets */
+ if (buildArguments[i] == "all") {
+ for (var j = 0; j < soc_names.length; j++) {
+ build_targets = merge (build_targets.slice(0), socs[soc_names[j]].targets.slice(0));
+ /* Set build to "true" for that SoC */
+ socs[soc_names[j]].build = "true";
}
- };
- C66LE.profiles["release"].filters[C66LE.profiles["release"].filters.length++] = makeC66LEFilter;
-
- var makeC66BEFilter = {
- moduleName: "build.filter.Make",
- params: {
- makefileName: "simpleC66BE.mak",
+ }
+ else {
+ /* Skip the first argument, which is ./config.bld to get to next SoCs */
+ if (i == 0) continue;
+ /* Set that build to true if it is found in supported build socs */
+ for (j = 0; j < soc_names.length; j++) {
+ if (buildArguments[i] == soc_names[j]) {
+ socs[buildArguments[i]].build = "true";
+ build_targets = merge (build_targets.slice(0), socs[buildArguments[i]].targets.slice(0));
+ break;
+ }
}
- };
- C66BE.profiles["release"].filters[C66BE.profiles["release"].filters.length++] = makeC66BEFilter;
+ }
}
-/* List all the build targets here. */
-Build.targets = [ C66LE ];
-
+/* Update the Build target generated list */
+socs["all"].targets = build_targets;
+Build.targets = build_targets;