Patchwork [2/2] ti-codec-engine: make rebuild of ti-codec-engine itself possible

login
register
mail settings
Submitter Henning Heinold
Date March 18, 2011, 10:24 a.m.
Message ID <1300443871-31113-3-git-send-email-heinold@inf.fu-berlin.de>
Download mbox | patch
Permalink /patch/1591/
State New, archived
Headers show

Comments

Henning Heinold - March 18, 2011, 10:24 a.m.
From: Henning Heinold <heinold@inf.fu-berlin.de>


Signed-off-by: Henning Heinold <heinold@inf.fu-berlin.de>
---
 recipes/ti/ti-codec-engine.inc                    |  117 +++++++++++++++++++++
 recipes/ti/ti-codec-engine/fix_core_package.patch |   13 +++
 recipes/ti/ti-codec-engine/fix_ipc_dsplink.patch  |   86 +++++++++++++++
 recipes/ti/ti-codec-engine_2.26.01.09.bb          |    4 +
 4 files changed, 220 insertions(+), 0 deletions(-)
 create mode 100644 recipes/ti/ti-codec-engine/fix_core_package.patch
 create mode 100644 recipes/ti/ti-codec-engine/fix_ipc_dsplink.patch

Patch

diff --git a/recipes/ti/ti-codec-engine.inc b/recipes/ti/ti-codec-engine.inc
index fdaebd5..9e8a8ad 100644
--- a/recipes/ti/ti-codec-engine.inc
+++ b/recipes/ti/ti-codec-engine.inc
@@ -64,6 +64,107 @@  do_configure() {
     sed -i  \
         -e s:arm-none-linux-gnueabi-:${TARGET_PREFIX}:g \
         ${S}/examples/xdcpaths.mak
+
+    # Generate a config.bld for codec engine lib
+
+    cat > ${S}/packages/ti/sdo/ce/config.bld <<EOF
+
+/* Generated by ti-codeco-engine.inc OE recipe */
+
+var Build = xdc.useModule('xdc.bld.BuildEnvironment');
+
+var GCArmv5T = xdc.useModule('gnu.targets.arm.GCArmv5T');
+GCArmv5T.LONGNAME = "bin/${TARGET_PREFIX}gcc";
+GCArmv5T.rootDir = "${TOOLCHAIN_PATH}";
+GCArmv5T.ccOpts.prefix += " -Wall -fno-strict-aliasing -I${FC_INSTALL_DIR}/packages -I${XDAIS_INSTALL_DIR}/packages ";
+GCArmv5T.platform = null;
+GCArmv5T.platforms = [
+    "${XDC_PLATFORM}"
+];
+
+/* remove profiles we don't use */
+delete GCArmv5T.profiles["coverage"];
+delete GCArmv5T.profiles["profile"];
+
+Build.targets.\$add(GCArmv5T);
+
+var C64P = xdc.useModule('ti.targets.C64P');
+C64P.rootDir = "${CODEGEN_INSTALL_DIR}";
+C64P.ccOpts.prefix += " -I${FC_INSTALL_DIR}/packages -I${XDAIS_INSTALL_DIR}/packages ";
+
+Build.targets.\$add(C64P);
+EOF
+
+    cat > ${S}/packages/ti/sdo/ce/osal/linux/config.bld <<EOF
+
+/* Generated by ti-codeco-engine.inc OE recipe */
+
+var Build = xdc.useModule('xdc.bld.BuildEnvironment');
+
+var GCArmv5T = xdc.useModule('gnu.targets.arm.GCArmv5T');
+GCArmv5T.LONGNAME = "bin/${TARGET_PREFIX}gcc";
+GCArmv5T.rootDir = "${TOOLCHAIN_PATH}";
+GCArmv5T.ccOpts.prefix += " -Wall -fno-strict-aliasing -I${FC_INSTALL_DIR}/packages -I${CMEM_INSTALL_DIR}/packages ";
+GCArmv5T.platform = null;
+GCArmv5T.platforms = [
+    "${XDC_PLATFORM}"
+];
+
+/* remove profiles we don't use */
+delete GCArmv5T.profiles["coverage"];
+delete GCArmv5T.profiles["profile"];
+
+Build.targets.\$add(GCArmv5T);
+
+EOF
+
+    cat > ${S}/packages/ti/sdo/ce/ipc/dsplink/config.bld <<EOF
+
+/* Generated by ti-codeco-engine.inc OE recipe */
+
+var Build = xdc.useModule('xdc.bld.BuildEnvironment');
+
+var GCArmv5T = xdc.useModule('gnu.targets.arm.GCArmv5T');
+GCArmv5T.LONGNAME = "bin/${TARGET_PREFIX}gcc";
+GCArmv5T.rootDir = "${TOOLCHAIN_PATH}";
+GCArmv5T.ccOpts.prefix += " -Wall -fno-strict-aliasing -I${FC_INSTALL_DIR}/packages "
+GCArmv5T.ccOpts.prefix += " -I${CMEM_INSTALL_DIR}/packages -I${LPM_INSTALL_DIR}/packages ";
+GCArmv5T.platform = null;
+GCArmv5T.platforms = [
+    "${XDC_PLATFORM}"
+];
+
+/* remove profiles we don't use */
+delete GCArmv5T.profiles["coverage"];
+delete GCArmv5T.profiles["profile"];
+
+Build.targets.\$add(GCArmv5T);
+
+EOF
+
+    cat > ${S}/packages/ti/dsplink/utils/ladclient/config.bld <<EOF
+
+/* Generated by ti-codeco-engine.inc OE recipe */
+
+var Build = xdc.useModule('xdc.bld.BuildEnvironment');
+
+var GCArmv5T = xdc.useModule('gnu.targets.arm.GCArmv5T');
+GCArmv5T.LONGNAME = "bin/${TARGET_PREFIX}gcc";
+GCArmv5T.rootDir = "${TOOLCHAIN_PATH}";
+GCArmv5T.ccOpts.prefix += " -Wall -fno-strict-aliasing "
+GCArmv5T.platform = null;
+GCArmv5T.platforms = [
+    "${XDC_PLATFORM}"
+];
+
+/* remove profiles we don't use */
+delete GCArmv5T.profiles["coverage"];
+delete GCArmv5T.profiles["profile"];
+
+Build.targets.\$add(GCArmv5T);
+
+EOF
+
 }
 
 do_prepsources() {
@@ -98,6 +199,22 @@  addtask prepsources after do_configure before do_compile
 
 do_compile () {
 
+        cd ${S}/packages/ti/sdo/ce
+           ${XDC_INSTALL_DIR}/xdc
+
+        cd ${S}/packages/ti/sdo/ce/osal/linux
+           ${XDC_INSTALL_DIR}/xdc
+
+	cd ${S}/packages/ti/sdo/ce/ipc/dsplink
+           make XDC_INSTALL_DIR="${XDC_INSTALL_DIR}" \
+                CE_INSTALL_DIR="${S}" \
+		DSPLINK_REPO="${LINK_INSTALL_DIR}" \
+                XDCARGS="DEVICE=${CEEXAMPLESDEVICES}"
+
+
+        cd ${S}/packages/ti/dsplink/utils/ladclient
+           ${XDC_INSTALL_DIR}/xdc
+
         for i in codecs extensions servers apps ; do
                 cd ${S}/examples/ti/sdo/ce/examples/$i
                 make DEVICES="${CEEXAMPLESDEVICES}" \
diff --git a/recipes/ti/ti-codec-engine/fix_core_package.patch b/recipes/ti/ti-codec-engine/fix_core_package.patch
new file mode 100644
index 0000000..69ca438
--- /dev/null
+++ b/recipes/ti/ti-codec-engine/fix_core_package.patch
@@ -0,0 +1,13 @@ 
+Index: codec_engine_2_26_01_09/packages/ti/sdo/ce/package.bld
+===================================================================
+--- codec_engine_2_26_01_09.orig/packages/ti/sdo/ce/package.bld	2011-03-12 14:37:00.515568120 +0100
++++ codec_engine_2_26_01_09/packages/ti/sdo/ce/package.bld	2011-03-12 14:37:04.174063120 +0100
+@@ -45,6 +45,8 @@
+  */
+ Pkg.attrs.exportSrc = true;
+ 
++Pkg.libTemplate = "ti/sdo/ce/utils/libvers.xdt"
++
+ Pkg.otherFiles = ["CERuntime.h", "Server.h", "Engine.h", "visa.h", "skel.h",
+         "rms.h", "ServerDataSheet.html.xdt", "async-extensions.txt",
+         "package.bld"];
diff --git a/recipes/ti/ti-codec-engine/fix_ipc_dsplink.patch b/recipes/ti/ti-codec-engine/fix_ipc_dsplink.patch
new file mode 100644
index 0000000..06f362c
--- /dev/null
+++ b/recipes/ti/ti-codec-engine/fix_ipc_dsplink.patch
@@ -0,0 +1,86 @@ 
+Index: codec_engine_2_26_01_09/packages/ti/sdo/ce/ipc/dsplink/package.bld
+===================================================================
+--- codec_engine_2_26_01_09.orig/packages/ti/sdo/ce/ipc/dsplink/package.bld	2011-03-12 16:42:42.508013119 +0100
++++ codec_engine_2_26_01_09/packages/ti/sdo/ce/ipc/dsplink/package.bld	2011-03-12 17:05:14.163503119 +0100
+@@ -67,6 +67,15 @@
+           "package will not be built.");
+ }
+ 
++var DEVICE;
++
++/* initialize local vars with those set in xdcpaths.mak (via XDCARGS) */
++for (x = 0; x < arguments.length; x++) {
++    if (arguments[x].match(/^DEVICE=/)) {
++        DEVICE = arguments[x].split("=")[1];
++    }
++}
++
+ for (var i = 0; i < Build.targets.length; i++) {
+     var targ = Build.targets[i];
+     var lib;
+@@ -77,8 +86,11 @@
+     }
+ 
+     if ((":"+targ.getISAChain().join(":")+":").match(/:v5T:|:v6:/i)) {
+-        /* DM6446 */
++
+         linkGppGlobal.runtimeOS = linkGppGlobal.LINUX;
++
++     if (DEVICE.match(/DM6446|DM6467/)) {
++        /* DM6446 */
+         linkGppGlobal.deviceName = linkGppGlobal.DAVINCI;
+ 
+         lib = Pkg.addLibrary("lib/release/ipc_dsplink_6446", targ, {
+@@ -121,7 +133,7 @@
+         lib.addObjects([
+             "Processor_dsplink_linkcfg_DM6467.c"
+         ]);
+-
++     } else if (DEVICE.match(/OMAP2530/)) {
+         /* OMAP2530 */
+         linkGppGlobal.deviceName = linkGppGlobal.OMAP2530;
+ 
+@@ -144,6 +156,8 @@
+             "Processor_dsplink_linkcfg_OMAP2530.c"
+         ]);
+ 
++      } else if(DEVICE.match(/OMAP3530/)) {
++
+         /* OMAP3530 */
+         linkGppGlobal.deviceName = linkGppGlobal.OMAP3530;
+ 
+@@ -166,6 +180,8 @@
+             "Processor_dsplink_linkcfg_OMAP3530.c"
+         ]);
+ 
++      } else if(DEVICE.match(/DM355|DM365/)) {
++
+         /* DM357 */
+         linkGppGlobal.deviceName = linkGppGlobal.DM357;
+ 
+@@ -188,6 +204,8 @@
+             "Processor_dsplink_linkcfg_DM357.c"
+         ]);
+ 
++      } else if(DEVICE.match(/OMAPL137/)) {
++
+         /* OMAPL137 */
+         linkGppGlobal.deviceName = linkGppGlobal.OMAPL1XX;
+ 
+@@ -210,6 +228,8 @@
+             "Processor_dsplink_linkcfg_OMAPL137.c"
+         ]);
+ 
++      } else if(DEVICE.match(/OMAPL138/)) {
++
+         /* OMAPL138 */
+         linkGppGlobal.deviceName = linkGppGlobal.OMAPL138;
+ 
+@@ -231,6 +251,7 @@
+         lib.addObjects([
+             "Processor_dsplink_linkcfg_OMAPL138.c"
+         ]);
++      }
+     }
+     else {
+         if ((":"+targ.getISAChain().join(":")+":").match(/:v4T:/i)) {
diff --git a/recipes/ti/ti-codec-engine_2.26.01.09.bb b/recipes/ti/ti-codec-engine_2.26.01.09.bb
index ca28522..2cd8bed 100644
--- a/recipes/ti/ti-codec-engine_2.26.01.09.bb
+++ b/recipes/ti/ti-codec-engine_2.26.01.09.bb
@@ -2,5 +2,9 @@  require ti-codec-engine.inc
 
 PV = "2_26_01_09"
 
+SRC_URI += "file://fix_core_package.patch \
+            file://fix_ipc_dsplink.patch \
+           "
+
 SRC_URI[cetarball.md5sum] = "d6046f29926b949b9eae4599f42dd51e"
 SRC_URI[cetarball.sha256sum] = "4db08e47abb62b1180eb2310f5d0bbad2d1f58702a61d157dca5e056388dc7c2"