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
