BIOS: Only build rpmsg libs when useful
authorChris Ring <cring@ti.com>
Fri, 14 Feb 2014 00:12:50 +0000 (16:12 -0800)
committerChris Ring <cring@ti.com>
Tue, 18 Feb 2014 18:03:05 +0000 (10:03 -0800)
Many of the rpmsg-protocol-related IPC packages build for
all targets thrown at them (like good packages should).

However, we know many supported targets will never use the rpmsg
protocol, and we are therefore unnecessarily building libraries
that will never be used.

This commit changes some of the rpmsg-specific packages to not
build for targets that don't have any devices containing an
rpmsg-using HLOS-based host.

packages/ti/ipc/namesrv/package.bld
packages/ti/ipc/remoteproc/package.bld
packages/ti/ipc/transports/package.bld
packages/ti/srvmgr/package.bld

index 4d043d2656eea5db7174a2d8ea65de008d22c54e..5d6b567f754b89a169e81358e48a00bac5b0f867 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Texas Instruments Incorporated
+ * Copyright (c) 2012-2014, Texas Instruments Incorporated
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -53,7 +53,14 @@ Pkg.generatedFiles.$add("lib/");
 for (var i = 0; i < Build.targets.length; i++) {
     var targ = Build.targets[i];
 
-//    print("targ.name = " + targ.name);
+    /*
+     *  Only devices with an rpmsg-enabled HLOS and a slave would need this
+     *  library.  Skip targets that will never need this.
+     */
+    if (!((targ.isa.match(/^64T$/)) || (targ.isa.match(/^66(|e)$/)) ||
+            (targ.isa.match(/^674$/)) || (targ.isa.match(/^v7M(|4)$/)))) {
+        continue;
+    }
 
     /* Build for all profiles */
     for (var profile in targ.profiles) {
index aceab31801a848ac70a0b6af30d9655db720741e..22f4dbfbd38f33da896a5c1865cfbf744ca16831 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
@@ -63,7 +63,14 @@ Pkg.generatedFiles.$add("lib/");
 for (var i = 0; i < Build.targets.length; i++) {
     var targ = Build.targets[i];
 
-//    print("targ.name = " + targ.name);
+    /*
+     *  Only devices with an rpmsg-enabled HLOS and a slave would need this
+     *  library.  Skip targets that will never need this.
+     */
+    if (!((targ.isa.match(/^64T$/)) || (targ.isa.match(/^66(|e)$/)) ||
+            (targ.isa.match(/^674$/)) || (targ.isa.match(/^v7M(|4)$/)))) {
+        continue;
+    }
 
     /* Build for all profiles */
     for (var profile in targ.profiles) {
index 6db7786b069658fab4705dd17cb6943e7910882b..b68ae2aea0d167a665959d3f6716a37bdbfe060f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012-2013, Texas Instruments Incorporated
+ * Copyright (c) 2012-2014, Texas Instruments Incorporated
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -55,6 +55,15 @@ var myCopts = "";
 for (var i = 0; i < Build.targets.length; i++) {
     var targ = Build.targets[i];
 
+    /*
+     *  Only devices with an rpmsg-enabled HLOS and a slave would need this
+     *  library.  Skip targets that will never need this.
+     */
+    if (!((targ.isa.match(/^64T$/)) || (targ.isa.match(/^66(|e)$/)) ||
+            (targ.isa.match(/^674$/)) || (targ.isa.match(/^v7M(|4)$/)))) {
+        continue;
+    }
+
     if (targ.$name.match(/^ti\.targets\.*/)) {
         myCopts = "--gcc";  /* Rpmsg.h requires gcc-isms */
     } else {
index cfe01936a0eb6e090b64bf863745709ae4db06de..47f1ce8d8a827e6d1cc5a2b85d2fcae0e51579ba 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
@@ -88,6 +88,15 @@ for (var i = 0; i < libArray.length; i++) {
     for (var j = 0; j < Build.targets.length; j++) {
         var targ = Build.targets[j];
 
+        /*
+         *  Only devices with an rpmsg-enabled HLOS and a slave would need this
+         *  library.  Skip targets that will never need this.
+         */
+        if (!((targ.isa.match(/^64T$/)) || (targ.isa.match(/^66(|e)$/)) ||
+                (targ.isa.match(/^674$/)) || (targ.isa.match(/^v7M(|4)$/)))) {
+            continue;
+        }
+
         /* skip target if it does not generate code for the given isa */
         if ("isas" in lib) {
             var skipTarget = true;