aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/dsplink/ti-codec-combos_3.16.bb
blob: dc1ef9f8b9f09e9528f6e5058faa6732ed95e8bf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
DESCRIPTION = "Codec combos for omap3530"
DEPENDS = "ti-codec-engine"
LICENCE = "unknown"

require ti-paths.inc

SRC_URI = "http://software-dl.ti.com/sdo/sdo_apps_public_sw/omap3530_dvsdk_combos_tspa/omap3530_dvsdk_combos_tspa-3_16-Linux-x86.bin \
    "

S = "${WORKDIR}/omap3530_dvsdk_combos_3_16"

# Yes, the xdc stuff still breaks with a '.' in PWD
PV = "316"
PR = "r14"

TARGET = "all"

export CE_INSTALL_DIR="${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/ti-codec-engine/packages;${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/ti-codec-engine/cetools"

# Needed for now since makefile in latest package assumes this is set
export CODEC_INSTALL_DIR="${S}"

# Helper function to run the binary installer and unpack the tar.gz in the same place as it was before - this could be optimised later
do_accept_license() {
        export HOME="${WORKDIR}"
	chmod +x ${WORKDIR}/omap3530_dvsdk_combos_tspa-3_16-Linux-x86.bin
        ${WORKDIR}/omap3530_dvsdk_combos_tspa-3_16-Linux-x86.bin --mode silent --prefix ${S}_install
        cd "${S}_install"
	tar -xzvf omap3530_dvsdk_combos_tspa_3_16.tar.gz
	if [ -d ${S} ] ; then 
            rm -rf ${S}
        fi
        mv omap3530_dvsdk_combos_tspa_3_16 ${S}
}

addtask accept_license after do_unpack before do_configure

do_compile() {

        # For now, remove the reference to Rules.make and swap prod for eval, since this only has eval libs included
        sed -i \
        -e '/Rules.make/d' \
        -e 's:$(FC_INSTALL_DIR)/packages;::g' \
        -e 's:$(XDAIS_INSTALL_DIR)/packages;::g' \
        -e 's:$(FC_INSTALL_DIR)/fctools/packages;::g' \
        -e 's:$(BIOSUTILS_INSTALL_DIR)/packages;::g' \
        -e 's:$(CMEM_INSTALL_DIR)/packages;::g' \
        -e 's:$(LINK_INSTALL_DIR)/packages;::g' \
        -e 's:$(LPM_INSTALL_DIR)/packages;::g' \
        -e s:prod:eval:g \
        ${S}/Makefile

        # Fix-up config.bld to swap out hardcoded references to tools paths
	sed -i -e s:/opt/dmsw/cg6x_6_0_16:${TITOOLSDIR}/${TICGTOOLSDIR}:g \
	${S}/config.bld

	# Add make target to allow package to be prepared for building (normally this package is a binary release)
        echo "makebuildable:
	\$(XDC) .make -PR .
" >> ${S}/Makefile

        oe_runmake makebuildable
	oe_runmake clean
	oe_runmake
}

do_install () {
	echo oe_runmake install

	install -d ${D}/${datadir}/ti-codec-combos

	cd ${S}

	# grab the server executables
	for i in $(find . -name "*.x64P") ; do
		install ${i} ${D}/${datadir}/ti-codec-combos
	done
	
	# copy the generated data sheets as well for reference
        #for i in $(find . -name "*.DataSheet.*") ; do

        # infact, just copy all the html files (including the server datasheets) from the distro
        #  - this includes top level html (with codec versions) + some qualiTI codec test reports
        for i in $(find . -name "*.html") ; do
                install ${i} ${D}/${datadir}/ti-codec-combos
        done

}

do_stage () {
	install -d ${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/ti-codec-combos
	cp -pPrf ${S}/* ${STAGING_DIR}/${MULTIMACH_TARGET_SYS}/ti-codec-combos
}

FILES_ti-codec-combos = "${datadir}/ti-codec-combos/*"

INHIBIT_PACKAGE_STRIP = "1"

PACKAGE_ARCH = "${MACHINE_ARCH}"