ti-dsplib: Add TI 64x+ DSPLIB support to OE
authorRoger Monk <r-monk@ti.com>
Thu, 25 Feb 2010 18:59:29 +0000 (18:59 +0000)
committerKoen Kooi <koen@openembedded.org>
Mon, 12 Apr 2010 17:43:19 +0000 (19:43 +0200)
   * Download, Unpack and Stage DSPLIB kernels
   * Download is tgz, but named gz + contains IJ installer
      * Add custom unpack for this
   * Multimedia Common path addition (DSPLIB/CODEC)

Signed-off-by: Roger Monk <r-monk@ti.com>
Signed-off-by: Koen Kooi <k-kooi@ti.com>
recipes/ti/ti-dsplib_2.10.bb [new file with mode: 0644]
recipes/ti/ti-multimedia-common.inc

diff --git a/recipes/ti/ti-dsplib_2.10.bb b/recipes/ti/ti-dsplib_2.10.bb
new file mode 100644 (file)
index 0000000..8e26092
--- /dev/null
@@ -0,0 +1,79 @@
+DESCRIPTION = "TI DSPLIB Optimised DSP Library"
+HOMEPAGE = "http://focus.ti.com/docs/toolsw/folders/print/sprc265.html"
+SECTION = "multimedia"
+
+# TODO : Add variants for 67x/674x/etc
+# TODO : Add compile step to enable rebuild
+
+PV = "1_20"
+
+SRC_URI[dsplibgz.md5sum] = "0e9f0fc05b17d8eefc6117f36ecd576e"
+SRC_URI[dsplibgz.sha256sum] = "96e320a3dcb8b238e5245a36b26c2f7f1d00a8467ab65d6c5c93f5f57c891252"
+
+PR = "r1"
+
+require ti-paths.inc
+require ti-staging.inc
+require ti-eula-unpack.inc
+
+S = "${WORKDIR}/C64x+DSPLIB/dsplib_v210"
+
+SRC_URI = "http://focus.ti.com/lit/sw/sprc834/sprc834.gz;name=dsplibgz"
+
+#Later this will have dependencies when we rebuild the libraries/examples
+#DEPENDS = "ti-cgt6x ti-xdctools ti-dspbios ti-codec-engine" 
+
+PRETARFILE="sprc834"
+BINFILE="C64x+DSPLIB-2.1-Linux-Install.bin"
+TI_BIN_UNPK_CMDS="Y:workdir:"
+
+python do_unpack () {
+    bb.build.exec_func('base_do_unpack', d)
+    bb.build.exec_func('ti_pretar_do_unpack', d)
+    bb.build.exec_func('ti_bin_do_unpack', d)
+}
+
+python ti_pretar_do_unpack() {
+
+    import os
+
+    localdata = bb.data.createCopy(d)
+    bb.data.update_data(localdata)
+
+    # Change to the working directory
+    save_cwd = os.getcwd()
+    workdir  = bb.data.getVar('WORKDIR', localdata)
+    workdir  = bb.data.expand(workdir, localdata)
+    os.chdir(workdir)
+
+    # Expand the tarball that was created if required
+    tarfile  = bb.data.getVar('PRETARFILE', localdata)    
+    if bool(tarfile) == True:
+        tarfile  = bb.data.expand(tarfile, localdata)
+        tcmd = 'tar x --no-same-owner -f %s -C %s' % (tarfile, workdir)
+        os.system(tcmd)
+
+    # Return to the previous directory
+    os.chdir(save_cwd)
+}
+
+do_prepsources() {
+    echo "Do Nothing for Now" 
+}
+
+addtask prepsources after do_configure before do_compile
+
+do_compile() {
+    echo "Do Nothing for Now"
+}
+
+do_install() {
+
+    install -d ${D}${DSPLIB_INSTALL_DIR_RECIPE}
+    cp -pPrf ${S}/* ${D}${DSPLIB_INSTALL_DIR_RECIPE}
+}
+
+
+
+
+
index f0af5f8..badde38 100644 (file)
@@ -10,7 +10,6 @@ export CSTOOL_PREFIX="${TARGET_PREFIX}"
 export CSTOOL_DIR="${TOOLCHAIN_PATH}"
 export LINUXKERNEL_INSTALL_DIR=${STAGING_KERNEL_DIR}
 
-export CODEC_INSTALL_DIR = "${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/ti-codecs"
 
 export LINUXLIBS_INSTALL_DIR  = "${STAGING_DIR_HOST}/usr"
 export LINUXKERNEL_INSTALL_DIR = "${STAGING_KERNEL_DIR}"
@@ -22,7 +21,6 @@ export XDAIS_INSTALL_DIR_RECIPE      = "${installdir}/ti-xdais-tree"
 export BIOS_INSTALL_DIR_RECIPE       = "${installdir}/ti-dspbios-tree"
 export BIOSUTILS_INSTALL_DIR_RECIPE  = "${installdir}/ti-biosutils-tree"
 export FC_INSTALL_DIR_RECIPE         = "${installdir}/ti-framework-components-tree"
-
 export CE_INSTALL_DIR_RECIPE         = "${installdir}/ti-codec-engine-tree"
 export EDMA3_LLD_INSTALL_DIR_RECIPE  = "${installdir}/ti-edma3lld-tree"
 export LINUXUTILS_INSTALL_DIR_RECIPE = "${installdir}/ti-linuxutils-tree"
@@ -30,6 +28,8 @@ export CMEM_INSTALL_DIR_RECIPE       = "${installdir}/ti-linuxutils-tree"
 export LINK_INSTALL_DIR_RECIPE       = "${installdir}/ti-dsplink-tree/packages"
 export LPM_INSTALL_DIR_RECIPE        = "${installdir}/ti-local-power-manager-tree"
 export DMAI_INSTALL_DIR_RECIPE       = "${installdir}/ti-dmai-tree"
+export CODEC_INSTALL_DIR_RECIPE      = "${installdir}/ti-codecs-tree"
+export DSPLIB_INSTALL_DIR_RECIPE     = "${installdir}/ti-dsplib-tree"
 
 # This is where the tools will end up in staging provided PACKAGE_ARCH = ${MACHINE_ARCH} is set
 export CODEGEN_INSTALL_DIR    = "${STAGING_DIR}/${MULTIMACH_TARGET_SYS}${CODEGEN_INSTALL_DIR_RECIPE}"
@@ -38,7 +38,6 @@ export XDAIS_INSTALL_DIR      = "${STAGING_DIR}/${MULTIMACH_TARGET_SYS}${XDAIS_I
 export BIOS_INSTALL_DIR       = "${STAGING_DIR}/${MULTIMACH_TARGET_SYS}${BIOS_INSTALL_DIR_RECIPE}"
 export BIOSUTILS_INSTALL_DIR  = "${STAGING_DIR}/${MULTIMACH_TARGET_SYS}${BIOSUTILS_INSTALL_DIR_RECIPE}"
 export FC_INSTALL_DIR         = "${STAGING_DIR}/${MULTIMACH_TARGET_SYS}${FC_INSTALL_DIR_RECIPE}"
-
 export CE_INSTALL_DIR         = "${STAGING_DIR}/${MULTIMACH_TARGET_SYS}${CE_INSTALL_DIR_RECIPE}"
 export EDMA3_LLD_INSTALL_DIR  = "${STAGING_DIR}/${MULTIMACH_TARGET_SYS}${EDMA3_LLD_INSTALL_DIR_RECIPE}"
 export LINUXUTILS_INSTALL_DIR = "${STAGING_DIR}/${MULTIMACH_TARGET_SYS}${LINUXUTILS_INSTALL_DIR_RECIPE}"
@@ -46,6 +45,8 @@ export CMEM_INSTALL_DIR       = "${STAGING_DIR}/${MULTIMACH_TARGET_SYS}${CMEM_IN
 export LINK_INSTALL_DIR       = "${STAGING_DIR}/${MULTIMACH_TARGET_SYS}${LINK_INSTALL_DIR_RECIPE}"
 export LPM_INSTALL_DIR        = "${STAGING_DIR}/${MULTIMACH_TARGET_SYS}${LPM_INSTALL_DIR_RECIPE}"
 export DMAI_INSTALL_DIR       = "${STAGING_DIR}/${MULTIMACH_TARGET_SYS}${DMAI_INSTALL_DIR_RECIPE}"
+export CODEC_INSTALL_DIR      = "${STAGING_DIR}/${MULTIMACH_TARGET_SYS}${CODEC_INSTALL_DIR_RECIPE}"
+export DSPLIB_INSTALL_DIR     = "${STAGING_DIR}/${MULTIMACH_TARGET_SYS}${DSPLIB_INSTALL_DIR_RECIPE}"
 
 export USER_XDC_PATH    = "${CE_INSTALL_DIR}/examples"
 export XDC_TARGET       = gnu.targets.arm.GCArmv5T