/* * ======== config.bld ======== * This script is run prior to all build scripts. It sets host-system- * independent values for targets and platforms, then it attempts to * find the host-system-specific user.bld script that sets rootDirs. * * These settings may be a function of the following global variables: * * environment a hash table of environment strings * * arguments an array of string arguments to the config.bld script * initialized as follows: * arguments[0] - the file name of the config.bld script * arguments[1] - the first argument specified in XDCARGS * : * arguments[n] - the n'th argument in XDCARGS * * Build an alias for xdc.om.xdc.bld.BuildEnvironment */ /* * ======== DSP target ======== */ var remarks = " " + // "-pdr " + // enable remarks "-pden " + // enumerate remarks // "-pds=880 " + // variable never referenced // "-pds=552 " + // variable set but not used // "-pds=238 " + // controlling expression is constant "-pds=681 " + // call cannot be inlined "-pds=452 " + // long long type is not standard "-pds=195 " + // zero used for undefined preprocessing id (setjmp.h) // check for -pds=452 -pds=238 -pds=681 ""; var C64P = xdc.useModule('ti.targets.C64P'); C64P.platform = "ti.platforms.evmDM6446"; C64P.ccOpts.prefix += " --no_compress --mem_model:data=far --disable:sploop " + remarks; /* * ======== Linux host target ======== */ var Linux86 = xdc.useModule('gnu.targets.Linux86'); Linux86.lnkOpts.suffix = "-lpthread " + Linux86.lnkOpts.suffix; Linux86.rootDir = "/usr"; Linux86.ccOpts.prefix += " -Wall"; Linux86.includeOpts += " -isystem /usr/lib/gcc/i386-redhat-linux/$(GCCVERS)/include "; /* * ======== Arm target ======== * [dm]TODO:H double-check all these options! Decide what to add or remove. */ var MVArm9 = xdc.useModule('gnu.targets.MVArm9'); MVArm9.ccOpts.prefix += " " // options that check quality/strictness of code + "-Wall " // supress some warnings caused by .xdc.h files + "-fno-strict-aliasing " ; MVArm9.platform = "ti.platforms.evmDM6446"; /* remove reference to C++ from opts */ MVArm9.lnkOpts.suffix = MVArm9.lnkOpts.suffix.replace("-lstdc++", ""); /* add pthreads */ MVArm9.lnkOpts.suffix = "-lpthread " + MVArm9.lnkOpts.suffix; /* add search path for DaVinci lsp driver header files */ MVArm9.includeOpts = "-isystem $(rootdir)/../../../lsp/ti-davinci_evm-arm_v5t_le/linux-2.6.10_mvl401/include " + MVArm9.includeOpts; /* * ======== Pkg.attrs.profile ======== */ Pkg.attrs.profile = "release"; /* * ======== Pkg.libTemplate ======== * Set default library version template to be used by all packages */ Pkg.libTemplate = "ti/sdo/ce/utils/libvers.xdt"; /* * ======== Tool Locations ========= */ /* location of your C6000 codegen tools (C64P is target name for Joulle)*/ C64P.rootDir = "/opt/cg6x_6_0_3"; /* location of your Montavista Arm9 tools */ MVArm9.rootDir = "/opt/montavista/pro/devkit/arm/v5t_le/armv5tl-montavista-linuxeabi"; /* * ======== Build.targets ======== * list of targets (ISAs + compilers) to build for */ Build.targets = [ C64P, MVArm9, Linux86 ]; var paths = []; // Where to copy the resulting executables and data to (when executing 'make // install') in a proper file structure. This EXEC_DIR should either be visible // from the target, or you will have to copy this (whole) directory onto the // target filesystem. paths["EXEC_DIR"]="/home/user/workdir/filesys/opt/workshop";