From 37ef6ae6fe518e78a6b44b8633d4c38cc7792c3e Mon Sep 17 00:00:00 2001 From: Denys Dmytriyenko Date: Tue, 22 Feb 2022 04:13:51 +0000 Subject: meta-ti: move BIOS,XDC,XDAIS, CGT,DSP libs and components to meta-ti-extras Legacy platforms AM3/4/5/J6 build components for multimedia acceleration and other DSP showcasing using SYS/BIOS, XDC, XDAIS, CodeGen Tools and different DSP libraries. Move all of them to meta-ti-extras. Signed-off-by: Denys Dmytriyenko Signed-off-by: Ryan Eatmon --- .../recipes-ti/includes/ti-eula-unpack.inc | 15 +++ meta-ti-extras/recipes-ti/includes/ti-paths.inc | 109 +++++++++++++++++++++ meta-ti-extras/recipes-ti/includes/ti-staging.inc | 6 ++ meta-ti-extras/recipes-ti/includes/ti-unpack.inc | 83 ++++++++++++++++ 4 files changed, 213 insertions(+) create mode 100644 meta-ti-extras/recipes-ti/includes/ti-eula-unpack.inc create mode 100644 meta-ti-extras/recipes-ti/includes/ti-paths.inc create mode 100644 meta-ti-extras/recipes-ti/includes/ti-staging.inc create mode 100644 meta-ti-extras/recipes-ti/includes/ti-unpack.inc (limited to 'meta-ti-extras/recipes-ti/includes') diff --git a/meta-ti-extras/recipes-ti/includes/ti-eula-unpack.inc b/meta-ti-extras/recipes-ti/includes/ti-eula-unpack.inc new file mode 100644 index 00000000..ead06100 --- /dev/null +++ b/meta-ti-extras/recipes-ti/includes/ti-eula-unpack.inc @@ -0,0 +1,15 @@ +# This file defines function used for unpacking the .bin file downloaded over +# the http and display EULA. +# BINFILE - name of the install jammer .bin file +# TARFILE - name of the tar file inside the install jammer +# TI_BIN_UNPK_CMDS - contains list of commands separated with colon to be +# passed while unpacking the bin file. The keyword +# workdir expands to WORKDIR and commands are appendded +# with '\n'. Eg. TI_BIN_UNPK_CMDS="Y:Y: qY:workdir" +# TI_BIN_UNPK_WDEXT - This variable extends workdir path, if user wants to put +# the output in some internal directory + +require recipes-ti/includes/ti-unpack.inc + +TI_BIN_UNPK_ARGS = "--mode console" + diff --git a/meta-ti-extras/recipes-ti/includes/ti-paths.inc b/meta-ti-extras/recipes-ti/includes/ti-paths.inc new file mode 100644 index 00000000..358d7dfd --- /dev/null +++ b/meta-ti-extras/recipes-ti/includes/ti-paths.inc @@ -0,0 +1,109 @@ +installdir = "${datadir}/ti" + +export TOOLCHAIN_PATH ?= "${STAGING_DIR_NATIVE}${prefix_native}/bin/${TARGET_SYS}" +# This is where do_install will put it +export AUDIO_SOC_INSTALL_DIR_RECIPE = "${installdir}/ti-audio-soc-example-tree" +export BIOSPSP_INSTALL_DIR_RECIPE = "${installdir}/ti-biospsp-tree" +export C6ACCEL_INSTALL_DIR_RECIPE = "${installdir}/ti-c6accel-tree" +export C6RUN_INSTALL_DIR_RECIPE = "${installdir}/ti-c6run-tree" +export CE_INSTALL_DIR_RECIPE = "${installdir}/ti-codec-engine-tree" +export CODEC_INSTALL_DIR_RECIPE = "${installdir}/ti-codecs-tree" +export CODEGEN_ARM_INSTALL_DIR_RECIPE= "${installdir}/ti-cgt470-tree" +export CODEGEN_INSTALL_DIR_RECIPE = "${installdir}/ti-cgt6x-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 DVSDK_DEMOS_INSTALL_DIR_RECIPE= "${installdir}/ti-dvsdk-demos-tree" +export DVTB_INSTALL_DIR_RECIPE = "${installdir}/ti-dvtb-tree" +export EDMA3_LLD_INSTALL_DIR_RECIPE = "${installdir}/ti-edma3lld-tree" +export EDMA3_LLD_SYSBIOS_INSTALL_DIR_RECIPE = "${installdir}/ti-edma3lld-sysbios-tree" +export FASTMATHLIB_C674P_INSTALL_DIR_RECIPE = "${installdir}/ti-fastmathlib-c67x-tree" +export FC3_INSTALL_DIR_RECIPE = "${installdir}/ti-framework-components3-tree" +export FC_INSTALL_DIR_RECIPE = "${installdir}/ti-framework-components-tree" +export GFX_SDK_INSTALL_DIR_RECIPE = "${installdir}/ti-gfx-sdk-tree" +export HDVICP20_INSTALL_DIR_RECIPE = "${installdir}/ti-hdvicp20-tree" +export IMGLIB_C64P_INSTALL_DIR_RECIPE= "${installdir}/ti-imglib-tree" +export IPC_INSTALL_DIR_RECIPE = "${installdir}/ti-ipc-tree" +export LINK_INSTALL_DIR_RECIPE = "${installdir}/ti-dsplink-tree" +export LPM_INSTALL_DIR_RECIPE = "${installdir}/ti-local-power-manager-tree" +export OMX_INSTALL_DIR_RECIPE = "${installdir}/ti-omx-tree" +export OSAL_INSTALL_DIR_RECIPE = "${installdir}/ti-osal-tree" +export RTFS_INSTALL_DIR_RECIPE = "${installdir}/ti-rtfs-tree" +export SYSBIOS_INSTALL_DIR_RECIPE = "${installdir}/ti-sysbios-tree" +export SYSLINK_INSTALL_DIR_RECIPE = "${installdir}/ti-syslink-tree" +export SWTOOLS_INSTALL_DIR_RECIPE = "${installdir}/ti-swtools-tree" +export UIA_INSTALL_DIR_RECIPE = "${installdir}/ti-uia-tree" +export VICPLIB_INSTALL_DIR_RECIPE = "${installdir}/ti-vicplib-tree" +export XDAIS_INSTALL_DIR_RECIPE = "${installdir}/ti-xdais-tree" +export XDC_INSTALL_DIR_RECIPE = "${installdir}/ti-xdctools-tree" +export PDK_INSTALL_DIR_RECIPE = "${installdir}/ti-pdk-tree" +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 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" +export VLIB_C66_INSTALL_DIR_RECIPE = "${installdir}/ti-vlib-c66x-tree" +export CG_XML_INSTALL_DIR_RECIPE = "${installdir}/ti-cg-xml-tree" +export OMP_INSTALL_DIR_RECIPE = "${installdir}/ti-omp-tree" +export MPM_INSTALL_DIR_RECIPE = "${installdir}/ti-mpm-tree" +export TI_CGT6X_7_INSTALL_DIR_RECIPE = "${installdir}/cgt6x-7" +export TI_CGT7X_INSTALL_DIR_RECIPE = "${installdir}/cgt-c7x" + + +# This is where the tools will end up in sysroot +export BIOS_INSTALL_DIR = "${STAGING_DIR_TARGET}${BIOS_INSTALL_DIR_RECIPE}" +export BIOSPSP_INSTALL_DIR = "${STAGING_DIR_TARGET}${BIOSPSP_INSTALL_DIR_RECIPE}" +export C6ACCEL_INSTALL_DIR = "${STAGING_DIR_TARGET}${C6ACCEL_INSTALL_DIR_RECIPE}" +export C6RUN_INSTALL_DIR = "${STAGING_DIR_TARGET}${C6RUN_INSTALL_DIR_RECIPE}" +export CE_INSTALL_DIR = "${STAGING_DIR_TARGET}${CE_INSTALL_DIR_RECIPE}" +export CMEM_INSTALL_DIR = "${STAGING_DIR_TARGET}${CMEM_INSTALL_DIR_RECIPE}" +export CODEC_INSTALL_DIR = "${STAGING_DIR_TARGET}${CODEC_INSTALL_DIR_RECIPE}" +export CODEGEN_ARM_INSTALL_DIR= "${STAGING_DIR_TARGET}${CODEGEN_ARM_INSTALL_DIR_RECIPE}" +export CODEGEN_INSTALL_DIR = "${STAGING_DIR_TARGET}${CODEGEN_INSTALL_DIR_RECIPE}" +export DSP_BENCHMARK_INSTALL_DIR = "${STAGING_DIR_TARGET}${DSP_BENCHMARK_INSTALL_DIR_RECIPE}" +export EDMA3_LLD_INSTALL_DIR = "${STAGING_DIR_TARGET}${EDMA3_LLD_INSTALL_DIR_RECIPE}" +export EDMA3_LLD_SYSBIOS_INSTALL_DIR = "${STAGING_DIR_TARGET}${EDMA3_LLD_SYSBIOS_INSTALL_DIR_RECIPE}" +export FASTMATHLIB_C674P_INSTALL_DIR = "${STAGING_DIR_TARGET}${FASTMATHLIB_C674P_INSTALL_DIR_RECIPE}" +export FC3_INSTALL_DIR = "${STAGING_DIR_TARGET}${FC3_INSTALL_DIR_RECIPE}" +export FC_INSTALL_DIR = "${STAGING_DIR_TARGET}${FC_INSTALL_DIR_RECIPE}" +export HDVICP20_INSTALL_DIR = "${STAGING_DIR_TARGET}${HDVICP20_INSTALL_DIR_RECIPE}" +export IMGLIB_C64P_INSTALL_DIR= "${STAGING_DIR_TARGET}${IMGLIB_C64P_INSTALL_DIR_RECIPE}" +export IPC_INSTALL_DIR = "${STAGING_DIR_TARGET}${IPC_INSTALL_DIR_RECIPE}" +export LINK_INSTALL_DIR = "${STAGING_DIR_TARGET}${LINK_INSTALL_DIR_RECIPE}" +export LPM_INSTALL_DIR = "${STAGING_DIR_TARGET}${LPM_INSTALL_DIR_RECIPE}" +export OMX_INSTALL_DIR = "${STAGING_DIR_TARGET}${OMX_INSTALL_DIR_RECIPE}" +export SYSBIOS_INSTALL_DIR = "${STAGING_DIR_TARGET}${SYSBIOS_INSTALL_DIR_RECIPE}" +export SYSLINK_INSTALL_DIR = "${STAGING_DIR_TARGET}${SYSLINK_INSTALL_DIR_RECIPE}" +export UIA_INSTALL_DIR = "${STAGING_DIR_TARGET}${UIA_INSTALL_DIR_RECIPE}" +export XDAIS_INSTALL_DIR = "${STAGING_DIR_TARGET}${XDAIS_INSTALL_DIR_RECIPE}" +export XDC_INSTALL_DIR = "${STAGING_DIR_NATIVE}${XDC_INSTALL_DIR_RECIPE}" +export PDK_INSTALL_DIR = "${STAGING_DIR_TARGET}${PDK_INSTALL_DIR_RECIPE}" +export OSAL_INSTALL_DIR = "${STAGING_DIR_TARGET}${OSAL_INSTALL_DIR_RECIPE}" +export M4_TOOLCHAIN_INSTALL_DIR = "${STAGING_DIR_NATIVE}${M4_TOOLCHAIN_INSTALL_DIR_RECIPE}" +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}" +export IMGLIB_C66_INSTALL_DIR = "${STAGING_DIR_TARGET}${IMGLIB_C66_INSTALL_DIR_RECIPE}" +export VLIB_C66_INSTALL_DIR = "${STAGING_DIR_TARGET}${VLIB_C66_INSTALL_DIR_RECIPE}" +export CG_XML_INSTALL_DIR = "${STAGING_DIR_NATIVE}${CG_XML_INSTALL_DIR_RECIPE}" +export OMP_INSTALL_DIR = "${STAGING_DIR_TARGET}${OMP_INSTALL_DIR_RECIPE}" +export MPM_INSTALL_DIR = "${STAGING_DIR_TARGET}${MPM_INSTALL_DIR_RECIPE}" +export TI_CGT6X_7_INSTALL_DIR = "${STAGING_DIR_NATIVE}${TI_CGT6X_7_INSTALL_DIR_RECIPE}" +export GCC_LINARO_BAREMETAL_TOOLCHAIN = "${STAGING_DIR_NATIVE}${GCC_LINARO_BAREMETAL_TOOLCHAIN_RECIPE}" +export GCC_LINARO_BAREMETAL_AARCH64_TOOLCHAIN = "${STAGING_DIR_NATIVE}${GCC_LINARO_BAREMETAL_AARCH64_TOOLCHAIN_RECIPE}" +export TI_CGT7X_INSTALL_DIR = "${STAGING_DIR_NATIVE}${TI_CGT7X_INSTALL_DIR_RECIPE}" + + +DSPSUFFIX:omapl137 = "x674" +DSPSUFFIX:omapl138 = "x674" +DSPSUFFIX_ti816x = "xe674" +DSPSUFFIX_ti814x = "xe674" +DSPSUFFIX ?= "x64P" diff --git a/meta-ti-extras/recipes-ti/includes/ti-staging.inc b/meta-ti-extras/recipes-ti/includes/ti-staging.inc new file mode 100644 index 00000000..f18d017c --- /dev/null +++ b/meta-ti-extras/recipes-ti/includes/ti-staging.inc @@ -0,0 +1,6 @@ +INHIBIT_PACKAGE_STRIP = "1" + +ALLOW_EMPTY:${PN} = "1" +ALLOW_EMPTY:${PN}-dev = "1" + + diff --git a/meta-ti-extras/recipes-ti/includes/ti-unpack.inc b/meta-ti-extras/recipes-ti/includes/ti-unpack.inc new file mode 100644 index 00000000..46bfb957 --- /dev/null +++ b/meta-ti-extras/recipes-ti/includes/ti-unpack.inc @@ -0,0 +1,83 @@ +# This file defines function used for unpacking the .bin file downloaded over +# the http. +# BINFILE - name of the install jammer .bin file +# TARFILE - name of the tar file inside the install jammer +# TI_BIN_UNPK_ARGS - contains the arguments to be passed to the bin file. +# TI_BIN_UNPK_CMDS - contains list of commands separated with colon to be +# passed while unpacking the bin file. The keyword +# workdir expands to WORKDIR and commands are appendded +# with '\n'. Eg. TI_BIN_UNPK_CMDS="Y:Y: qY:workdir" +# TI_BIN_UNPK_WDEXT - This variable extends workdir path, if user wants to put +# the output in some internal directory + +python do_unpack () { + bb.build.exec_func('base_do_unpack', d) + bb.build.exec_func('ti_bin_do_unpack', d) +} + +TI_BIN_UNPK_WDEXT ?= "" +python ti_bin_do_unpack() { + import os + + # InstallJammer requires 32bit version of glibc + if not os.path.exists('/lib/ld-linux.so.2'): + bb.fatal("TI installer requires 32bit glibc libraries for proper operation\nrun 'yum install glibc.i686' on Fedora or 'apt-get install libc6:i386' on Ubuntu/Debian") + + localdata = bb.data.createCopy(d) + bb.data.update_data(localdata) + + binfile = localdata.getVar('BINFILE') + binfile = bb.data.expand(binfile, localdata) + + # Change to the working directory + save_cwd = os.getcwd() + workdir = localdata.getVar('WORKDIR') + workdir = bb.data.expand(workdir, localdata) + os.chdir(workdir) + + # Get unpack args + arg_string = localdata.getVar('TI_BIN_UNPK_ARGS') + arg_string = bb.data.expand(arg_string, localdata) + + # Get unpack commands + cmd_string = localdata.getVar('TI_BIN_UNPK_CMDS') + cmd_list = cmd_string.split( ":" ) + + # Make the InstallJammer binary executable so we can run it + os.chmod(binfile, 0o755) + + # Run the InstallJammer binary and accept the EULA + filename = "HOME=%s ./%s %s" % (workdir, binfile, arg_string) + + # Test executable by printing installer version or help screen (--version currently broken for some installers) + # - this is currently broken in some IJ installers - comment out for now + #if os.system(filename + " --version") != 0: + # print "ERROR: ti-eula-unpack: failed to execute binary installer" + # raise bb.build.FuncFailed() + + f = os.popen(filename,'w') + for cmd in cmd_list: + if cmd == "workdir": + wdext = localdata.getVar('TI_BIN_UNPK_WDEXT') + wdext = bb.data.expand(wdext, localdata) + cmd = workdir+wdext + f.write(cmd+'\n'); + f.close() + + # Expand the tarball that was created if required + tarfile = localdata.getVar('TARFILE') + if bool(tarfile) == True: + tarfile = bb.data.expand(tarfile, localdata) + tcmd = 'tar x --no-same-owner -f %s -C %s' % (tarfile, workdir) + if os.system(tcmd) != 0: + print("ERROR: ti-eula-unpack: failed to extract tarfile") + raise bb.build.FuncFailed() + + # Return to the previous directory + os.chdir(save_cwd) +} + +COMPATIBLE_HOST ?= "null" +COMPATIBLE_HOST:ti-soc = "(.*)" +COMPATIBLE_HOST:class-native = "(.*)" +COMPATIBLE_HOST:class-nativesdk = "(.*)" -- cgit v1.2.3-54-g00ecf