dsp-link, codec-engine: move some stuff to inc files, clean up makefile, etc
authorKoen Kooi <koen@openembedded.org>
Thu, 23 Oct 2008 14:36:30 +0000 (16:36 +0200)
committerKoen Kooi <koen@openembedded.org>
Thu, 23 Oct 2008 14:36:30 +0000 (16:36 +0200)
packages/dsplink/codec-engine_2.21.bb
packages/dsplink/dsplink.inc
packages/dsplink/files/Makefile.dsplink
packages/dsplink/ti-paths.inc

index 3fefd24..2e79e78 100644 (file)
@@ -6,7 +6,7 @@ RDEPENDS = "update-modules"
 inherit module
 
 # tconf from xdctools dislikes '.' in pwd :/
-PR = "r0"
+PR = "r1"
 PV = "221"
 
 # Get CE tarball from TI website, place in sources and calculate
@@ -14,17 +14,47 @@ PV = "221"
 # Look for tarball at https://www-a.ti.com/downloads/sds_support/targetcontent/CE/index.html
 
 SRC_URI = "http://install.tarball.in.source.dir/codec_engine_2_21_00_06.tar.gz \
+           file://Makefile.dsplink \
           "
 
 S = "${WORKDIR}/codec_engine_2_21_00_06"
 
 require ti-paths.inc
 
-DSPPOWERSOC ?= "dm6446"
-DSPPOWERSOC_beagleboard = "omap3530"
+export DSPLINK="${S}/cetools/packages/dsplink"
 
 PARALLEL_MAKE = ""
+
+do_configure () {
+       # Run perl script to create appropriate makefiles (v1.60 and up)
+       perl ${S}/cetools/packages/dsplink/config/bin/dsplinkcfg.pl --platform=${DSPLINKPLATFORM} --nodsp=1 --dspcfg_0=${DSPCFG} --dspos_0=DSPBIOS5XX  --gppos=${GPPOS} --comps=ponslrm
+}
+
 do_compile() {
+    unset DISPLAY
+    sed -i -e s:armv7a:armv7-a:g make/Linux/omap3530_2.6.mk || true
+
+    # export various settings to override the defaults in the makefiles
+    export DSP_BASE_CGTOOLS=${TITOOLSDIR}/${TICGTOOLSDIR}
+    export DSP_BASE_BIOS=${TITOOLSDIR}/${TIBIOSDIR}
+    export DSP_BASE_RTDX=${TITOOLSDIR}/${TIBIOSDIR}/packages/ti/rtdx
+    export GPPTOOL_DIR=${CROSS_DIR}
+    export LINUXKERNEL_INSTALL_DIR=${STAGING_KERNEL_DIR}
+    export LINK_INSTALL_DIR=${DSPLINK}
+    export VARIANT=${DSPLINKSOC}
+    export PLATFORM=${DSPLINKPLATFORM}
+    export BASE_TOOLCHAIN=${CROSS_DIR}
+    export BASE_CGTOOLS=${BASE_TOOLCHAIN}/bin
+    # 'OSINC_PLATFORM' is used in both the dsp and gpp sides...
+    export OSINC_PLATFORM1=${CROSS_DIR}/lib/gcc/${TARGET_SYS}/$(${TARGET_PREFIX}gcc -dumpversion)/include
+    export OSINC_TARGET=${BASE_TOOLCHAIN}/target/usr/include
+
+    # 'ARCHIVER' is being used in the dsp side of the build as well as gpp
+    export ARCHIVER_AR=${TARGET_PREFIX}ar
+    export BASE_SABIOS=${DSP_BASE_BIOS}
+   
+    make -e -f ${WORKDIR}/Makefile.dsplink
+
        echo "MVTOOL_PREFIX=${TARGET_PREFIX}" > ${S}/Rules.make         
        echo "UCTOOL_PREFIX=${TARGET_PREFIX}" >> ${S}/Rules.make
        echo "LINUXKERNEL_INSTALL_DIR=${STAGING_KERNEL_DIR}"  >> ${S}/Rules.make
@@ -124,8 +154,8 @@ do_install() {
 }
 
 do_stage() {
-       # We'll probably need to stage the complete tree...
-       :
+    install -d ${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/codecengine
+    cp -pPr ${S}/* ${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/codecengine/
 }
 
 INHIBIT_PACKAGE_STRIP = "1"
index da71d7d..9955d4d 100644 (file)
@@ -9,38 +9,13 @@ inherit module
 S = "${WORKDIR}/dsplink_1_60/dsplink"
 
 # Needed for buildscripts
-export DSPLINK = "${S}"
+export DSPLINK="${S}"
 
 require ti-paths.inc
 
-DSPLINKPLATFORM ?= "DAVINCI"
-DSPLINKPLATFORM_omap5912osk = "OMAP"
-DSPLINKPLATFORM_beagleboard = "OMAP3530"
-DSPLINKPLATFORM_davinci-sffsdr = "DAVINCI"
-DSPLINKPLATFORM_davinci-dvevm = "DAVINCI"
-
-DSPLINKDSP ?= "C64XX"
-
-DSPLINKSOC ?= "DM6446"
-DSPLINKSOC_beagleboard = "3530"
-
-DSPCFG ?= "DM6446GEMSHMEM"
-DSPCFG_beagleboard ?= "OMAP3530SHMEM"
-
-GPPOS ?= "MVL5G"
-GPPOS_beagleboard = "OMAPLSP"
-
-export DSPLINKPLATFORM 
-export DSPLINKDSP
-export DSPLINKSOC
-export DSPCFG
-export GPPOS
-
 do_configure () {
-
-# Run perl script to create appropriate makefiles (v1.60 and up)
-DSPLINK=${S} perl config/bin/dsplinkcfg.pl --platform=${DSPLINKPLATFORM} --nodsp=1 --dspcfg_0=${DSPCFG} --dspos_0=DSPBIOS5XX  --gppos=${GPPOS} --comps=ponslrm
-
+       # Run perl script to create appropriate makefiles (v1.60 and up)
+       perl config/bin/dsplinkcfg.pl --platform=${DSPLINKPLATFORM} --nodsp=1 --dspcfg_0=${DSPCFG} --dspos_0=DSPBIOS5XX  --gppos=${GPPOS} --comps=ponslrm
 }
 
 PARALLEL_MAKE = ""
@@ -55,13 +30,16 @@ do_compile () {
        export DSP_BASE_RTDX=${TITOOLSDIR}/${TIBIOSDIR}/packages/ti/rtdx
        export GPPTOOL_DIR=${CROSS_DIR}
        export LINUXKERNEL_INSTALL_DIR=${STAGING_KERNEL_DIR}
-       export LINK_INSTALL_DIR=${S}
+       export LINK_INSTALL_DIR=${DSPLINK}
        export VARIANT=${DSPLINKSOC}
        export PLATFORM=${DSPLINKPLATFORM}
        export BASE_TOOLCHAIN=${CROSS_DIR}
        export BASE_CGTOOLS=${BASE_TOOLCHAIN}/bin
+       # 'OSINC_PLATFORM' is used in both the dsp and gpp sides...     
        export OSINC_PLATFORM1=${CROSS_DIR}/lib/gcc/${TARGET_SYS}/$(${TARGET_PREFIX}gcc -dumpversion)/include
        export OSINC_TARGET=${BASE_TOOLCHAIN}/target/usr/include
+
+       # 'ARCHIVER' is being used in the dsp side of the build as well as gpp
        export ARCHIVER_AR=${TARGET_PREFIX}ar
        export BASE_SABIOS=${DSP_BASE_BIOS}
        
index 7156bcb..fdb8b42 100755 (executable)
@@ -6,27 +6,20 @@
 #include Rules.make
 
 PROJECT_BASE_DIR = $(shell pwd)
-LINUXKERNEL_INSTALL_DIR:=/home/rmonklocal/oe/angstrom-davinci-dvevm-tmp/staging/davinci-dvevm-angstrom-linux-gnueabi/kernel
-LINK_INSTALL_DIR := /home/rmonklocal/dsplink_1_51/dsplink
+LINUXKERNEL_INSTALL_DIR:=some-path/kernel
+LINK_INSTALL_DIR := some-path/dsplink_1_51/dsplink
 
 # The prefix to be added before the GNU compiler tools (optionally including
 # path), i.e. "arm_v5t_le-" or "/opt/bin/arm_v5t_le-".
-GPPTOOL_DIR:=/home/rmonklocal/oe/angstrom-davinci-dvevm-tmp/cross
+GPPTOOL_DIR:=some-path/cross
 
 # ---- DSP tools ----
-DSP_BASE_CGTOOLS    := /home/rmonklocal/opt/cg6x_6_0_19
-DSP_BASE_BIOS      := /home/rmonklocal/opt/bios_5_32_03
-DSP_BASE_RTDX      := /home/rmonklocal/opt/bios_5_32_03/packages/ti/rtdx
+DSP_BASE_CGTOOLS    := some-path/cg6x_6_0_19
+DSP_BASE_BIOS      := some-path/bios_5_32_03
+DSP_BASE_RTDX      := some-path/bios_5_32_03/packages/ti/rtdx
 OSINC_PLATFORM1     := something
 ARCHIVER_AR         := something
 
-# ---- get build host OS ----
-UNAME=$(shell uname)
-ifeq "$(UNAME)" "Linux"
-       BUILD_HOST_OS=Linux
-else
-       BUILD_HOST_OS=Solaris
-endif
 
 # ---- construct Link build make vars ----
 GPP_MAKE_OPTS :=  COMPILER=$(GPPTOOL_DIR)/bin/arm-angstrom-linux-gnueabi-gcc \
@@ -39,46 +32,6 @@ GPP_MAKE_OPTS :=  COMPILER=$(GPPTOOL_DIR)/bin/arm-angstrom-linux-gnueabi-gcc \
                  BASE_TOOLCHAIN=$(GPPTOOL_DIR) \
                  BASE_BUILDOS=$(LINUXKERNEL_INSTALL_DIR) \
                  ARCHIVER=$(ARCHIVER_AR) OSINC_PLATFORM=$(OSINC_PLATFORM1) \
-                 #STD_KRNL_FLAGS=\
-                  -include linux/autoconf.h -c -iwithprefix include -Iinclude -Wall  -Wstrict-prototypes \
-                   -Wno-trigraphs -fno-strict-aliasing -fno-common             \
-                   -fno-omit-frame-pointer -mapcs -mno-sched-prolog            \
-                   -mlittle-endian \
-                   -D__LINUX_ARM_ARCH__=5 -march=armv5t -mtune=arm9tdmi \
-                   -msoft-float -Uarm -mapcs                  \
-                   -Wdeclaration-after-statement -Os -marm  -mabi=aapcs-linux
-
-                 #STD_KRNL_FLAGS=\
-                       -nostdinc \
-                       -isystem /home/rmonklocal/oe/angstrom-davinci-dvevm-tmp/cross/lib/gcc/arm-angstrom-linux-gnueabi/4.2.4/include \
-                       -D__KERNEL__ \
-                       -Iinclude -include include/linux/autoconf.h \
-                       -mlittle-endian \
-                       -Wall \
-                       -Wundef \
-                       -Wstrict-prototypes \
-                       -Wno-trigraphs \
-                       -fno-strict-aliasing \
-                       -fno-common \
-                       -Werror-implicit-function-declaration \
-                       -Os \
-                       -fno-stack-protector \
-                       -marm \
-                       -fno-omit-frame-pointer \
-                       -mapcs \
-                       -mno-sched-prolog \
-                       -mabi=aapcs-linux \
-                       -mno-thumb-interwork \
-                       -D__LINUX_ARM_ARCH__=5 \
-                       -march=armv5te \
-                       -mtune=arm9tdmi \
-                       -msoft-float \
-                       -Uarm \
-                       -fno-omit-frame-pointer \
-                       -fno-optimize-sibling-calls \
-                       -Wdeclaration-after-statement \
-                       -Wno-pointer-sign \
-                       -c
 
 DSP_MAKE_OPTS :=  DSPLINK=$(DSPLINK) \
                   DPPROOT=$(DSPLINK)/dsp \
index b54f4bc..ba84155 100644 (file)
@@ -6,3 +6,29 @@ TIXDCTOOLSDIR ?= "${TITOOLSDIR}/xdctools_3_10_02"
 # Path under TITOOLSDIR where the dsp toolchain is unpacked
 TICGTOOLSDIR ?= "cg6x_6_0_19"
 
+DSPLINKPLATFORM ?= "DAVINCI"
+DSPLINKPLATFORM_omap5912osk = "OMAP"
+DSPLINKPLATFORM_beagleboard = "OMAP3530"
+DSPLINKPLATFORM_davinci-sffsdr = "DAVINCI"
+DSPLINKPLATFORM_davinci-dvevm = "DAVINCI"
+
+DSPLINKDSP ?= "C64XX"
+
+DSPLINKSOC ?= "DM6446"
+DSPLINKSOC_beagleboard = "3530"
+
+DSPCFG ?= "DM6446GEMSHMEM"
+DSPCFG_beagleboard ?= "OMAP3530SHMEM"
+
+GPPOS ?= "MVL5G"
+GPPOS_beagleboard = "OMAPLSP"
+
+export DSPLINKPLATFORM
+export DSPLINKDSP
+export DSPLINKSOC
+export DSPCFG
+export GPPOS
+
+DSPPOWERSOC ?= "dm6446"
+DSPPOWERSOC_beagleboard = "omap3530"
+