Build: Add notrace profile
authorChris Ring <cring@ti.com>
Tue, 1 Apr 2014 20:56:56 +0000 (13:56 -0700)
committerChris Ring <cring@ti.com>
Tue, 1 Apr 2014 20:56:56 +0000 (13:56 -0700)
The 'notrace' profile is equivalent to the 'release' profile but
contains no tracing support.  This can improve performance, at
the cost of system visibility.

This was available in previous CE releases, so this commit just
restores that functionality.

ce-bios.bld

index dab234cdbf9a2f47f3927a4ea3edbae0d0c41673..91804ebff7e3b10ebc4b74cefed68c3116c597ef 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011-2013, Texas Instruments Incorporated
+ * Copyright (c) 2011-2014, Texas Instruments Incorporated
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -38,7 +38,7 @@
  */
 
 /*
- *  ======== ce.bld ========
+ *  ======== ce-bios.bld ========
  *  This script is run prior to all build scripts. It sets host-system-
  *  independent values for targets and platforms, then it attempts to
  *  find the host-system-specific user.bld script that sets rootDirs.
@@ -149,7 +149,11 @@ for (arg = 0; arg < arguments.length; arg++) {
 /* lib/ is a generated directory that 'xdc clean' should remove */
 Pkg.generatedFiles.$add("lib/");
 
-/* only build debug and release profiles */
+/*
+ * Some packages build for 'all profiles' - but that's too much to ship.
+ * Loop over all profiles in all Build.targets and remove everything
+ * except 'release' and 'debug'.
+ */
 for (var t = 0; t < Build.targets.length; t++) {
     for (prof in Build.targets[t].profiles) {
         if ((prof != 'release') && (prof != 'debug')) {
@@ -159,6 +163,21 @@ for (var t = 0; t < Build.targets.length; t++) {
 }
 
 
+/* add notrace profile to all targets */
+var notrace_defs = " -Dxdc_runtime_Log_DISABLE_ALL " +
+        "-Dxdc_runtime_Assert_DISABLE_ALL ";
+
+/* All libraries add a new notrace profile */
+for (var t = 0; t < Build.targets.length; t++) {
+    var targ = Build.targets[t];
+
+    targ.profiles["notrace"] = targ.profiles["release"].$copy();
+    var defs = targ.profiles["notrace"].compileOpts.defs;
+    targ.profiles["notrace"].compileOpts.defs =
+        (defs == undefined ? notrace_defs : defs + notrace_defs);
+}
+
+
 /* -----------------------------------------------------------------------*/
 /* make release files '.tar.gz' files (.tar is default) */
 Pkg.attrs.compress = true;