codec-engine: Added RREPLACES for dsplink packages - bumped PR
[vuplus_openembedded] / packages / dsplink / dsplink.inc
1 DESCRIPTION = "DSP Link for TI ARM/DSP processors"
2
3 DEPENDS = "virtual/kernel perl-native"
4
5 inherit module
6
7 do_configure () {
8         # Clean up stale binaries
9         find ${S} -name "*.ko" -exec rm {} \; || true
10         find ${S} -name "*.o" -exec rm {} \; || true
11
12         # Run perl script to create appropriate makefiles (v1.60 and up)
13         (
14         cd ${DSPLINK}
15         perl config/bin/dsplinkcfg.pl --platform=${DSPLINKPLATFORM} --nodsp=1 --dspcfg_0=${DSPCFG} --dspos_0=DSPBIOS5XX  --gppos=${GPPOS} --comps=ponslrm
16         )
17 }
18
19 do_compile () {
20         unset DISPLAY
21         sed -i -e s:armv7a:armv7-a:g ${DSPLINK}/make/Linux/omap3530_2.6.mk
22
23         # export various settings to override the defaults in the makefiles     
24         export DSP_BASE_CGTOOLS=${TITOOLSDIR}/${TICGTOOLSDIR}
25         export DSP_BASE_BIOS=${TITOOLSDIR}/${TIBIOSDIR}
26         export DSP_BASE_RTDX=${TITOOLSDIR}/${TIBIOSDIR}/packages/ti/rtdx
27         export GPPTOOL_DIR=${CROSS_DIR}
28         export LINUXKERNEL_INSTALL_DIR=${STAGING_KERNEL_DIR}
29         export LINK_INSTALL_DIR=${DSPLINK}
30         export VARIANT=${DSPLINKSOC}
31         export PLATFORM=${DSPLINKPLATFORM}
32         export BASE_TOOLCHAIN=${CROSS_DIR}
33         export BASE_CGTOOLS=${BASE_TOOLCHAIN}/bin
34         # 'OSINC_PLATFORM' is used in both the dsp and gpp sides...     
35         export OSINC_PLATFORM1=${CROSS_DIR}/lib/gcc/${TARGET_SYS}/$(${TARGET_PREFIX}gcc -dumpversion)/include
36         export OSINC_TARGET=${BASE_TOOLCHAIN}/target/usr/include
37
38         # 'ARCHIVER' is being used in the dsp side of the build as well as gpp
39         export ARCHIVER_AR=${TARGET_PREFIX}ar
40         export BASE_SABIOS=${DSP_BASE_BIOS}
41         
42     #dsplinkk.ko bits
43         if [ ! -d ${DSPLINK}/gpp/BUILD/EXPORT/RELEASE ] ; then 
44                 install -d ${DSPLINK}/gpp/BUILD/EXPORT/RELEASE
45         fi
46
47         cp ${WORKDIR}/Makefile-dsplink-gpp ${DSPLINK}/gpp/BUILD/EXPORT/RELEASE/Makefile
48         cd ${DSPLINK}/gpp/BUILD/EXPORT/RELEASE/
49
50         unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
51         export KDIR=${STAGING_KERNEL_DIR}
52
53         make -e driver
54         make -e library
55         make -e samples
56
57         make -e -f ${WORKDIR}/Makefile-dsplink-dsp
58         cp -a * ${DSPLINK}/gpp/export/BIN/Linux/${DSPLINKPLATFORM}/RELEASE
59 }
60
61 do_install () {
62     #driver - kernel module
63         install -d ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp
64         cp ${DSPLINK}/gpp/BUILD/EXPORT/RELEASE/dsplinkk.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp/ 
65
66     #library
67         install -d ${D}/${libdir}
68         install -m 0755 ${DSPLINK}/gpp/BUILD/EXPORT/RELEASE/dsplink.lib  ${D}/${libdir}
69
70     #sample apps
71         install -d ${D}/${datadir}/ti-dsplink
72         install ${DSPLINK}/gpp/BUILD/EXPORT/RELEASE/*gpp ${D}/${datadir}/ti-dsplink || true
73         for i in $(find ${DSPLINK}/dsp/BUILD/ -name "*.out") ; do
74                 install ${i} ${D}/${datadir}/ti-dsplink
75         done
76 }
77
78 # Codec Engine and friends need a complete tree, so stage it all
79 do_stage() {
80         install -d ${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/${PN}
81         cp -pPrf ${S}/* ${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/${PN}/ 
82 }
83
84 PACKAGES =+ "ti-dsplink-module ti-dsplink-apps"
85 FILES_ti-dsplink-module  = "/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp/dsplinkk.ko"
86 FILES_ti-dsplink-apps = "${datadir}/ti-dsplink/* ${libdir}/dsplink.lib"
87
88 pkg_postinst_ti-dsplink-module () {
89         if [ -n "$D" ]; then
90                 exit 1
91         fi
92         depmod -a
93         update-modules || true
94 }
95
96 pkg_postrm_ti-dsplink-module () {
97         update-modules || true
98 }
99
100 INHIBIT_PACKAGE_STRIP = "1"
101
102 PACKAGE_ARCH = "${MACHINE_ARCH}"
103
104 #legacy upgrade helpers
105 RPROVIDES_ti-dsplink-module += "dsplink-module"
106 RREPLACES_ti-dsplink-module += "dsplink-module"
107 RPROVIDES_ti-dsplink-apps += "dsplink-apps"
108 RREPLACES_ti_dsplink-apps += "dsplink-apps"
109
110 #add run-time dependencies - note for kernel module we can only use RRECOMMENDS, since modules might be built into the kernel
111 RRECOMMENDS_ti-dsplink-apps += "ti-dsplink-module"
112