Pushed with a small fixup to added the ti-cgt-pru dependency.

> -----Original Message-----
> From: [email protected] [mailto:meta-arago-
> [email protected]] On Behalf Of Stiffler, Jacob
> Sent: Wednesday, September 20, 2017 7:10 PM
> To: Gou, Hongmei; [email protected]
> Subject: Re: [meta-arago] [EXTERNAL] [meta-processsor-sdk] [PATCH] ti-
> pdk.bbclass: added to enable the building of icss-emac firmware binaries
> 
> 
> 
> On 9/20/2017 6:07 PM, Gou, Hongmei wrote:
> >> -----Original Message-----
> >> From: Stiffler, Jacob
> >> Sent: Wednesday, September 20, 2017 5:12 PM
> >> To: Gou, Hongmei; [email protected]
> >> Subject: Re: [EXTERNAL] [meta-arago] [meta-processsor-sdk] [PATCH]
> >> ti-
> >> pdk.bbclass: added to enable the building of icss-emac firmware
> >> binaries
> >>
> >>
> >>
> >> On 9/20/2017 5:01 PM, Gou, Hongmei wrote:
> >>>> -----Original Message-----
> >>>> From: Stiffler, Jacob
> >>>> Sent: Wednesday, September 20, 2017 4:19 PM
> >>>> To: Gou, Hongmei; [email protected]
> >>>> Subject: Re: [EXTERNAL] [meta-arago] [meta-processsor-sdk] [PATCH]
> >>>> ti-
> >>>> pdk.bbclass: added to enable the building of icss-emac firmware
> >>>> binaries
> >>>>
> >>>>
> >>>>
> >>>> On 9/20/2017 3:43 PM, Hongmei Gou wrote:
> >>>>> Signed-off-by: Hongmei Gou <[email protected]>
> >>>>> ---
> >>>>>     classes/ti-pdk.bbclass | 115
> >>>> +++++++++++++++++++++++++++++++++++++++++++++++++
> >>>>>     1 file changed, 115 insertions(+)
> >>>>>     create mode 100644 classes/ti-pdk.bbclass
> >>>>>
> >>>>> diff --git a/classes/ti-pdk.bbclass b/classes/ti-pdk.bbclass new
> >>>>> file mode 100644 index 0000000..1e3a7cb
> >>>>> --- /dev/null
> >>>>> +++ b/classes/ti-pdk.bbclass
> >>>>> @@ -0,0 +1,115 @@
> >>>>> +require recipes-ti/includes/ti-paths.inc require
> >>>>> +recipes-ti/includes/ti-staging.inc
> >>>>> +
> >>>>> +inherit perlnative
> >>>>> +
> >>>>> +DEPENDS = "ti-xdctools ti-cg-xml-native ti-sysbios
> >>>>> +common-csl-ip-rtos
> >>>> libxml-simple-perl-native gcc-arm-none-eabi-native ti-cgt6x-native
> >>>> ti-pdk- build-rtos"
> >>>>> +
> >>>>> +DEPENDS_append_omap-a15 = " ti-cgt-arm-native"
> >>>>> +DEPENDS_remove_ti33x = "ti-cgt6x-native"
> >>>>> +DEPENDS_remove_ti43x = "ti-cgt6x-native"
> >>>>> +DEPENDS_append_omapl1 = " ti-cgt-arm-native"
> >>>>> +
> >>>>> +S = "${WORKDIR}/git"
> >>>>> +B = "${WORKDIR}/build"
> >>>>> +
> >>>>> +# HTML hyperlink text
> >>>>> +PDK_COMP_LINK_TEXT ?= ""
> >>>>> +
> >>>>> +DOC_FILE = "API_Documentation_${PN}.html"
> >>>>> +
> >>>>> +create_doc_link () {
> >>>>> +    PDK_COMP_DIR=`get_build_dir_bash`
> >>>>> +
> >>>>> +    echo "<a
> >>>>>
> >>
> +href=\"${PDK_COMP_DIR}/docs/doxygen/html/index.html\">${PDK_COM
> >>>> P_LINK
> >>>>> +_TEXT}</a>" >>
> >>>>>
> +${D}${PDK_INSTALL_DIR_RECIPE}/packages/.extras/doc/${DOC_FILE}
> >>>>> +}
> >>>>> +
> >>>>> +get_build_dir_bash() {
> >>>>> +  if [ -f ${S}/package.xdc ]
> >>>>> +  then
> >>>>> +    grep '^package' ${S}/package.xdc | sed -e 's|\[.*$||' | awk
> >>>>> +'{ print $2 }' |
> >>>> sed -e 's|\.|/|g'
> >>>>> +  else
> >>>>> +    echo ${S}
> >>>>> +    return 1
> >>>>> +  fi
> >>>>> +}
> >>>>> +
> >>>>> +export CROSS_TOOL_PRFX="arm-none-eabi-"
> >>>>> +export TOOLCHAIN_PATH_A8 = "${GCC_ARM_NONE_TOOLCHAIN}"
> >>>>> +export TOOLCHAIN_PATH_A9 = "${GCC_ARM_NONE_TOOLCHAIN}"
> >>>>> +export TOOLCHAIN_PATH_A15 =
> "${GCC_ARM_NONE_TOOLCHAIN}"
> >>>>> +export TOOLCHAIN_PATH_M4 = "${M4_TOOLCHAIN_INSTALL_DIR}"
> >>>>> +export TOOLCHAIN_PATH_Arm9 =
> "${M4_TOOLCHAIN_INSTALL_DIR}"
> >>>>> +export C6X_GEN_INSTALL_PATH =
> >>>> "${STAGING_DIR_NATIVE}/usr/share/ti/cgt-c6x"
> >>>>> +export CL_PRU_INSTALL_PATH = "${TI_CGT_PRU_INSTALL_DIR}"
> >>>> It appears that there is a missing dependency for the PRU toolchain?
> >>>>
> >>> This is back ported from meta-ti:
> >>> http://arago-project.org/git/?p=meta-ti.git;a=blob;f=classes/ti-pdk.
> >>> bb
> >>>
> >>
> class;h=1e3a7cbb25136004962404e3987c17d56ceae17d;hb=a2743f55c36b90e
> >> 92b
> >>> 2a9f4f684e2a67e2cbe3e0 Also TI_CGT_PRU_INSTALL_DIR has been
> >> defined in
> >>> recipes-ti/includes/ti-paths.inc.
> >> The lack of a DEPENDS on ti-cgt-pru-native appears to be a gap. If
> >> directly building icss-emac-lld-rtos, it appears that the build will
> >> fail due to the missing toolchain as icss-emac-lld-rtos does not depend on
> it either.
> >>
> > Thanks for catching this.
> >
> > pruss-lld-rtos_git.bb in my local build has DEPENDS on ti-cgt-pru-native:
> > DEPENDS_append = " osal-rtos ti-cgt-pru-native"
> >
> > icss-emac-lld-rtos has DEPENDS on pruss-lld-rtos.
> >
> > Will submit a patch to add back the DEPENDS on ti-cgt-pru-native in pruss-
> lld-rtos_git.bb.
> 
> I think the depends should go here because this is what is controlling
> whether or not the firmwares are build (via LIMIT_CORES). If not here, then
> it should be the recipe which actually produces the firmwares.
> 
> >
> >>>>> +
> >>>>> +export ROOTDIR = "${B}"
> >>>>> +export BIOS_INSTALL_PATH = "${SYSBIOS_INSTALL_DIR}"
> >>>>> +export XDC_INSTALL_PATH = "${XDC_INSTALL_DIR}"
> >>>>> +export PDK_INSTALL_PATH = "${PDK_INSTALL_DIR}/packages"
> >>>>> +
> >>>>> +export XDCPATH =
> >>
> "${XDC_INSTALL_DIR}/packages;${SYSBIOS_INSTALL_DIR}/packages;${PDK_I
> >>>> NSTALL_DIR}/packages"
> >>>>> +export SECTTI="perl ${CG_XML_INSTALL_DIR}/ofd/sectti.pl"
> >>>>> +
> >>>>> +TI_PDK_XDCMAKE ?= "1"
> >>>>> +
> >>>>> +# By default, only build the cores with available toolchains
> >>>>> +TI_PDK_LIMIT_CORES ?= "a15_0 ipu1_0 ipu1_1 ipu2_0 ipu2_1 c66x
> >>>> c66xdsp_1 c66xdsp_2 arm9_0 c674x a9host a8host pru_0 pru_1"
> >>>>> +TI_PDK_LIMIT_SOCS ?= ""
> >>>>> +TI_PDK_LIMIT_BOARDS ?= ""
> >>>>> +TI_PDK_MAKE_TARGET ?= "release"
> >>>>> +TI_PDK_EXTRA_MAKE ?= ""
> >>>>> +
> >>>>> +TI_PDK_XDC_ARGS ?= "${TI_PDK_LIMIT_SOCS}"
> >>>>> +
> >>>>> +PARALLEL_XDC = "--jobs=${BB_NUMBER_THREADS}"
> >>>>> +
> >>>>> +do_configure() {
> >>>>> +    BUILD_DIR=${B}/`get_build_dir_bash`
> >>>>> +
> >>>>> +    mkdir -p ${BUILD_DIR}
> >>>>> +    cp -r ${S}/* ${BUILD_DIR}
> >>>>> +
> >>>>> +    if [ "${TI_PDK_XDCMAKE}" == "1" ]
> >>>>> +    then
> >>>>> +        cd ${BUILD_DIR}
> >>>>> +
> >>>>> +        sed -i "s/\ \"\.\\\\\\\\\"\ +//" src/Module.xs
> >>>>> +        find -name "*.xs" -exec sed -i "s/ofd6x\.exe/ofd6x/" {} \;
> >>>>> +        find -name "*.xs" -exec sed -i "s/sectti\.exe/sectti/" {} \;
> >>>>> +        find -name "*.xs" -exec sed -i "/\.chm/d" {} \;
> >>>>> +        find -name "*.xs" -exec sed -i "s/pasm\_dos/pasm\_linux/" {} \;
> >>>>> +    fi
> >>>>> +}
> >>>>> +
> >>>>> +do_compile() {
> >>>>> +
> >>>>> +    if [ "${TI_PDK_XDCMAKE}" == "1" ]
> >>>>> +    then
> >>>>> +        ${XDC_INSTALL_DIR}/xdc clean ${PARALLEL_XDC} -PR .
> >>>>> +        ${XDC_INSTALL_DIR}/xdc all ${PARALLEL_XDC}
> >>>> XDCARGS="${TI_PDK_XDC_ARGS}" ROOTDIR="${ROOTDIR}" -PR .
> >>>>> +        ${XDC_INSTALL_DIR}/xdc release
> >> XDCARGS="${TI_PDK_XDC_ARGS}"
> >>>> -PR .
> >>>>> +    else
> >>>>> +        BUILD_DIR=${B}/`get_build_dir_bash`
> >>>>> +        cd ${BUILD_DIR}
> >>>>> +
> >>>>> +        make ${TI_PDK_MAKE_TARGET} \
> >>>>> +             LIMIT_SOCS="${TI_PDK_LIMIT_SOCS}" \
> >>>>> +             LIMIT_BOARDS="${TI_PDK_LIMIT_BOARDS}" \
> >>>>> +             LIMIT_CORES="${TI_PDK_LIMIT_CORES}" \
> >>>>> +             ${TI_PDK_EXTRA_MAKE}
> >>>>> +    fi
> >>>>> +}
> >>>>> +
> >>>>> +do_install () {
> >>>>> +    install -d ${D}${PDK_INSTALL_DIR_RECIPE}/packages
> >>>>> +    find -name "*.tar" -exec tar xf {} --no-same-owner -C
> >>>>> +${D}${PDK_INSTALL_DIR_RECIPE}/packages \;
> >>>>> +
> >>>>> +    if [ "${PDK_COMP_LINK_TEXT}" != "" ]
> >>>>> +    then
> >>>>> +        install -d
> ${D}${PDK_INSTALL_DIR_RECIPE}/packages/.extras/doc
> >>>>> +        create_doc_link
> >>>>> +    fi
> >>>>> +}
> >>>>> +
> >>>>> +FILES_${PN} += "${PDK_INSTALL_DIR_RECIPE}/packages"
> 
> _______________________________________________
> meta-arago mailing list
> [email protected]
> http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago
_______________________________________________
meta-arago mailing list
[email protected]
http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago

Reply via email to