[meta-ti] [EXTERNAL] [PATCH 3/3] dsplib: build DSPLIB C66x/C674x/C64x+ from source

Jacob Stiffler j-stiffler at ti.com
Wed Sep 19 05:46:35 PDT 2018



On 9/18/2018 9:14 AM, Jianzhong Xu wrote:
> dsplib: build DSPLIB C66x/C674x/C64x+ from source
>
> Remove DSPLIB recipe that downloads pre-built DSPLIB from ti.com.
> Add new recipe to build DSPLIB for C66x, C674x, or C64x+ from source code.
>
> Signed-off-by: Jianzhong Xu <xuj at ti.com>
> ---
>   recipes-ti/dsplib/dsplib-c64xp_git.bb    |  9 ++++
>   recipes-ti/dsplib/dsplib-c66x.inc        | 30 -------------
>   recipes-ti/dsplib/dsplib-c66x_3.4.0.0.bb |  9 ----
>   recipes-ti/dsplib/dsplib-c66x_git.bb     | 10 +++++
>   recipes-ti/dsplib/dsplib-c674x_git.bb    |  9 ++++
>   recipes-ti/dsplib/dsplib.inc             | 73 ++++++++++++++++++++++++++++++++
>   recipes-ti/includes/ti-paths.inc         |  4 +-
>   7 files changed, 104 insertions(+), 40 deletions(-)
>   create mode 100644 recipes-ti/dsplib/dsplib-c64xp_git.bb
>   delete mode 100644 recipes-ti/dsplib/dsplib-c66x.inc
>   delete mode 100644 recipes-ti/dsplib/dsplib-c66x_3.4.0.0.bb
>   create mode 100644 recipes-ti/dsplib/dsplib-c66x_git.bb
>   create mode 100644 recipes-ti/dsplib/dsplib-c674x_git.bb
>   create mode 100644 recipes-ti/dsplib/dsplib.inc
>
> diff --git a/recipes-ti/dsplib/dsplib-c64xp_git.bb b/recipes-ti/dsplib/dsplib-c64xp_git.bb
> new file mode 100644
> index 0000000..1038d44
> --- /dev/null
> +++ b/recipes-ti/dsplib/dsplib-c64xp_git.bb
> @@ -0,0 +1,9 @@
> +MATHLIB_INSTALL_DIR = "${MATHLIB_C64P_INSTALL_DIR}/packages"
> +DSPLIB_INSTALL_DIR_RECIPE = "${DSPLIB_C64P_INSTALL_DIR_RECIPE}"
> +DSPLIB_INSTALL_DIR = "${DSPLIB_C64P_INSTALL_DIR}"

These will be reassigned in ti-paths.inc (included in dsplib.inc).


 From ti-paths.inc:

export DSPLIB_INSTALL_DIR_RECIPE     = "${installdir}/ti-dsplib-tree"



> +DSPLIB_BUILD_TARGET = "c64Px"
> +
> +DEPENDS = ""
> +
> +include dsplib.inc
> +
> diff --git a/recipes-ti/dsplib/dsplib-c66x.inc b/recipes-ti/dsplib/dsplib-c66x.inc
> deleted file mode 100644
> index 7ff99c2..0000000
> --- a/recipes-ti/dsplib/dsplib-c66x.inc
> +++ /dev/null
> @@ -1,30 +0,0 @@
> -DESCRIPTION = "DSPLIB contains optimized general-purpose signal-processing routines for TI DSPs"
> -HOMEPAGE = "http://www.ti.com/tool/sprc265"
> -SECTION = "devel"
> -LICENSE = "BSD-3-Clause"
> -
> -require ../includes/ti-paths.inc
> -require ../includes/ti-staging.inc
> -require ../includes/ti-unpack.inc
> -
> -COMPATIBLE_MACHINE = "omap-a15|keystone"
> -
> -SRC_URI = "http://software-dl.ti.com/sdoemb/sdoemb_public_sw/dsplib/${PV}/exports/${BINFILE};name=dsplib"
> -
> -BINFILE = "dsplib_c66x_${PV}_Linux.bin"
> -TI_BIN_UNPK_ARGS = "--mode silent --prefix ${S}"
> -TI_BIN_UNPK_CMDS = ""
> -
> -do_install() {
> -    CP_ARGS="-Prf --preserve=mode,timestamps --no-preserve=ownership"
> -    install -d ${D}${DSPLIB_C66_INSTALL_DIR_RECIPE}
> -    cp ${CP_ARGS} ${S}/* ${D}${DSPLIB_C66_INSTALL_DIR_RECIPE}
> -}
> -
> -ALLOW_EMPTY_${PN} = "1"
> -FILES_${PN}-dev += "${DSPLIB_C66_INSTALL_DIR_RECIPE}"
> -
> -INHIBIT_PACKAGE_STRIP = "1"
> -INHIBIT_SYSROOT_STRIP = "1"
> -INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
> -INSANE_SKIP_${PN}-dev = "arch"
> diff --git a/recipes-ti/dsplib/dsplib-c66x_3.4.0.0.bb b/recipes-ti/dsplib/dsplib-c66x_3.4.0.0.bb
> deleted file mode 100644
> index f1273f3..0000000
> --- a/recipes-ti/dsplib/dsplib-c66x_3.4.0.0.bb
> +++ /dev/null
> @@ -1,9 +0,0 @@
> -require dsplib-c66x.inc
> -
> -PV = "3_4_0_0"
> -PR = "r1"
> -
> -LIC_FILES_CHKSUM = "file://packages/ti/dsplib/dsplib.h;beginline=9;endline=35;md5=17733f9e1100f8a628512f47c4bf676a"
> -
> -SRC_URI[dsplib.md5sum] = "66785604729c153dcad5282097dee8bf"
> -SRC_URI[dsplib.sha256sum] = "e88909b6271ce6c4c62e2ab90181b7adb36c7f28f5c52836668eb35888785ce8"
> diff --git a/recipes-ti/dsplib/dsplib-c66x_git.bb b/recipes-ti/dsplib/dsplib-c66x_git.bb
> new file mode 100644
> index 0000000..cbc25d0
> --- /dev/null
> +++ b/recipes-ti/dsplib/dsplib-c66x_git.bb
> @@ -0,0 +1,10 @@
> +MATHLIB_INSTALL_DIR = "${MATHLIB_C66_INSTALL_DIR}/packages"
> +DSPLIB_INSTALL_DIR_RECIPE = "${DSPLIB_C66_INSTALL_DIR_RECIPE}"
> +DSPLIB_INSTALL_DIR = "${DSPLIB_C66_INSTALL_DIR}"
> +DSPLIB_BUILD_TARGET = "c66x"
> +
> +DEPENDS = "mathlib-c66x"
> +
> +include dsplib.inc
> +
> +
> diff --git a/recipes-ti/dsplib/dsplib-c674x_git.bb b/recipes-ti/dsplib/dsplib-c674x_git.bb
> new file mode 100644
> index 0000000..07c6892
> --- /dev/null
> +++ b/recipes-ti/dsplib/dsplib-c674x_git.bb
> @@ -0,0 +1,9 @@
> +MATHLIB_INSTALL_DIR = "${MATHLIB_C674_INSTALL_DIR}/packages"
> +DSPLIB_INSTALL_DIR_RECIPE = "${DSPLIB_C674_INSTALL_DIR_RECIPE}"
> +DSPLIB_INSTALL_DIR = "${DSPLIB_C674_INSTALL_DIR}"
> +DSPLIB_BUILD_TARGET = "c674x"
> +
> +DEPENDS = "mathlib-c674x"
> +
> +include dsplib.inc
> +
> diff --git a/recipes-ti/dsplib/dsplib.inc b/recipes-ti/dsplib/dsplib.inc
> new file mode 100644
> index 0000000..d38b6b8
> --- /dev/null
> +++ b/recipes-ti/dsplib/dsplib.inc
> @@ -0,0 +1,73 @@
> +SUMMARY = "DSPLIB contains optimized signal processing functions for TI DSPs"
> +HOMEPAGE = "http://git.ti.com/ep-processor-libraries/dsplib"
> +LICENSE = "BSD-3-Clause"
> +
> +require ../includes/ti-paths.inc
> +
> +PV = "3_4_0_1"
> +PR = "r0"
> +
> +DEPENDS += "ti-cgt6x-native \
> +           ti-xdctools-native \
> +           ti-sysbios \
> +           doxygen-native \
> +           zip-native \
> +           swtools"
> +
> +S = "${WORKDIR}/git"
> +
> +SRC_URI = "git://git.ti.com/ep-processor-libraries/dsplib.git;protocol=git;branch=master"
> +SRCREV = "bf5a51cba462c5cb03ed20a6a1bb1bd16c0683e1"
> +
> +LIC_FILES_CHKSUM = "file://ti/dsplib/src/common/c66/lnk.cmd;beginline=1;endline=37;md5=0f0c9c4d51d8af75419781591ace190b"
> +
> +export DSPLIB_WORK_DIR="${S}"
> +export CGTOOLS_INSTALL_DIR  = "${STAGING_DIR_NATIVE}/usr/share/ti/cgt-c6x"
> +export C64PCODEGENTOOL="${CGTOOLS_INSTALL_DIR}"
> +export C674CODEGENTOOL="${CGTOOLS_INSTALL_DIR}"
> +export C66CODEGENTOOL ="${CGTOOLS_INSTALL_DIR}"
> +export SWTOOLS_PATH = "${SWTOOLS_INSTALL_DIR}/ti/mas/swtools"
> +export XDCBUILDCFG="${SWTOOLS_PATH}/config.bld"
> +export INCDIR="${MATHLIB_INSTALL_DIR}/"
> +
> +PATH_append = ":${XDC_INSTALL_DIR}"
> +
> +XDCPATH.="${XDCCGROOT}/include;${XDC_INSTALL_DIR}/packages;${SYSBIOS_INSTALL_DIR}/packages;"
> +XDCPATH.="${SWTOOLS_INSTALL_DIR};${MATHLIB_INSTALL_DIR};${DSPLIB_WORK_DIR};"
> +
> +export XDCPATH
> +
> +DSPLIB_PACKAGE_NAME = "dsplib_${DSPLIB_BUILD_TARGET}_${PV}"
> +
> +do_compile() {
> +	cd ${DSPLIB_WORK_DIR}/ti/dsplib;
> +	xdc XDCARGS="${DSPLIB_BUILD_TARGET} bundle" XDCOPTIONS="-v"
> +}
> +
> +do_install() {
> +	install -d ${D}${DSPLIB_INSTALL_DIR_RECIPE}
> +
> +	find -name "${DSPLIB_PACKAGE_NAME}.zip" -exec unzip -o {} -d ${D}${DSPLIB_INSTALL_DIR_RECIPE} \;
> +	mv ${D}${DSPLIB_INSTALL_DIR_RECIPE}/dsplib/* ${D}${DSPLIB_INSTALL_DIR_RECIPE}
> +	mv ${D}${DSPLIB_INSTALL_DIR_RECIPE}/dsplib/.metadata ${D}${DSPLIB_INSTALL_DIR_RECIPE}
> +	rm -r ${D}${DSPLIB_INSTALL_DIR_RECIPE}/dsplib
> +}
> +
> +inherit deploy
> +addtask deploy before do_build after do_install
> +
> +do_deploy() {
> +	install -d ${DEPLOYDIR}
> +	# zip up files in ${D}${DSPLIB_INSTALL_DIR_RECIPE}
> +	# and place the zip file in ${DEPLOYDIR}
> +	mkdir ./${DSPLIB_PACKAGE_NAME}
> +	cp -r ${D}${DSPLIB_INSTALL_DIR_RECIPE}/* ./${DSPLIB_PACKAGE_NAME}
> +	cp -r ${D}${DSPLIB_INSTALL_DIR_RECIPE}/.metadata ./${DSPLIB_PACKAGE_NAME}
> +	zip -9 -y -r -q ${DEPLOYDIR}/${DSPLIB_PACKAGE_NAME}.zip ./${DSPLIB_PACKAGE_NAME}
> +	rm -r ./${DSPLIB_PACKAGE_NAME}
> +}
> +
> +ALLOW_EMPTY_${PN} = "1"
> +FILES_${PN}-dev += "${DSPLIB_INSTALL_DIR_RECIPE}"
> +
> +INSANE_SKIP_${PN}-dev = "arch"
> diff --git a/recipes-ti/includes/ti-paths.inc b/recipes-ti/includes/ti-paths.inc
> index 6c2b200..05dcaa8 100644
> --- a/recipes-ti/includes/ti-paths.inc
> +++ b/recipes-ti/includes/ti-paths.inc
> @@ -17,6 +17,7 @@ export DMAI_INSTALL_DIR_RECIPE       = "${installdir}/ti-dmai-tree"
>   export DSP_BENCHMARK_INSTALL_DIR_RECIPE = "${installdir}/ti-dsp-benchmark-tree"
>   export DSPLIB_C64P_INSTALL_DIR_RECIPE = "${installdir}/ti-dsplib-c64p-tree"
>   export DSPLIB_C674_INSTALL_DIR_RECIPE = "${installdir}/ti-dsplib-c674x-tree"
> +export DSPLIB_C66_INSTALL_DIR_RECIPE  = "${installdir}/ti-dsplib-c66x-tree"
>   export DSPLIB_INSTALL_DIR_RECIPE     = "${installdir}/ti-dsplib-tree"
>   export DVSDK_DEMOS_INSTALL_DIR_RECIPE= "${installdir}/ti-dvsdk-demos-tree"
>   export DVTB_INSTALL_DIR_RECIPE       = "${installdir}/ti-dvtb-tree"
> @@ -49,7 +50,6 @@ export OSAL_INSTALL_DIR_RECIPE       = "${installdir}/ti-osal-tree"
>   export M4_TOOLCHAIN_INSTALL_DIR_RECIPE    = "${installdir}/ti-cgt-arm"
>   export GCC_ARM_NONE_TOOLCHAIN_RECIPE      = "${installdir}/gcc-arm-none-eabi"
>   export TI_CGT_PRU_INSTALL_DIR_RECIPE      = "${installdir}/cgt-pru"
> -export DSPLIB_C66_INSTALL_DIR_RECIPE      = "${installdir}/ti-dsplib-c66x-tree"
>   export MATHLIB_C66_INSTALL_DIR_RECIPE     = "${installdir}/ti-mathlib-c66x-tree"
>   export MATHLIB_C674_INSTALL_DIR_RECIPE    = "${installdir}/ti-mathlib-c674x-tree"
>   export IMGLIB_C66_INSTALL_DIR_RECIPE      = "${installdir}/ti-imglib-c66x-tree"
> @@ -100,6 +100,8 @@ export M4_TOOLCHAIN_INSTALL_DIR    = "${STAGING_DIR_NATIVE}${M4_TOOLCHAIN_INSTAL
>   export GCC_ARM_NONE_TOOLCHAIN      = "${STAGING_DIR_NATIVE}${GCC_ARM_NONE_TOOLCHAIN_RECIPE}"
>   export TI_CGT_PRU_INSTALL_DIR      = "${STAGING_DIR_NATIVE}${TI_CGT_PRU_INSTALL_DIR_RECIPE}"
>   export SWTOOLS_INSTALL_DIR         = "${STAGING_DIR_TARGET}${SWTOOLS_INSTALL_DIR_RECIPE}"
> +export DSPLIB_C64P_INSTALL_DIR     = "${STAGING_DIR_TARGET}${DSPLIB_C64P_INSTALL_DIR_RECIPE}"
> +export DSPLIB_C674_INSTALL_DIR     = "${STAGING_DIR_TARGET}${DSPLIB_C674_INSTALL_DIR_RECIPE}"
>   export DSPLIB_C66_INSTALL_DIR      = "${STAGING_DIR_TARGET}${DSPLIB_C66_INSTALL_DIR_RECIPE}"
>   export MATHLIB_C66_INSTALL_DIR     = "${STAGING_DIR_TARGET}${MATHLIB_C66_INSTALL_DIR_RECIPE}"
>   export MATHLIB_C674_INSTALL_DIR    = "${STAGING_DIR_TARGET}${MATHLIB_C674_INSTALL_DIR_RECIPE}"



More information about the meta-ti mailing list