diff options
Diffstat (limited to 'packages/dsplink')
-rw-r--r-- | packages/dsplink/codec-engine_2.10.bb | 53 | ||||
-rw-r--r-- | packages/dsplink/dsplink.inc | 73 | ||||
-rw-r--r-- | packages/dsplink/dsplink_1.50.bb | 4 | ||||
-rw-r--r-- | packages/dsplink/dsplink_1.51.00.08.bb | 4 | ||||
-rw-r--r-- | packages/dsplink/files/CURRENTCFG.MK | 2 | ||||
-rw-r--r-- | packages/dsplink/files/c64xx_5.xx_linux.mk | 8 | ||||
-rw-r--r-- | packages/dsplink/files/openembedded.mk (renamed from packages/dsplink/files/davinci_mvlpro5.0.mk) | 9 | ||||
-rw-r--r-- | packages/dsplink/files/xdcpaths.mak | 232 |
8 files changed, 359 insertions, 26 deletions
diff --git a/packages/dsplink/codec-engine_2.10.bb b/packages/dsplink/codec-engine_2.10.bb index b783a5ef32..199df5ac62 100644 --- a/packages/dsplink/codec-engine_2.10.bb +++ b/packages/dsplink/codec-engine_2.10.bb @@ -5,7 +5,7 @@ RDEPENDS = "update-modules" inherit module -PR = "r2" +PR = "r4" PV = "2.10" # Get CE tarball from TI website, place in sources and calculate @@ -13,10 +13,43 @@ PV = "2.10" # Look for tarball at https://www-a.ti.com/downloads/sds_support/targetcontent/CE/index.html SRC_URI = "http://install.tarball.in.source.dir/codec_engine_2_10_01.tar.gz \ -" + file://xdcpaths.mak \ + " S = "${WORKDIR}/codec_engine_2_10_01" +# Path to the dir where the TI tools are unpacked +TITOOLSDIR ?= "/OE/TI" +# Path under TITOOLSDIR where dspbios is unpacked +TIBIOSDIR ?= "bios_5_32_03" +TIXDCTOOLSDIR ?= "${TIBIOSDIR}/xdctools" +# Path under TITOOLSDIR where the dsp toolchain is unpacked +TICGTOOLSDIR ?= "cg6x_6_1_2" + +PARALLEL_MAKE = "" + +do_configure() { + cp ${WORKDIR}/xdcpaths.mak ${S}/examples/ + sed -i -e s:SEDME_TITOOLS_BASEPATH:${TITOOLSDIR}:g \ + -e s:SEDME_BIOSUNPACKDIR:${TITOOLSDIR}/${TIBIOSDIR}:g \ + -e 's:SEDME_S:${S}:g' \ + -e s:SEDME_XDCTOOLSUNPACKDIR:${TITOOLSDIR}/${TIXDCTOOLSDIR}:g \ + -e s:/db/toolsrc/library/tools/vendors/mvl/arm/mvl4.0-new/montavista/pro/devkit/arm/v5t_le:${CROSS_DIR}:g \ + -e s:bin/arm_v5t_le-gcc:bin/${TARGET_PREFIX}gcc:g \ + -e s:/db/toolsrc/library/tools/vendors/ti/c6x/6.0.16/Linux:${TITOOLSDIR}/${TICGTOOLSDIR}:g \ + ${S}/examples/xdcpaths.mak + + sed -i -e s:/db/toolsrc/library/tools/vendors/mvl/arm/mvl4.0-new/montavista/pro/devkit/arm/v5t_le:${CROSS_DIR}:g \ + -e s:/db/toolsrc/library/tools/vendors/ti/c6x/6.0.16/Linux:${TITOOLSDIR}/${TICGTOOLSDIR}:g \ + ${S}/examples/user.bld + + for cfg in ${S}/examples/ti/sdo/ce/examples/apps/image_copy/package/cfg/*/*cfg ; do + sed -i -e s:arm_v5t_le-:${TAGET_PREFIX}:g $cfg + done + + echo -n "${CFLAGS} -I${TITOOLSDIR}/${TIXDCTOOLSDIR}/packages -I${S}/packages -I${S}/cetools/packages" > ${S}/examples/ti/sdo/ce/examples/apps/speech/linuxonly/app/compiler.opt +} + do_compile() { unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS cd ${S}/cetools/packages/ti/sdo/linuxutils/cmem @@ -45,6 +78,9 @@ do_compile() { KERNEL_VERSION=${KERNEL_VERSION} \ CC="${KERNEL_CC}" LD="${KERNEL_LD}" \ AR="${KERNEL_AR}" + +# oe_runmake -C ${S}/examples/ti/sdo/ce/examples/apps + } do_install() { @@ -55,6 +91,18 @@ do_install() { mv ${D}/cmemk.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp install -d ${D}/${base_sbindir} cd ${D} ; mv apitest apitestd multi_process multi_processd translate translated ${D}/${base_sbindir} + + install -d ${D}/${libdir} + for i in ${S}/cetools/packages/ti/sdo/linuxutils/cmem/lib/*.a ; do + install -m 0755 $i ${D}/${libdir}/ + done +} + +do_stage() { + install -d ${STAGING_LIBDIR} + for i in ${S}/cetools/packages/ti/sdo/linuxutils/cmem/lib/*.a ; do + install -m 0755 $i ${STAGING_LIBDIR}/ + done } pkg_postinst_${PN}-module () { @@ -71,6 +119,7 @@ pkg_postrm_${PN}-module () { PACKAGES =+ "dsplink-cmemk-module" FILES_dsplink-cmemk-module = "${sysconfdir} /lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp/*ko" +INHIBIT_PACKAGE_STRIP = "1" FILES_${PN} = "${base_sbindir}" diff --git a/packages/dsplink/dsplink.inc b/packages/dsplink/dsplink.inc index 5fdbd1de90..9e9dff888f 100644 --- a/packages/dsplink/dsplink.inc +++ b/packages/dsplink/dsplink.inc @@ -11,6 +11,13 @@ S = "${WORKDIR}/dsplink_1_50/dsplink" # Needed for buildscripts export DSPLINK = "${S}" +# Path to the dir where the TI tools are unpacked +TITOOLSDIR ?= "/OE/TI" +# Path under TITOOLSDIR where dspbios is unpacked +TIBIOSDIR ?= "bios_5_32_03" +# Path under TITOOLSDIR where the dsp toolchain is unpacked +TICGTOOLSDIR ?= "cg6x_6_1_2" + DSPLINKPLATFORM ?= "Davinci" DSPLINKPLATFORM_omap5912osk = "OMAP" @@ -23,18 +30,45 @@ DSPLINKSOC ?= "DM6446" DSPLINKSOC_beagleboard = "3530" + +USERARMFLAGS = "${TARGET_CC_ARCH}" +KERNELARMFLAGS = "-include linux/autoconf.h -c -iwithprefix include -Iinclude -Wall -Wstrict-prototypes \ + -Wno-trigraphs -fno-strict-aliasing -fno-common \ + -fno-omit-frame-pointer -mapcs -mno-sched-prolog \ + -mlittle-endian \ + -D__LINUX_ARM_ARCH__=5 -march=armv5t -mtune=arm9tdmi \ + -msoft-float -Uarm -mapcs \ + -Wdeclaration-after-statement -Os -marm -mabi=aapcs-linux" +KERNELARMFLAGS_armv6 = "-include linux/autoconf.h -c -iwithprefix include -Iinclude -Wall -Wstrict-prototypes \ + -Wno-trigraphs -fno-strict-aliasing -fno-common \ + -fno-omit-frame-pointer -mapcs -mno-sched-prolog \ + -mlittle-endian \ + -D__LINUX_ARM_ARCH__=6 -march=armv6j -mtune=arm1136jf-s \ + -msoft-float -Uarm -mapcs \ + -Wdeclaration-after-statement -Os -marm -mabi=aapcs-linux" +KERNELARMFLAGS_armv7a = "-c -nostdinc -include $(BASE_OSINC)/linux/autoconf.h -isystem $(OSINC_PLATFORM) -iwithprefix include -Iinclude -Wall -Wstrict-prototypes \ + -Wno-trigraphs -fno-strict-aliasing -fno-common \ + -fno-omit-frame-pointer -mapcs -mno-sched-prolog \ + -mlittle-endian \ + -D__LINUX_ARM_ARCH__=7 -march=armv7-a -mtune=cortex-a8 \ + -msoft-float -Uarm -mapcs \ + -Wdeclaration-after-statement -Os -marm -mabi=aapcs-linux \ + -D__KERNEL__ -mno-thumb-interwork -msoft-float -fno-optimize-sibling-calls -g -fno-stack-protector -Wno-pointer-sign -g -DUSE_UDEV=1 -DOS_LINUX -DLINUX_KERNEL" + +DSPFLAGS = "-q -pdr -pdv -pden -ml3 -mv64+ " + export DSPLINKPLATFORM export DSPLINKDSP do_configure () { cp ${WORKDIR}/CURRENTCFG.MK ${S}/config - cp ${WORKDIR}/davinci_mvlpro5.0.mk ${S}/make/Linux + cp ${WORKDIR}/openembedded.mk ${S}/make/Linux cp ${WORKDIR}/c64xx_5.xx_linux.mk ${S}/make/DspBios sed -i -e s:SED_ME_SOURCEDIR:${S}:g \ - -e s:SED_ME_GPPDISTRO:davinci_mvlpro5\.0:g \ + -e s:SED_ME_GPPDISTRO:openembedded:g \ -e s:SED_ME_KERNELVERSION:${KERNEL_VERSION}:g \ - -e s:SED_ME_DSPDISTRO:davinci_mvlpro5\.0:g \ + -e s:SED_ME_DSPDISTRO:c64xx_5.xx_linux:g \ -e s:SED_ME_PLATFORM:${DSPLINKPLATFORM}:g \ -e s:SED_ME_DSP:${DSPLINKDSP}:g \ -e s:SED_ME_SOC:${DSPLINKSOC}:g \ @@ -43,9 +77,16 @@ do_configure () { sed -i -e s:SED_ME_CROSS:${STAGING_INCDIR}:g \ -e s:SED_ME_STAGINGDIR:${STAGING_DIR_TARGET}:g \ -e s:SED_ME_TARGET_PREFIX:${TARGET_PREFIX}:g \ - -e s:SED_ME_KERNELDIR:${STAGING_KERNEL_DIR}:g \ - ${S}/make/Linux/davinci_mvlpro5.0.mk - + -e s:SED_ME_KERNELDIR:${STAGING_KERNEL_DIR}:g \ + -e 's:SEDME_KERNEL_ARMFLAGS:${KERNELARMFLAGS}:g' \ + -e 's:SEDME_USER_ARMFLAGS:${USERARMFLAGS}:g' \ + ${S}/make/Linux/openembedded.mk + + sed -i -e s:SEDME_TITOOLS_BASEPATH:${TITOOLSDIR}:g \ + -e s:SEDME_BIOSUNPACKDIR:${TIBIOSDIR}:g \ + -e s:SEDME_CGTOOLSDIR:${TICGTOOLSDIR}:g \ + -e 's:SEDME_DSPFLAGS:${DSPFLAGS}:g' \ + ${S}/make/DspBios/c64xx_5.xx_linux.mk } PARALLEL_MAKE = "" @@ -59,9 +100,15 @@ do_compile () { ln -sf ${S}/gpp/src/pmgr/pmgr_proc.h ${S}/gpp/inc/pmgr_proc.h unset DISPLAY - - oe_runmake -C ${S}/gpp/src all targets + + sed -i -e 's:gcc:gcc${KERNEL_CCSUFFIX}:' ${S}/make/Linux/openembedded.mk + oe_runmake CC="${KERNEL_CC}" LD="${KERNEL_LD}" -C ${S}/gpp/src all targets + + sed -i -e 's:gcc${KERNEL_CCSUFFIX}:gcc:' ${S}/make/Linux/openembedded.mk oe_runmake -C ${S}/gpp/src/samples + + oe_runmake -C ${S}/dsp/src + oe_runmake -C ${S}/dsp/src/samples } do_install () { @@ -71,6 +118,15 @@ do_install () { install -d ${D}/${bindir} install ${S}/gpp/BUILD/EXPORT/RELEASE/mpcsxfergpp ${D}/${bindir} install ${S}/gpp/BUILD/EXPORT/RELEASE/ringiogpp ${D}/${bindir} + + install -d ${D}/${libdir} + install -m 0755 ${S}/gpp/BUILD/EXPORT/RELEASE/dsplink.lib ${D}/${libdir} +} + + +do_stage() { + install -d ${STAGING_LIBDIR} + install -m 0755 ${S}/gpp/BUILD/EXPORT/RELEASE/dsplink.lib ${STAGING_LIBDIR}/ } pkg_postinst_${PN}-module () { @@ -88,6 +144,7 @@ pkg_postrm_${PN}-module () { PACKAGES =+ "${PN}-module" FILES_${PN}-module = "${sysconfdir} /lib/modules" FILES_${PN} = "${bindir}/mpcsxfergpp ${bindir}/ringiogpp" +INHIBIT_PACKAGE_STRIP = "1" PACKAGE_ARCH = "${MACHINE_ARCH}" diff --git a/packages/dsplink/dsplink_1.50.bb b/packages/dsplink/dsplink_1.50.bb index f222fd2861..9132389923 100644 --- a/packages/dsplink/dsplink_1.50.bb +++ b/packages/dsplink/dsplink_1.50.bb @@ -1,6 +1,6 @@ require dsplink.inc -PR = "r6" +PR = "r9" PE = "1" PV = "1.50" @@ -11,7 +11,7 @@ PV = "1.50" SRC_URI = "http://install.tarball.in.source.dir/dsplink_1_50.tar.gz \ file://CURRENTCFG.MK \ file://c64xx_5.xx_linux.mk \ - file://davinci_mvlpro5.0.mk \ + file://openembedded.mk \ file://prcs-fix-include.patch;patch=1;pnum=2 \ " diff --git a/packages/dsplink/dsplink_1.51.00.08.bb b/packages/dsplink/dsplink_1.51.00.08.bb index 41e3721a05..36ac50f4cf 100644 --- a/packages/dsplink/dsplink_1.51.00.08.bb +++ b/packages/dsplink/dsplink_1.51.00.08.bb @@ -1,6 +1,6 @@ require dsplink.inc -PR = "r4" +PR = "r9" PE = "1" PV = "1.51" @@ -11,7 +11,7 @@ PV = "1.51" SRC_URI = "http://install.tarball.in.source.dir/dsplink_1_51_00_08.tar.gz \ file://CURRENTCFG.MK \ file://c64xx_5.xx_linux.mk \ - file://davinci_mvlpro5.0.mk \ + file://openembedded.mk \ file://prcs-fix-include.patch;patch=1;pnum=2 \ " diff --git a/packages/dsplink/files/CURRENTCFG.MK b/packages/dsplink/files/CURRENTCFG.MK index 1f932f2b77..55959854e1 100644 --- a/packages/dsplink/files/CURRENTCFG.MK +++ b/packages/dsplink/files/CURRENTCFG.MK @@ -48,7 +48,7 @@ export DSPPLATFORM := SED_ME_PLATFORM # Target GPP and DSP devices # ========================================================= export GPPDEVICE := SED_ME_PLATFORM -export DSPDEVICE := SED_ME_DSP +export DSPDEVICE := SED_ME_DSP # ========================================================= diff --git a/packages/dsplink/files/c64xx_5.xx_linux.mk b/packages/dsplink/files/c64xx_5.xx_linux.mk index d0b27d7a55..ea806fff4e 100644 --- a/packages/dsplink/files/c64xx_5.xx_linux.mk +++ b/packages/dsplink/files/c64xx_5.xx_linux.mk @@ -35,8 +35,8 @@ USE_DISTRIBUTION := 1 # ---------------------------------------------------------------------------- # Base directory for the DSP OS # ---------------------------------------------------------------------------- -BASE_INSTALL := /opt/ti-tools -BASE_SABIOS := $(BASE_INSTALL)/bios +BASE_INSTALL := SEDME_TITOOLS_BASEPATH +BASE_SABIOS := $(BASE_INSTALL)/SEDME_BIOSUNPACKDIR BASE_BUILDOS := $(BASE_SABIOS)/packages/ti/bios # ---------------------------------------------------------------------------- @@ -47,7 +47,7 @@ XDCTOOLS_DIR := $(BASE_SABIOS)/xdctools # ---------------------------------------------------------------------------- # Base for code generation tools - compiler, linker, archiver etc. # ---------------------------------------------------------------------------- -BASE_CGTOOLS := $(BASE_INSTALL)/c6000/cgtools +BASE_CGTOOLS := $(BASE_INSTALL)/SEDME_CGTOOLSDIR BASE_CGTOOLSBIN := $(BASE_CGTOOLS)/bin # ---------------------------------------------------------------------------- @@ -135,7 +135,7 @@ CC_SW_REL := -o3 # ---------------------------------------------------------------------------- # Standard flags for the compiler # ---------------------------------------------------------------------------- -STD_CC_FLAGS := -q -pdr -pdv -pden -ml3 -mv6400 -d"CHIP_DM642" +STD_CC_FLAGS := SEDME_DSPFLAGS -d"CHIP_DM642" # ---------------------------------------------------------------------------- # Standard flags for the compiler when building an executable diff --git a/packages/dsplink/files/davinci_mvlpro5.0.mk b/packages/dsplink/files/openembedded.mk index 2379bc359e..aaf241ad14 100644 --- a/packages/dsplink/files/davinci_mvlpro5.0.mk +++ b/packages/dsplink/files/openembedded.mk @@ -99,13 +99,8 @@ CC_SW_DEB := -g # ---------------------------------------------------------------------------- # Standard flags for the compiler # ---------------------------------------------------------------------------- -STD_KRNL_FLAGS := -include linux/autoconf.h -c -iwithprefix include -Iinclude -Wall -Wstrict-prototypes\ - -Wno-trigraphs -fno-strict-aliasing -fno-common \ - -fno-omit-frame-pointer -mapcs -mno-sched-prolog \ - -mlittle-endian -D__LINUX_ARM_ARCH__=5 -march=armv5t \ - -mtune=arm9tdmi -msoft-float -Uarm -mapcs \ - -Wdeclaration-after-statement -Os -marm -mabi=aapcs-linux -STD_USER_FLAGS := -mlittle-endian -march=armv5t -mtune=arm9tdmi -msoft-float \ +STD_KRNL_FLAGS := SEDME_KERNEL_ARMFLAGS +STD_USER_FLAGS := -mlittle-endian SEDME_USER_ARMFLAGS -msoft-float \ -Uarm -Wdeclaration-after-statement -marm -Wall \ -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing \ -fno-common -fno-omit-frame-pointer -mapcs -c \ diff --git a/packages/dsplink/files/xdcpaths.mak b/packages/dsplink/files/xdcpaths.mak new file mode 100644 index 0000000000..3df3bf6305 --- /dev/null +++ b/packages/dsplink/files/xdcpaths.mak @@ -0,0 +1,232 @@ +# +# ======== xdcpaths.mak ======== +# definition of XDC paths and commands +# +# This makefile constructs the "search path" for the XDC tools where it finds +# numerous components and packages needed to build Codec Engine examples and +# programs. +# +# USER NOTE: +# 1) you must specify various <component>_INSTALL_DIRs directores below to +# reflect your installation, where <component> is CE for Codec Engine, +# BIOS for DSP/BIOS, etc. +# 2) you must specify compiler path and name in CGTOOLS_* variables below +# 3) you can remove some of the devices from the "DEVICES" list and/or remove +# some of the types of binaries from the "PROGRAMS" list to reduce +# the build time (and possibly avoid checking for presence of a component +# you don't need) + + + +# (Optional) Remove from this list the devices you're not interested in building +DEVICES := DM6446 DM355 DM6437 DM648 DM6467 + +# (Optional) Remove from the list the types of programs you're not intersted in +# building: +# APP_CLIENT -- Arm client for codecs running on the DSP, on dual-CPU systems +# DSP_SERVER -- DSP server with the codecs, running on the DSP, on dual-CPUs +# APP_LOCAL -- Client+codecs in a single program, whether Arm only or DSP only +PROGRAMS := APP_CLIENT DSP_SERVER APP_LOCAL + + +# (Mandatory) Specify where various components are installed. +# What you need depends on what device(s) you're building for, what type(s) of +# programs you are building for, and whether your Codec Engine distribution +# is a "big" one that contains all the minor components in its "cetools" +# directory. The legend: +# CE - Codec Engine (needed for Arm and for DSP) +# XDC - XDC tools (Arm and DSP) +# BIOS - DSP/BIOS (DSP only) +# XDAIS - XDAIS header files (Arm and DSP) +# FC - Framework components, various resource managers (ARM and DSP) +# CMEM - Continuous memory manager (Arm only) +# DSPLINK - Arm<->DSP communication software (Arm + DSP) +# +# you can omit directory specifications for the components you think you don't +# need (will be warned if you do, based on your DEVICES + PROGRAMS selection +# above). + +CE_INSTALL_DIR := SEDME_S +XDC_INSTALL_DIR := SEDME_XDCTOOLSUNPACKDIR +BIOS_INSTALL_DIR := SEDME_BIOSUNPACKDIR + +# no need to specify the installation directories below if your CE installation +# has cetools/ directory on top +USE_CETOOLS_IF_EXISTS := 1 +XDAIS_INSTALL_DIR := _your_xDAIS_installation_directory/xdais_6_10_01 +DSPLINK_INSTALL_DIR := _your_DSPLink_installation_directory/dsplink-davinci-v1.50-prebuilt +CMEM_INSTALL_DIR := _your_CMEM_installation_directory/cmem_2_10 +FC_INSTALL_DIR := _your_FC_installation_directory/framework_components_2_10_01 +BIOSUTILS_INSTALL_DIR := _your_BIOSUTILS_installation_directory/biosutils + + +# (Mandatory) specify correct compiler paths and names for the architectures +# you'll be building for: + +# compiler path and name for Montavista Arm 9 toolchain. NOTE: make sure the +# directory you specify has a "bin" subdirectory +CGTOOLS_MVARM9 = /db/toolsrc/library/tools/vendors/mvl/arm/mvl4.0-new/montavista/pro/devkit/arm/v5t_le +CC_MVARM9 = bin/arm_v5t_le-gcc + +# compiler path and name for TI C64x toolchain. NOTE: make sure the +# directory you specify has a "bin" subdirectory +CGTOOLS_C64P = /db/toolsrc/library/tools/vendors/ti/c6x/6.0.16/Linux +CC_C64P = bin/cl6x + +# ----------------------------------------------------------------------------- + +# figure out what categories of devices we are to build for +ifneq (,$(findstring DM6446,$(DEVICES))) + DEVICES_DAVINCI := 1 +endif +ifneq (,$(findstring DM6467,$(DEVICES))) + DEVICES_DAVINCI := 1 +endif +ifneq (,$(findstring DM355,$(DEVICES))) + DEVICES_ARMONLY := 1 +endif +ifneq (,$(findstring DM6437,$(DEVICES))) + DEVICES_DSPONLY := 1 +endif +ifneq (,$(findstring DM648,$(DEVICES))) + DEVICES_DSPONLY := 1 +endif + +# determine which components are necessary based on DEVICES and PROGRAMS +REQUIRE_CE := 1 +REQUIRE_XDC := 1 +REQUIRE_XDAIS := 1 +REQUIRE_FC := 1 + +ifneq (,$(findstring DM6446,$(DEVICES))) + ifneq (, $(findstring APP_CLIENT, $(PROGRAMS) )) + REQUIRE_LINK := 1 + REQUIRE_CMEM := 1 + endif + ifneq (, $(findstring DSP_SERVER, $(PROGRAMS) )) + REQUIRE_LINK := 1 + REQUIRE_BIOS := 1 + endif +endif + +ifneq (,$(findstring DM6467,$(DEVICES))) + ifneq (, $(findstring APP_CLIENT, $(PROGRAMS) )) + REQUIRE_LINK := 1 + REQUIRE_CMEM := 1 + endif + ifneq (, $(findstring DSP_SERVER, $(PROGRAMS) )) + REQUIRE_LINK := 1 + REQUIRE_BIOS := 1 + endif +endif + +ifneq (,$(findstring DM355,$(DEVICES))) + ifneq (, $(findstring APP_LOCAL, $(PROGRAMS) )) + REQUIRE_CMEM := 1 + endif +endif + +ifneq (,$(findstring DM6437,$(DEVICES))) + ifneq (, $(findstring APP_LOCAL, $(PROGRAMS) )) + REQUIRE_BIOS := 1 + endif +endif + +ifneq (,$(findstring DM648,$(DEVICES))) + ifneq (, $(findstring APP_LOCAL, $(PROGRAMS) )) + REQUIRE_BIOS := 1 + endif +endif + + +# Build the XDC path from the necessary components, verifying along the way +# that the required compoments are present +XDC_PATH := + +ERRMSG = which is invalid (could not find file "$(TEST_FILE)"). Set this in <codec engine examples>/xdcpaths.mak! See the build documentation to correct this error. + +# CE_INSTALL_DIR is the location of your Codec Engine. +ifeq ($(REQUIRE_CE), 1) + TEST_FILE := $(CE_INSTALL_DIR)/packages/ti/sdo/ce/package.xdc + ifeq ($(wildcard $(TEST_FILE)),) + $(error CE_INSTALL_DIR is set to "$(CE_INSTALL_DIR)", $(ERRMSG)) + endif + XDC_PATH := $(CE_INSTALL_DIR)/packages +endif + +# Add cetools to XDCPATH if 1) $(USE_CETOOLS_IF_EXISTS) is set, and +# 2) the CE distribution has "cetools/" +USING_CETOOLS := 0 +ifeq ($(USE_CETOOLS_IF_EXISTS), 1) + ifneq ($(wildcard $(CE_INSTALL_DIR)/cetools),) + USING_CETOOLS := 1 + XDC_PATH := $(CE_INSTALL_DIR)/cetools/packages;$(XDC_PATH) + endif +endif +ifeq ($(USING_CETOOLS),0) + # XDAIS_INSTALL_DIR is the location of your XDAIS distribution + ifeq ($(REQUIRE_XDAIS), 1) + TEST_FILE := $(XDAIS_INSTALL_DIR)/packages/ti/xdais/package.xdc + ifeq ($(wildcard $(TEST_FILE)),) + $(error XDAIS_INSTALL_DIR is set to "$(XDAIS_INSTALL_DIR)", $(ERRMSG)) + endif + XDC_PATH := $(XDC_PATH);$(XDAIS_INSTALL_DIR)/packages + endif + + # DSPLINK_INSTALL_DIR is the location of your DSPLINK distribution + ifeq ($(REQUIRE_LINK), 1) + TEST_FILE := $(DSPLINK_INSTALL_DIR)/packages/dsplink/gpp/package.xdc + ifeq ($(wildcard $(TEST_FILE)),) + $(error DSPLINK_INSTALL_DIR is set to "$(DSPLINK_INSTALL_DIR)", $(ERRMSG)) + endif + XDC_PATH := $(XDC_PATH);$(DSPLINK_INSTALL_DIR)/packages + endif + + # CMEM_INSTALL_DIR is the location of your CMEM distribution + ifeq ($(REQUIRE_CMEM), 1) + TEST_FILE := $(CMEM_INSTALL_DIR)/packages/ti/sdo/linuxutils/cmem/package.xdc + ifeq ($(wildcard $(TEST_FILE)),) + $(error CMEM_INSTALL_DIR is set to "$(CMEM_INSTALL_DIR)", $(ERRMSG)) + endif + XDC_PATH := $(XDC_PATH);$(CMEM_INSTALL_DIR)/packages + endif + + # FC_INSTALL_DIR is the location of your Frameworks Components distribution + ifeq ($(REQUIRE_FC), 1) + TEST_FILE := $(FC_INSTALL_DIR)/packages/ti/sdo/fc/dskt2/package.xdc + ifeq ($(wildcard $(TEST_FILE)),) + $(error FC_INSTALL_DIR is set to "$(FC_INSTALL_DIR)", $(ERRMSG)) + endif + XDC_PATH := $(XDC_PATH);$(FC_INSTALL_DIR)/packages + endif + + # BIOSUTILS_INSTALL_DIR is the location of your BIOSUTILS distribution + ifeq ($(REQUIRE_BIOS), 1) + TEST_FILE := $(BIOSUTILS_INSTALL_DIR)/packages/ti/bios/utils/package.xdc + ifeq ($(wildcard $(TEST_FILE)),) + $(error BIOSUTILS_INSTALL_DIR is set to "$(BIOSUTILS_INSTALL_DIR)", $(ERRMSG)) + endif + XDC_PATH := $(XDC_PATH);$(BIOSUTILS_INSTALL_DIR)/packages + endif + +endif + +# BIOS_INSTALL_DIR is the location of your BIOS distribution +ifeq ($(REQUIRE_BIOS), 1) + TEST_FILE := $(BIOS_INSTALL_DIR)/packages/ti/bios/package.xdc + ifeq ($(wildcard $(TEST_FILE)),) + $(error BIOS_INSTALL_DIR is set to "$(BIOS_INSTALL_DIR)", $(ERRMSG)) + endif + XDC_PATH := $(XDC_PATH);$(BIOS_INSTALL_DIR)/packages +endif + +# XDC_INSTALL_DIR is the location of your XDCTOOLS installation. +ifeq ($(REQUIRE_XDC), 1) + TEST_FILE := $(XDC_INSTALL_DIR)/packages/xdc/package.xdc + ifeq ($(wildcard $(TEST_FILE)),) + $(error XDC_INSTALL_DIR is set to "$(XDC_INSTALL_DIR)", $(ERRMSG)) + endif +endif + +# XDC_PATH is complete. Any other components you could add as +# XDC_PATH := <your component>/packages;$(XDC_PATH) |