]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - keystone-rtos/traceframework.git/commitdiff
update to accept SECTTI variable and C6X_GEN_INSTALL_PATH DEV.TFWK-01.01.01.07A
authorAravind Batni <aravindbr@ti.com>
Thu, 5 Nov 2015 15:38:58 +0000 (10:38 -0500)
committerAravind Batni <aravindbr@ti.com>
Thu, 5 Nov 2015 15:38:58 +0000 (10:38 -0500)
build/buildlib.xs [changed mode: 0755->0644]
config.bld

old mode 100755 (executable)
new mode 100644 (file)
index 52cf164..a17aedd
@@ -7,7 +7,7 @@
  *  This file contains common routines that are used by the various TraceFramework driver \r
  *  components.\r
  *\r
- * Copyright (C) 2011-2013, Texas Instruments, Inc.\r
+ * Copyright (C) 2011-2015, Texas Instruments, Inc.\r
  *****************************************************************************/\r
 \r
 /**************************************************************************\r
@@ -110,31 +110,28 @@ function createMake(makefile)
 \r
       var file = xdc.module('xdc.services.io.File');\r
     \r
-      var xdcTargetType = java.lang.System.getenv("XDCTARGET");\r
-      var toolsBaseDir = java.lang.System.getenv("XDCCGROOT");   \r
       \r
       makefile.writeLine("\n# Output for prebuilt generated libraries");\r
       makefile.writeLine("export LIBDIR ?= ./lib");\r
+      /* use sectti.exe from path */\r
+      makefile.writeLine("export SECTTI ?= sectti");\r
 \r
       /* Create INCDIR from XDCPATH */\r
     \r
       /* copy the environment array from the current environment */\r
       var env   = java.lang.System.getenv();\r
       var getxdcpath=String(java.lang.System.getenv("XDCPATH"));\r
-         print ("getxdcpath                      : " + getxdcpath);\r
       getxdcpath= getxdcpath.replace(/\\/g,"/");\r
       var keys  = env.keySet().toArray();\r
       var key;\r
       var stat={};\r
       var env_j=[];\r
       var listxdcpath = new Array();\r
-         /* print ("keys.length : " + keys.length); */\r
       for (var i = 0; i < keys.length; i++) {\r
            key = String(keys[i]);\r
-           if((key.match("INSTALL_PATH")) || (key.match("INSTALLDIR")) || (key.match("INSTALL_DIR")))\r
+           if((key.match("INSTALL_PATH")) || (key.match("INSTALLDIR")))\r
            {\r
-                    /* print ("key : " + key ); */\r
-                    var keyPath=String(env.get(key));\r
+             var keyPath=String(env.get(key));\r
              keyPath=keyPath.replace(/\\/g,"/");\r
              var file = xdc.module('xdc.services.io.File');\r
              keyPath=file.getDOSPath(keyPath);\r
@@ -146,13 +143,13 @@ function createMake(makefile)
                    getxdcpath=getxdcpath.toString().replace(keyPath,"$("+key+")");\r
                  }\r
              }\r
-           }    \r
+           }\r
+    \r
      }\r
-     /* print ("exit from the keys.length for loop "); */\r
-        var pkgroot="..";\r
-     for (var i = Pkg.name.split('.').length; i > 1; i--) {\r
+       var pkgroot="..";\r
+       for (var i = Pkg.name.split('.').length; i > 1; i--) {\r
               pkgroot+="/..";\r
-     }\r
+          }\r
         \r
       makefile.writeLine("\n# ROOT Directory");        \r
       makefile.writeLine("export ROOTDIR := "+pkgroot);\r
@@ -197,7 +194,7 @@ function createMake(makefile)
       makefile.writeLine("\n# Clean Rule");          \r
       makefile.writeLine("clean:: clean_package");                  \r
       makefile.writeLine("# Clean Top Level Object Directory ");          \r
-      makefile.writeLine("clean_package :\n\t$(RMDIR) $(LIBDIR)/*/");      \r
+      makefile.writeLine("clean_package :\n\t$(RMDIR) $(LIBDIR)/*/");  \r
       makefile.writeLine("\t$(RMDIR) package/cfg");            \r
    }\r
    else\r
@@ -291,7 +288,7 @@ function createLibMake(makelibname,targetname, objectPath)
 \r
     }\r
        \r
-    libmakefile.writeLine("INCS = -I. -I$(strip $(subst ;, -I,$(subst $(space),\\$(space),$(INCDIR))))");\r
+        libmakefile.writeLine("INCS = -I. -I$(strip $(subst ;, -I,$(subst $(space),\\$(space),$(INCDIR)))) -I$("+tooldir+")/include");\r
     libmakefile.writeLine("OBJEXT = o"+targetname.suffix); \r
     libmakefile.writeLine("AOBJEXT = s"+targetname.suffix);     \r
     /* libmakefile.writeLine("INTERNALDEFS = -D"+stringname.replace(/\./g,"_")+" -Dxdc_target_types__=ti/targets/std.h -DMAKEFILE_BUILD -eo.$(OBJEXT) -ea.$(AOBJEXT) -fr=$(@D) -fs=$(@D) -ppa -ppd=$@.dep");*/\r
@@ -462,11 +459,29 @@ function buildLibrary (libOptions, libName, target, libFiles)
     /* Create the Epilogue; which executes after all the builds are completed. \r
      * This is used to generate the benchmark information for the built library. \r
      * Also add the benchmarking information file to the package. */\r
-    Pkg.makeEpilogue += ".libraries: benchmarking_" + target.suffix + "\n";\r
-    Pkg.makeEpilogue += "benchmarking_" + target.suffix + ":";\r
-    Pkg.makeEpilogue += "\n\t ofd6x -x " + lldFullLibraryPath + ".a" + target.suffix + " > tmp.xml";\r
-    Pkg.makeEpilogue += "\n\t sectti tmp.xml > " + lldFullLibraryPath + ".a" + target.suffix +  "_size.txt";\r
-    Pkg.makeEpilogue += "\n\t $(RM) tmp.xml\n\n";\r
+\r
+    /* Put the temp file in object directory since javascript doesn't have a built in tmpname, \r
+     * and don't want --jobs=# with # > 1 to result in collisions */\r
+    var libFullName = lldFullLibraryPath + ".a" + target.suffix;\r
+    var tempFile = libFullName + ".xml";\r
+    Pkg.makeEpilogue += ".libraries: " + libFullName +  "_size.txt\n";\r
+    Pkg.makeEpilogue += libFullName +  "_size.txt: " + libFullName + "\n";\r
+    if ( java.lang.String(target.name).contains('66') )\r
+    {    \r
+        Pkg.makeEpilogue += "\n\t $(C6X_GEN_INSTALL_PATH)/bin/ofd6x -x " + libFullName + " > " + tempFile;\r
+        Pkg.makeEpilogue += "\n\t $(SECTTI) " + tempFile + " > " + libFullName +  "_size.txt";\r
+        Pkg.makeEpilogue += "\n\t $(RM) " + tempFile + "\n\n";\r
+    }   \r
+    else if (target.name == "M4")\r
+    {\r
+        Pkg.makeEpilogue += "\n\t $(TOOLCHAIN_PATH_M4)/bin/armofd -x " + libFullName + " > " + tempFile;\r
+        Pkg.makeEpilogue += "\n\t $(SECTTI) " + tempFile + " > " + libFullName +  "_size.txt";\r
+        Pkg.makeEpilogue += "\n\t $(RM) " + tempFile + "\n\n";\r
+    }\r
+    else\r
+    {\r
+        Pkg.makeEpilogue += "\n\t $(TOOLCHAIN_PATH_A15)/bin/$(CROSS_TOOL_PRFX)size " + libFullName + " > " + libFullName + "_size.txt";\r
+    }                \r
     Pkg.otherFiles[Pkg.otherFiles.length++] = lldFullLibraryPath + ".a" + target.suffix + "_size.txt";\r
     Pkg.otherFiles[Pkg.otherFiles.length++] = lldFullBuildPath + ".a" + target.suffix + ".mk";\r
     Pkg.otherFiles[Pkg.otherFiles.length++] = lldFullLibraryPath + ".a" + target.suffix;\r
index 3015dd5fb5e6b956f372728cbf875c54542be7b5..a424cc42613a2e334136a0541f949b5df4e9272d 100644 (file)
@@ -15,7 +15,7 @@ print (Build.hostOSName);
  \r
  \r
 /* Get the Tools Base directory from the Environment Variable. */\r
-var toolsBaseDir = java.lang.System.getenv("XDCCGROOT");\r
+var toolsBaseDir = java.lang.System.getenv("C6X_GEN_INSTALL_PATH");\r
 \r
 /* Get the base directory for the TraceFramework Socket Driver Package */\r
 var tfDriverPath = new java.io.File(".//").getPath();\r