Merge branch 'org.openembedded.dev' of git@git.openembedded.net:openembedded into...
[vuplus_openembedded] / packages / dsplink / codec-engine_2.21.bb
1 require dsplink.inc
2
3 DESCRIPTION = "Codec Engine for TI ARM/DSP processors"
4
5 DEPENDS = "virtual/kernel perl-native"
6 RDEPENDS = "update-modules"
7
8 inherit module
9
10 # tconf from xdctools dislikes '.' in pwd :/
11 PR = "r7"
12 PV = "221"
13
14 # Get CE tarball from TI website, place in sources and calculate
15 # md5sum
16 # Look for tarball at https://www-a.ti.com/downloads/sds_support/targetcontent/CE/index.html
17
18 SRC_URI = "http://install.tarball.in.source.dir/codec_engine_2_21.tar.gz \
19            file://cmemk-class-device-27.diff \
20            file://Makefile.dsplink \
21            file://Makefile-dsplink-kbuild \
22            file://Makefile-dsplink-gpp \
23            file://Makefile-dsplink-dsp \
24 "
25
26 S = "${WORKDIR}/codec_engine_2_21"
27
28 require ti-paths.inc
29
30 export DSPLINK="${S}/cetools/packages/dsplink"
31
32 PARALLEL_MAKE = ""
33
34 # the include files on top define do_compile for the submodules 
35 do_compile_append() {
36         cd ${S}/examples
37
38         # Fix paths to arm crosstools, c6x codegen and x86 gcc
39         # Also disable uclibc and x86 builds
40         sed -i -e s:/db/toolsrc/library/tools/vendors/cs/arm/arm-2007q3:${CROSS_DIR}:g \
41         -e s:/db/toolsrc/library/tools/vendors/ti/c6x/6.0.16/Linux:${TITOOLSDIR}/${TICGTOOLSDIR}:g \
42         -e s:/db/toolsrc/library/tools/vendors/opensource/gcc/4.1.0/Linux/gcc-4.1.0-glibc-2.3.6/i686-unknown-linux-gnu:/usr:g \
43         -e s:arm-none-linux-gnueabi-:${TARGET_PREFIX}:g \
44         -e 's:true, // build for uC Linux:false,:g' \
45         -e 's:true,  // build for PC Linux:false,:g' \ 
46        ${S}/examples/user.bld
47
48         # Fix path to c6x codegen
49         sed -i -e s:/db/toolsrc/library/tools/vendors/ti/c6x/6.0.16/Linux:${TITOOLSDIR}/${TICGTOOLSDIR}:g \
50                 xdcpaths.mak
51         
52         # Start building the CE examples: codecs, extensions, servers (codec bundles) and ARM side apps 
53         # the DSP side uses CC to point to the c6x codegen, but would get the gcc tool
54         unset CC
55         # Make clean doesn't do what you'd expect, it only cleans stuff you've enabled, so some cruft remains   
56         for i in codecs extensions servers apps ; do
57                 make -e -C ${S}/examples/ti/sdo/ce/examples/$i clean    
58                 make -e -C ${S}/examples/ti/sdo/ce/examples/$i
59         done    
60
61 }
62
63
64 do_stage_append() {
65         install -d ${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/codecengine
66     cp -pPrf ${S}/* ${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/codecengine/
67         ln -sf ${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/codecengine/packages/ti/sdo/ce ${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/codecengine/cetools/packages/ti/sdo/
68 }
69
70 INHIBIT_PACKAGE_STRIP = "1"
71
72 FILES_${PN} = "${base_sbindir}"
73
74 PACKAGE_ARCH = "${MACHINE_ARCH}"