[meta-ti] [PATCH] ti-ipc-rtos: Update to include examples, docs etc.

Denys Dmytriyenko denys at ti.com
Fri Mar 4 09:05:24 PST 2016


On Thu, Mar 03, 2016 at 12:04:53PM -0500, Sam Nelson wrote:
> Added procedures and source urls for ipc examples and documentation into
> src package.
> Added dependency on doxygen for document creation
> Added big endian c66 targets
> 
> Signed-off-by: Sam Nelson <sam.nelson at ti.com>
> ---
>  recipes-ti/ipc/ti-ipc-rtos_git.bb | 69 +++++++++++++++++++++++++++++++++++----
>  1 file changed, 62 insertions(+), 7 deletions(-)
> 
> diff --git a/recipes-ti/ipc/ti-ipc-rtos_git.bb b/recipes-ti/ipc/ti-ipc-rtos_git.bb
> index eff1001..ffa4495 100644
> --- a/recipes-ti/ipc/ti-ipc-rtos_git.bb
> +++ b/recipes-ti/ipc/ti-ipc-rtos_git.bb
> @@ -2,9 +2,19 @@ require recipes-ti/includes/ti-paths.inc
>  require recipes-ti/includes/ti-staging.inc
>  require ti-ipc.inc
>  
> -PR = "${INC_PR}.3"
> +SRC_URI += "git://git.ti.com/ipc/ipc-examples.git;destsuffix=git/ipc-examples;protocol=git;branch=master;name=ipc-examples"
> +# Corresponds to tag: 3.42.00.02
> +SRCREV_ipc-examples = "d3dc0e0c8da049fd6c76feb222df13c2c944a6aa"
> +SRC_URI += "git://git.ti.com/ipc/ipc-metadata.git;destsuffix=git/ipc-metadata;protocol=git;branch=master;name=ipc-metadata"
> +# Corresponds to tag: 3.42.00.02
> +SRCREV_ipc-metadata = "e9a608608f1e9c0096112d5fcc41bb7af161a97e"

Don't you need SRCREV_FORMAT here?


> -DEPENDS = "ti-xdctools ti-sysbios"
> +S_ipc-examples = "${WORKDIR}/git/ipc-examples"
> +S_ipc-metadata = "${WORKDIR}/git/ipc-metadata"
> +
> +PR = "${INC_PR}.0"
> +
> +DEPENDS = "ti-xdctools ti-sysbios doxygen-native"
>  DEPENDS_append_keystone = " ti-cgt6x-native \
>                              gcc-arm-none-eabi-native \
>  "
> @@ -26,6 +36,7 @@ IPC_TARGETS = ""
>  IPC_TARGETS_omap-a15 = "\
>      gnu.targets.arm.A15F="${GCC_ARM_NONE_TOOLCHAIN}" \
>      ti.targets.elf.C66="${STAGING_DIR_NATIVE}/usr/share/ti/cgt-c6x" \
> +    ti.targets.elf.C66_big_endian="${STAGING_DIR_NATIVE}/usr/share/ti/cgt-c6x" \
>      ti.targets.arm.elf.M4="${M4_TOOLCHAIN_INSTALL_DIR}" \
>      ti.targets.arm.elf.M4F="${M4_TOOLCHAIN_INSTALL_DIR}" \
>  "
> @@ -33,29 +44,73 @@ IPC_TARGETS_omap-a15 = "\
>  IPC_TARGETS_keystone = " \
>      gnu.targets.arm.A15F="${GCC_ARM_NONE_TOOLCHAIN}" \
>      ti.targets.elf.C66="${STAGING_DIR_NATIVE}/usr/share/ti/cgt-c6x" \
> +    ti.targets.elf.C66_big_endian="${STAGING_DIR_NATIVE}/usr/share/ti/cgt-c6x" \
> +"
> +
> +IPC_TARGETS_c66x = " \
> +    ti.targets.elf.C66="${STAGING_DIR_NATIVE}/usr/share/ti/cgt-c6x" \
> +    ti.targets.elf.C66_big_endian="${STAGING_DIR_NATIVE}/usr/share/ti/cgt-c6x" \
>  "
>  
>  EXTRA_OEMAKE = "\
>      PLATFORM=${PLATFORM} \
>      XDC_INSTALL_DIR="${XDC_INSTALL_DIR}" \
>      BIOS_INSTALL_DIR="${SYSBIOS_INSTALL_DIR}" \
> -    ${IPC_TARGETS} -f ipc-bios.mak\
> +    ${IPC_TARGETS} \
>  "
> +SRCIPK_SRC_DIR = "${D}${IPC_INSTALL_DIR_RECIPE}"
> +
> +RELEASE_TYPE = "GA"
> +RELEASE_SUFFIX = ""
>  
>  do_compile() {
> -  oe_runmake clean
> -  oe_runmake all
> +  oe_runmake -f ipc-bios.mak clean
> +  oe_runmake -f ipc-bios.mak release
>  }
>  
>  do_compile_append() {
> -  sourceipk_do_create_srcipk
> +  cd ${S_ipc-metadata}
> +  oe_runmake .all-files IPC_INSTALL_DIR="${S}" \
> +    BUILD_HOST_OS="linux" \
> +    RELEASE_TYPE="${RELEASE_TYPE}"
> +
> +  cd ${S_ipc-examples}/src
> +  oe_runmake .examples \
> +    IPCTOOLS="${S_ipc-metadata}/src/etc"
> +
> +  if [  "${PLATFORM}" != "UNKNOWN" ]; then
> +    oe_runmake extract HOSTOS="bios" IPC_INSTALL_DIR="${S}"
> +    oe_runmake extract HOSTOS="linux" IPC_INSTALL_DIR="${S}"
> +
> +    if [ ! -z ${ALT_PLATFORM} ]; then
> +      oe_runmake extract PLATFORM=${ALT_PLATFORM} HOSTOS="bios" IPC_INSTALL_DIR="${S}"
> +      oe_runmake extract PLATFORM=${ALT_PLATFORM} HOSTOS="linux" IPC_INSTALL_DIR="${S}"
> +    fi
> +  fi
>  }
>  
>  do_install() {
> +    IPC_VERSION=`echo ${PV}${RELEASE_SUFFIX} | sed -e 's|\.|_|g'`
> +    # Copy docs and other meta files
>      install -d ${D}${IPC_INSTALL_DIR_RECIPE}
> -    cp -pPrf ${S}/* ${D}${IPC_INSTALL_DIR_RECIPE}
> +    cp -pPrf  ${S_ipc-metadata}/exports/ipc_${IPC_VERSION}/* -d ${D}${IPC_INSTALL_DIR_RECIPE}
>  
> +    # Copy example folders corresponding to the platforms
> +    if [  "${PLATFORM}" != "UNKNOWN" ]; then
> +      install -d ${D}${IPC_INSTALL_DIR_RECIPE}/examples
> +      cp -pPf ${S_ipc-examples}/src/examples/*.* ${D}${IPC_INSTALL_DIR_RECIPE}/examples/
> +      cp -pPf ${S_ipc-examples}/src/examples/makefile ${D}${IPC_INSTALL_DIR_RECIPE}/examples/
> +      cp -pPrf ${S_ipc-examples}/src/examples/${PLATFORM}* ${D}${IPC_INSTALL_DIR_RECIPE}/examples/
> +      if [ ! -z ${ALT_PLATFORM} ]; then
> +        cp -pPrf ${S_ipc-examples}/src/examples/${ALT_PLATFORM}* ${D}${IPC_INSTALL_DIR_RECIPE}/examples/
> +      fi
> +      find ${D}${IPC_INSTALL_DIR_RECIPE}/examples/ -name "*zip" -type f | xargs -I {} rm {}
> +    fi
> +
> +    # Install firmware images
>      install -d ${D}${base_libdir}/firmware
>      find . -name "*.xe66" -type f | xargs -I {} install -m 0644 {} ${D}${base_libdir}/firmware/
>      find . -name "*.xem4" -type f | xargs -I {} install -m 0644 {} ${D}${base_libdir}/firmware/
> +
> +    sourceipk_do_create_srcipk

So, you are creating a source package after the installation and from an 
install location - rather unorthodox and I can see problems with this. Have 
you tested it thoroughly and tried to use those sources in the devkit 
afterwards?

-- 
Denys


More information about the meta-ti mailing list