diff options
author | Takamitsu Honda <takamitsu.honda.pv@renesas.com> | 2017-01-27 11:47:06 +0900 |
---|---|---|
committer | Takamitsu Honda <takamitsu.honda.pv@renesas.com> | 2017-01-27 11:47:06 +0900 |
commit | 3613b2780a6b5d5d70ea6802be5060a8214cbdb5 (patch) | |
tree | fab60ccb7b38da7e8558a2879885f06e5b0662d2 /meta-rcar-gen3/recipes-multimedia/omx-module/omx-user-module.bb |
First commit.Renesas-Yocto-v2.16.0
Renesas BSP v3.5.1 (kernel v4.9 stable)
[Environment]
poky: yocto-2.1.2 (cca8dd15c8096626052f6d8d25ff1e9a606104a3)
meta-openembedded: 55c8a76da5dc099a7bc3838495c672140cedb78e
meta-linaro: 2f51d38048599d9878f149d6d15539fb97603f8f
[Information]
- U-boot: Changed load address from H'49000000 to H'50000000
- XDG_RUNTIME_DIR has been changed from "/run/user/root" to "/run/user/0"
- Change location of include directory, which stores common user header
files, to $(INCSHARED)
- In BSP Only, core-image-weston is not supported even though
local-wayland.conf is provided.
- Please set Salvator-x SW7 Pin-1. In after Yocto BSP v2.12.0, it is
 necessary to enable BKUP_TRG signal for Suspend to RAM.
- The dtb filename was changed in R-Car H3. Only
"Image-r8a7795-es1-salvator-x.dtb" is supported in this version.
Please use "Image-r8a7795-es1-salvator-x.dtb" It supports R-Car H3
WS1.0 and WS1.1.
- Please update your local.conf and bblayers.conf corresponding to Yocto
v2.16.0 package. You can refer to meta-rcargen3/docs/sample/conf/ for
updated contents.
- You have to re-compile out-of-recipe software like user application by
v2.16.0 SDK toolchains.
- In some boards, the resuming from System Suspend to RAM may cause
unstable operation or failed to resume.
Signed-off-by: Takamitsu Honda <takamitsu.honda.pv@renesas.com>
Diffstat (limited to 'meta-rcar-gen3/recipes-multimedia/omx-module/omx-user-module.bb')
-rw-r--r-- | meta-rcar-gen3/recipes-multimedia/omx-module/omx-user-module.bb | 449 |
1 files changed, 449 insertions, 0 deletions
diff --git a/meta-rcar-gen3/recipes-multimedia/omx-module/omx-user-module.bb b/meta-rcar-gen3/recipes-multimedia/omx-module/omx-user-module.bb new file mode 100644 index 0000000..87a5937 --- /dev/null +++ b/meta-rcar-gen3/recipes-multimedia/omx-module/omx-user-module.bb @@ -0,0 +1,449 @@ +DESCRIPTION = "OMX Media Components R-Car Gen3" +LICENSE = "CLOSED" +require include/omx-control.inc +require include/rcar-gen3-modules-common.inc + +DEPENDS = " \ + kernel-module-mmngr mmngr-user-module \ + vspmif-user-module kernel-module-vspmif \ + kernel-module-vspm kernel-module-vsp2driver \ +" + +# Task Control. Compile is not performed when not installing OMX Video and Audio Libs. +# Note) dummy-omx-user-module.inc does not exist. +INCLUDE_FILE = '${@base_conditional("USE_OMX_COMMON", "1", "dummy", "deltask", d )}' +include ${INCLUDE_FILE}-omx-user-module.inc + +DEPENDS += '${@base_conditional("USE_VIDEO_OMX", "1", "kernel-module-uvcs-drv", "", d )}' + +inherit autotools + +includedir = "/usr/local/include" +PACKAGE_ARCH = "${MACHINE_ARCH}" + +OMX_EVA_PREFIX = '${@base_conditional("USE_OMX_EVA_PKG", "1", "EVA", "", d )}' + +# SRC file name +SRC_URI_OMX = '${@base_conditional("USE_OMX_COMMON", "1", "file://${OMX_EVA_PREFIX}RTM0AC0000XCMCTL30SL40C.tar.bz2;unpack=0", "", d )}' +SRC_URI_VCMND = '${@base_conditional("USE_VIDEO_DEC", "1", "file://${OMX_EVA_PREFIX}RTM0AC0000XVCMND30SL40C.tar.bz2;unpack=0", "", d )}' +SRC_URI_VCMNE = '${@base_conditional("USE_VIDEO_ENC", "1", "file://${OMX_EVA_PREFIX}RTM0AC0000XVCMNE30SL40C.tar.bz2;unpack=0", "", d )}' +SRC_URI_H263D = '${@base_conditional("USE_H263D_OMX", "1", "file://${OMX_EVA_PREFIX}RTM0AC0000XV263D30SL40C.tar.bz2", "", d )}' +SRC_URI_H264D = '${@base_conditional("USE_H264D_OMX", "1", "file://${OMX_EVA_PREFIX}RTM0AC0000XV264D30SL40C.tar.bz2", "", d )}' +SRC_URI_H264E = '${@base_conditional("USE_H264E_OMX", "1", "file://${OMX_EVA_PREFIX}RTM0AC0000XV264E30SL40C.tar.bz2", "", d )}' +SRC_URI_H265D = '${@base_conditional("USE_H265D_OMX", "1", "file://${OMX_EVA_PREFIX}RTM0AC0000XV265D30SL40C.tar.bz2", "", d )}' +SRC_URI_MPEG2D = '${@base_conditional("USE_MPEG2D_OMX", "1", "file://${OMX_EVA_PREFIX}RTM0AC0000XVM2VD30SL40C.tar.bz2", "", d )}' +SRC_URI_MPEG4D = '${@base_conditional("USE_MPEG4D_OMX", "1", "file://${OMX_EVA_PREFIX}RTM0AC0000XVM4VD30SL40C.tar.bz2", "", d )}' +SRC_URI_VC1D = '${@base_conditional("USE_VC1D_OMX", "1", "file://${OMX_EVA_PREFIX}RTM0AC0000XVVC1D30SL40C.tar.bz2", "", d )}' +SRC_URI_DIVXD = '${@base_conditional("USE_DIVXD_OMX", "1", "file://${OMX_EVA_PREFIX}RTM0AC0000XVDVXD30SL40C.tar.bz2", "", d )}' +SRC_URI_RVD = '${@base_conditional("USE_RVD_OMX", "1", "file://${OMX_EVA_PREFIX}RTM0AC0000XVRLVD30SL40C.tar.bz2", "", d )}' +SRC_URI_ACMND = '${@base_conditional("USE_AUDIO_OMX", "1", "file://RTM0AC0000XACMND30SL40C.tar.gz", "", d )}' +SRC_URI_AACLC = '${@base_conditional("USE_AACLCD_OMX", "1", "file://RTM0AC0000XAAACD30SL40C.tar.gz", "", d )}' +SRC_URI_AACPV2 = '${@base_conditional("USE_AACPV2D_OMX", "1", "file://RTM0AC0000XAAAPD30SL40C.tar.gz", "", d )}' +SRC_URI_MP3 = '${@base_conditional("USE_MP3D_OMX", "1", "file://RTM0AC0000XAMP3D30SL40C.tar.gz", "", d )}' +SRC_URI_AACLCE = '${@base_conditional("USE_AACLCE_OMX", "1", "file://RTM0AC0000XAAACE30SL40C.tar.gz", "", d )}' +SRC_URI_WMA = '${@base_conditional("USE_WMAD_OMX", "1", "file://RTM0AC0000XAWMAD30SL40C.tar.gz", "", d )}' +SRC_URI_ALACD = '${@base_conditional("USE_ALACD_OMX", "1", "file://RTM0AC0000XAALAD30SL40C.tar.gz", "", d )}' +SRC_URI_FLACD = '${@base_conditional("USE_FLACD_OMX", "1", "file://RTM0AC0000XAFLAD30SL40C.tar.gz", "", d )}' +SRC_URI_DDD = '${@base_conditional("USE_DDD_OMX", "1", "file://RTM0AC0000XADD5D30SL40C.tar.gz", "", d )}' +SRC_URI_AACMZ = '${@base_conditional("USE_AACLC_MDW", "1", "file://RTM0AC0000ADAACMZ1SL40C.tar.gz", "", d )}' +SRC_URI_AACPV2MZ = '${@base_conditional("USE_AACPV2_MDW", "1", "file://RTM0AC0000ADAAPMZ1SL40C.tar.gz", "", d )}' +SRC_URI_MP3MZ = '${@base_conditional("USE_MP3_MDW", "1", "file://RTM0AC0000ADMP3MZ1SL40C.tar.gz", "", d )}' +SRC_URI_WMAMZ = '${@base_conditional("USE_WMA_MDW", "1", "file://RTM0AC0000ADWMAMZ1SL40C.tar.gz", "", d )}' +SRC_URI_DDMZ = '${@base_conditional("USE_DD_MDW", "1", "file://RTM0AC0000ADDD5MZ1SL40C.tar.gz", "", d )}' +SRC_URI_AEAACMZ = '${@base_conditional("USE_AACLCE_MDW", "1", "file://RTM0AC0000AEAACMZ1SL40C.tar.gz", "", d )}' + +SRC_URI = " \ + ${SRC_URI_OMX} \ + ${SRC_URI_VCMND} \ + ${SRC_URI_VCMNE} \ + ${SRC_URI_H263D} \ + ${SRC_URI_H264D} \ + ${SRC_URI_H264E} \ + ${SRC_URI_H265D} \ + ${SRC_URI_MPEG2D} \ + ${SRC_URI_MPEG4D} \ + ${SRC_URI_VC1D} \ + ${SRC_URI_DIVXD} \ + ${SRC_URI_RVD} \ + ${SRC_URI_ACMND} \ + ${SRC_URI_AACLC} \ + ${SRC_URI_AACPV2} \ + ${SRC_URI_MP3} \ + ${SRC_URI_WMA} \ + ${SRC_URI_ALACD} \ + ${SRC_URI_FLACD} \ + ${SRC_URI_DDD} \ + ${SRC_URI_AACLCE} \ + ${SRC_URI_AACMZ} \ + ${SRC_URI_AACPV2MZ} \ + ${SRC_URI_MP3MZ} \ + ${SRC_URI_WMAMZ} \ + ${SRC_URI_DDMZ} \ + ${SRC_URI_AEAACMZ} \ +" + +# SRC directory name +OMX_COMMON_SRC = '${@base_conditional("USE_OMX_COMMON", "1", "${OMX_EVA_PREFIX}RTM0AC0000XCMCTL30SL40C", "", d )}' +OMX_VIDEO_DEC_COMMON_SRC = '${@base_conditional("USE_VIDEO_DEC", "1", "${OMX_EVA_PREFIX}RTM0AC0000XVCMND30SL40C", "", d )}' +OMX_VIDEO_ENC_COMMON_SRC = '${@base_conditional("USE_VIDEO_ENC", "1", "${OMX_EVA_PREFIX}RTM0AC0000XVCMNE30SL40C", "", d )}' + +OMX_H263_DEC_SRC = '${@base_conditional("USE_H263D_OMX", "1", "${OMX_EVA_PREFIX}RTM0AC0000XV263D30SL40C", "", d )}' +OMX_H264_DEC_SRC = '${@base_conditional("USE_H264D_OMX", "1", "${OMX_EVA_PREFIX}RTM0AC0000XV264D30SL40C", "", d )}' +OMX_H264_ENC_SRC = '${@base_conditional("USE_H264E_OMX", "1", "${OMX_EVA_PREFIX}RTM0AC0000XV264E30SL40C", "", d )}' +OMX_H265_DEC_SRC = '${@base_conditional("USE_H265D_OMX", "1", "${OMX_EVA_PREFIX}RTM0AC0000XV265D30SL40C", "", d )}' +OMX_MPEG2_DEC_SRC = '${@base_conditional("USE_MPEG2D_OMX", "1", "${OMX_EVA_PREFIX}RTM0AC0000XVM2VD30SL40C", "", d )}' +OMX_MPEG4_DEC_SRC = '${@base_conditional("USE_MPEG4D_OMX", "1", "${OMX_EVA_PREFIX}RTM0AC0000XVM4VD30SL40C", "", d )}' +OMX_VC1_DEC_SRC = '${@base_conditional("USE_VC1D_OMX", "1", "${OMX_EVA_PREFIX}RTM0AC0000XVVC1D30SL40C", "", d )}' +OMX_DIVX_DEC_SRC = '${@base_conditional("USE_DIVXD_OMX", "1", "${OMX_EVA_PREFIX}RTM0AC0000XVDVXD30SL40C", "", d )}' +OMX_RV_DEC_SRC = '${@base_conditional("USE_RVD_OMX", "1", "${OMX_EVA_PREFIX}RTM0AC0000XVRLVD30SL40C", "", d )}' + +OMX_VIDEO_SRC_LIST = " \ + ${OMX_COMMON_SRC} \ + ${OMX_VIDEO_DEC_COMMON_SRC} \ + ${OMX_VIDEO_ENC_COMMON_SRC} \ + ${OMX_H263_DEC_SRC} \ + ${OMX_H264_DEC_SRC} \ + ${OMX_H264_ENC_SRC} \ + ${OMX_H265_DEC_SRC} \ + ${OMX_MPEG2_DEC_SRC} \ + ${OMX_MPEG4_DEC_SRC} \ + ${OMX_VC1_DEC_SRC} \ + ${OMX_DIVX_DEC_SRC} \ + ${OMX_RV_DEC_SRC} \ +" + +AAC_MIDDLEWARE_SRC = "RTM0AC0000ADAACMZ1SL40C" +AACPV2_MIDDLEWARE_SRC = "RTM0AC0000ADAAPMZ1SL40C" +MP3_MIDDLEWARE_SRC = "RTM0AC0000ADMP3MZ1SL40C" +WMA_MIDDLEWARE_SRC = "RTM0AC0000ADWMAMZ1SL40C" +DD_MIDDLEWARE_SRC = "RTM0AC0000ADDD5MZ1SL40C" +AEAAC_MIDDLEWARE_SRC = "RTM0AC0000AEAACMZ1SL40C" + +OMX_AUDIO_COMMON_SRC = '${@base_conditional("USE_AUDIO_OMX", "1", "RTM0AC0000XACMND30SL40C", "", d )}' +OMX_AACLC_DEC_SRC = '${@base_conditional("USE_AACLCD_OMX", "1", "RTM0AC0000XAAACD30SL40C", "", d )}' +OMX_AACPV2_DEC_SRC = '${@base_conditional("USE_AACPV2D_OMX", "1", "RTM0AC0000XAAAPD30SL40C", "", d )}' +OMX_MP3_DEC_SRC = '${@base_conditional("USE_MP3D_OMX", "1", "RTM0AC0000XAMP3D30SL40C", "", d )}' +OMX_WMA_DEC_SRC = '${@base_conditional("USE_WMAD_OMX", "1", "RTM0AC0000XAWMAD30SL40C", "", d )}' +OMX_ALAC_DEC_SRC = '${@base_conditional("USE_ALACD_OMX", "1", "RTM0AC0000XAALAD30SL40C", "", d )}' +OMX_FLAC_DEC_SRC = '${@base_conditional("USE_FLACD_OMX", "1", "RTM0AC0000XAFLAD30SL40C", "", d )}' +OMX_DD_DEC_SRC = '${@base_conditional("USE_DDD_OMX", "1", "RTM0AC0000XADD5D30SL40C", "", d )}' +OMX_AACLC_ENC_SRC = '${@base_conditional("USE_AACLCE_OMX", "1", "RTM0AC0000XAAACE30SL40C", "", d )}' + +OMX_AUDIO_SRC_LIST = " \ + ${OMX_AUDIO_COMMON_SRC} \ + ${OMX_AACLC_DEC_SRC} \ + ${OMX_AACPV2_DEC_SRC} \ + ${OMX_MP3_DEC_SRC} \ + ${OMX_WMA_DEC_SRC} \ + ${OMX_ALAC_DEC_SRC} \ + ${OMX_FLAC_DEC_SRC} \ + ${OMX_DD_DEC_SRC} \ + ${OMX_AACLC_ENC_SRC} \ +" + +S = "${WORKDIR}/omx/" + +# Create ${S} directory +do_unpack_prepend() { + os.system("install -d ${S}") +} + +do_unpack_append() { + bb.build.exec_func('setup_build_tree', d) +} + +setup_build_tree() { + for omxmc in ${OMX_COMMON_SRC} ${OMX_VIDEO_DEC_COMMON_SRC} ${OMX_VIDEO_ENC_COMMON_SRC} + do + tar xf ${WORKDIR}/${omxmc}.tar.bz2 -C ${WORKDIR} + tar xf ${WORKDIR}/${omxmc}.tar.bz2 ${omxmc}/src --strip=2 -C ${S} + tar xf ${WORKDIR}/${omxmc}.tar.bz2 ${omxmc}/include --strip=1 -C ${S} + done +} + +B = "${S}" + +EXTRA_OECONF = "OMXR_DEFAULT_CONFIG_FILE_NAME=${sysconfdir}/omxr/omxr_config_base.txt" + +do_configure() { + export uvcsdrv_dir="${INCSHARED}" + chmod u+x autogen.sh + ./autogen.sh + oe_runconf +} + +do_install_omx_video() { + cd ${D}/${libdir} + for omxmc in ${OMX_VIDEO_SRC_LIST} + do + src="${WORKDIR}/${omxmc}" + install -m 755 ${src}/${baselib}/lib*.so.* ${D}/${libdir} + install -m 644 ${src}/include/*.h ${D}/${includedir} + install -m 644 ${src}/config/*.txt ${D}/${sysconfdir}/omxr + done + + if [ "X${USE_OMX_COMMON}" = "X1" ] ; then + ln -s libomxr_core.so.3.0.0 libomxr_core.so.3 + ln -s libomxr_core.so.3 libomxr_core.so + + ln -s libomxr_mc_cmn.so.3.0.0 libomxr_mc_cmn.so.3 + ln -s libomxr_mc_cmn.so.3 libomxr_mc_cmn.so + fi + + if [ "X${USE_VIDEO_OMX}" = "X1" ] ; then + ln -s libomxr_mc_vcmn.so.3.0.0 libomxr_mc_vcmn.so.3 + ln -s libomxr_mc_vcmn.so.3 libomxr_mc_vcmn.so + fi + + if [ "X${USE_VIDEO_DEC}" = "X1" ] ; then + ln -s libomxr_mc_vdcmn.so.3.0.0 libomxr_mc_vdcmn.so.3 + ln -s libomxr_mc_vdcmn.so.3 libomxr_mc_vdcmn.so + + ln -s libuvcs_dec.so.3.0.0 libuvcs_dec.so.3 + ln -s libuvcs_dec.so.3 libuvcs_dec.so + fi + + if [ "X${USE_VIDEO_ENC}" = "X1" ] ; then + ln -s libomxr_mc_vecmn.so.3.0.0 libomxr_mc_vecmn.so.3 + ln -s libomxr_mc_vecmn.so.3 libomxr_mc_vecmn.so + + ln -s libuvcs_enc.so.3.0.0 libuvcs_enc.so.3 + ln -s libuvcs_enc.so.3 libuvcs_enc.so + fi + + if [ "X${USE_H263D_OMX}" = "X1" ]; then + ln -s libomxr_mc_h263d.so.3.0.0 libomxr_mc_h263d.so.3 + ln -s libomxr_mc_h263d.so.3 libomxr_mc_h263d.so + + ln -s libuvcs_hv3d.so.3.0.0 libuvcs_hv3d.so.3 + ln -s libuvcs_hv3d.so.3 libuvcs_hv3d.so + fi + + if [ "X${USE_H264D_OMX}" = "X1" ]; then + ln -s libomxr_mc_h264d.so.3.0.0 libomxr_mc_h264d.so.3 + ln -s libomxr_mc_h264d.so.3 libomxr_mc_h264d.so + + ln -s libuvcs_avcd.so.3.0.0 libuvcs_avcd.so.3 + ln -s libuvcs_avcd.so.3 libuvcs_avcd.so + fi + + if [ "X${USE_H264E_OMX}" = "X1" ]; then + ln -s libomxr_mc_h264e.so.3.0.0 libomxr_mc_h264e.so.3 + ln -s libomxr_mc_h264e.so.3 libomxr_mc_h264e.so + + ln -s libuvcs_avce.so.3.0.0 libuvcs_avce.so.3 + ln -s libuvcs_avce.so.3 libuvcs_avce.so + fi + + if [ "X${USE_H265D_OMX}" = "X1" ]; then + ln -s libomxr_mc_hevd.so.3.0.0 libomxr_mc_hevd.so.3 + ln -s libomxr_mc_hevd.so.3 libomxr_mc_hevd.so + + ln -s libuvcs_hevd.so.3.0.0 libuvcs_hevd.so.3 + ln -s libuvcs_hevd.so.3 libuvcs_hevd.so + fi + + if [ "X${USE_MPEG2D_OMX}" = "X1" ]; then + ln -s libomxr_mc_m2vd.so.3.0.0 libomxr_mc_m2vd.so.3 + ln -s libomxr_mc_m2vd.so.3 libomxr_mc_m2vd.so + + ln -s libuvcs_m2vd.so.3.0.0 libuvcs_m2vd.so.3 + ln -s libuvcs_m2vd.so.3 libuvcs_m2vd.so + fi + + if [ "X${USE_MPEG4D_OMX}" = "X1" ]; then + ln -s libomxr_mc_m4vd.so.3.0.0 libomxr_mc_m4vd.so.3 + ln -s libomxr_mc_m4vd.so.3 libomxr_mc_m4vd.so + + ln -s libuvcs_m4vd.so.3.0.0 libuvcs_m4vd.so.3 + ln -s libuvcs_m4vd.so.3 libuvcs_m4vd.so + fi + + if [ "X${USE_VC1D_OMX}" = "X1" ]; then + ln -s libomxr_mc_vc1d.so.3.0.0 libomxr_mc_vc1d.so.3 + ln -s libomxr_mc_vc1d.so.3 libomxr_mc_vc1d.so + + ln -s libuvcs_vc1d.so.3.0.0 libuvcs_vc1d.so.3 + ln -s libuvcs_vc1d.so.3 libuvcs_vc1d.so + fi + + if [ "X${USE_DIVXD_OMX}" = "X1" ]; then + ln -s libomxr_mc_divxd.so.3.0.0 libomxr_mc_divxd.so.3 + ln -s libomxr_mc_divxd.so.3 libomxr_mc_divxd.so + + ln -s libuvcs_dvxd.so.3.0.0 libuvcs_dvxd.so.3 + ln -s libuvcs_dvxd.so.3 libuvcs_dvxd.so + fi + + if [ "X${USE_RVD_OMX}" = "X1" ]; then + ln -s libomxr_mc_rlvd.so.3.0.0 libomxr_mc_rlvd.so.3 + ln -s libomxr_mc_rlvd.so.3 libomxr_mc_rlvd.so + + ln -s libuvcs_rlvd.so.3.0.0 libuvcs_rlvd.so.3 + ln -s libuvcs_rlvd.so.3 libuvcs_rlvd.so + fi +} + +do_install_audio_middleware() { + cd ${D}/${libdir} + + if [ "X${USE_AACLC_MDW}" = "X1" ]; then + install -m 755 ${WORKDIR}/${AAC_MIDDLEWARE_SRC}/${baselib}/libAACDLA_L.so.3.0 \ + ${D}/${libdir} + install -m 644 ${WORKDIR}/${AAC_MIDDLEWARE_SRC}/include/*.h ${D}/${includedir} + + ln -s libAACDLA_L.so.3.0 libAACDLA_L.so.3 + ln -s libAACDLA_L.so.3 libAACDLA_L.so + fi + + if [ "X${USE_AACPV2_MDW}" = "X1" ]; then + install -m 755 ${WORKDIR}/${AACPV2_MIDDLEWARE_SRC}/${baselib}/libRSACPDLA_L.so.2.0 \ + ${D}/${libdir} + install -m 644 ${WORKDIR}/${AACPV2_MIDDLEWARE_SRC}/include/*.h ${D}/${includedir} + + ln -s libRSACPDLA_L.so.2.0 libRSACPDLA_L.so.2 + ln -s libRSACPDLA_L.so.2 libRSACPDLA_L.so + fi + + if [ "X${USE_MP3_MDW}" = "X1" ]; then + install -m 755 ${WORKDIR}/${MP3_MIDDLEWARE_SRC}/${baselib}/libMP3DLA_L.so.2.0 \ + ${D}/${libdir} + install -m 644 ${WORKDIR}/${MP3_MIDDLEWARE_SRC}/include/*.h ${D}/${includedir} + + ln -s libMP3DLA_L.so.2.0 libMP3DLA_L.so.2 + ln -s libMP3DLA_L.so.2 libMP3DLA_L.so + fi + + if [ "X${USE_WMA_MDW}" = "X1" ]; then + install -m 755 ${WORKDIR}/${WMA_MIDDLEWARE_SRC}/${baselib}/libWMASTDLA_L.so.2.0 \ + ${D}/${libdir} + install -m 644 ${WORKDIR}/${WMA_MIDDLEWARE_SRC}/include/*.h ${D}/${includedir} + + ln -s libWMASTDLA_L.so.2.0 libWMASTDLA_L.so.2 + ln -s libWMASTDLA_L.so.2 libWMASTDLA_L.so + fi + + if [ "X${USE_DD_MDW}" = "X1" ]; then + install -m 755 ${WORKDIR}/${DD_MIDDLEWARE_SRC}/${baselib}/libRSDACDLA_L.so.2.0 \ + ${D}/${libdir} + install -m 644 ${WORKDIR}/${DD_MIDDLEWARE_SRC}/include/*.h ${D}/${includedir} + + ln -s libRSDACDLA_L.so.2.0 libRSDACDLA_L.so.2 + ln -s libRSDACDLA_L.so.2 libRSDACDLA_L.so + fi + + if [ "X${USE_AACLCE_MDW}" = "X1" ]; then + install -m 755 ${WORKDIR}/${AEAAC_MIDDLEWARE_SRC}/${baselib}/libRSAACELA_L.so.3.0 \ + ${D}/${libdir} + install -m 644 ${WORKDIR}/${AEAAC_MIDDLEWARE_SRC}/include/*.h ${D}/${includedir} + + ln -s libRSAACELA_L.so.3.0 libRSAACELA_L.so.3 + ln -s libRSAACELA_L.so.3 libRSAACELA_L.so + fi +} + +do_install_omx_audio() { + cd ${D}/${libdir} + for omxmc in ${OMX_AUDIO_SRC_LIST} + do + src="${WORKDIR}/${omxmc}/" + install -m 755 ${src}/${baselib}/lib*.so.* ${D}/${libdir} + if [ -d ${src}/include ]; then + install -m 644 ${src}/include/*.h ${D}/${includedir} + fi + install -m 644 ${src}/config/*.txt ${D}/${sysconfdir}/omxr + done + + if [ "X${USE_AUDIO_OMX}" = "X1" ]; then + ln -s libomxr_mc_acmn.so.3.0.0 libomxr_mc_acmn.so.3 + ln -s libomxr_mc_acmn.so.3 libomxr_mc_acmn.so + fi + + if [ "X${USE_AACLCD_OMX}" = "X1" ]; then + ln -s libomxr_mc_aacd.so.3.0.0 libomxr_mc_aacd.so.3 + ln -s libomxr_mc_aacd.so.3 libomxr_mc_aacd.so + fi + + if [ "X${USE_AACPV2D_OMX}" = "X1" ]; then + ln -s libomxr_mc_aapd.so.3.0.0 libomxr_mc_aapd.so.3 + ln -s libomxr_mc_aapd.so.3 libomxr_mc_aapd.so + fi + + if [ "X${USE_MP3D_OMX}" = "X1" ]; then + ln -s libomxr_mc_mp3d.so.3.0.0 libomxr_mc_mp3d.so.3 + ln -s libomxr_mc_mp3d.so.3 libomxr_mc_mp3d.so + fi + + if [ "X${USE_WMAD_OMX}" = "X1" ]; then + ln -s libomxr_mc_wmad.so.3.0.0 libomxr_mc_wmad.so.3 + ln -s libomxr_mc_wmad.so.3 libomxr_mc_wmad.so + fi + + if [ "X${USE_ALACD_OMX}" = "X1" ]; then + ln -s libomxr_mc_alacd.so.3.0.0 libomxr_mc_alacd.so.3 + ln -s libomxr_mc_alacd.so.3 libomxr_mc_alacd.so + fi + + if [ "X${USE_FLACD_OMX}" = "X1" ]; then + ln -s libomxr_mc_flacd.so.3.0.0 libomxr_mc_flacd.so.3 + ln -s libomxr_mc_flacd.so.3 libomxr_mc_flacd.so + fi + + if [ "X${USE_AACLCE_OMX}" = "X1" ]; then + ln -s libomxr_mc_aace.so.3.0.0 libomxr_mc_aace.so.3 + ln -s libomxr_mc_aace.so.3 libomxr_mc_aace.so + fi + + if [ "X${USE_DDD_OMX}" = "X1" ]; then + ln -s libomxr_mc_ddd.so.3.0.0 libomxr_mc_ddd.so.3 + ln -s libomxr_mc_ddd.so.3 libomxr_mc_ddd.so + fi +} + +do_install () { + if [ "X${USE_OMX_COMMON}" = "X1" ]; then + oe_runmake 'DESTDIR=${D}' install + # Info dir listing isn't interesting at this point so remove it if it exists. + if [ -e "${D}/${infodir}/dir" ]; then + rm -f ${D}/${infodir}/dir + fi + fi +} + +do_install_append() { + # Create destination directory + install -d ${D}/${libdir} + install -d ${D}/${includedir} + if [ "X${USE_OMX_COMMON}" = "X1" ]; then + install -d ${D}/${sysconfdir}/omxr + fi + + # Copy omx video library + do_install_omx_video + # Copy audio middleware library + do_install_audio_middleware + # Copy omx audio library + do_install_omx_audio +} + +INSANE_SKIP_${PN} = "dev-so" + +FILES_${PN} += " \ + ${libdir}/*.so \ +" + +FILES_${PN}-dev = " \ + ${includedir} \ + ${libdir}/*.la \ +" + +RDEPENDS_${PN} += "mmngr-user-module vspmif-user-module" +RDEPENDS_${PN} += '${@base_conditional("USE_ALACD_OMX", "1", "libalacdla-l", "", d )}' +RDEPENDS_${PN} += '${@base_conditional("USE_FLACD_OMX", "1", "libflacdla-l", "", d )}' + +# Skip debug strip of do_populate_sysroot() +INHIBIT_SYSROOT_STRIP = "1" + +# Skip debug split and strip of do_package() +INHIBIT_PACKAGE_DEBUG_SPLIT = "1" +INHIBIT_PACKAGE_STRIP = "1" |