I want to create an executable with XDC.
I have a simple hello world main.c.
I have the following .cfg file:
// Set the OS abstraction layer to Linux
var osalGlobal = xdc.useModule('ti.sdo.ce.osal.Global');
osalGlobal.runtimeEnv = osalGlobal.LINUX;
// A build function to build an executable
function buildExe()
{
// lib/ is a generated directory that 'xdc clean' should remove
Pkg.generatedFiles.$add('exe/');
// Get the executable name from the folder name
var vendorFolder = new java.io.File('..');
var moduleFolder = new java.io.File('.');
var vendorName = vendorFolder.getCanonicalPath().match(/[a-z_]+$/).toString();
var moduleName = moduleFolder.getCanonicalPath().match(/[a-z_]+$/).toString();
var i = 0;
for(i = 0; i < Build.targets.length; i++)
{
var target = Build.targets[i];
print('Building ' + moduleName + ' for ' + target.platform);
// Build for all profiles
var profile;
for(profile in target.profiles)
{
var exeName = 'exe/' + profile + '/' + moduleName;
var fullExeName = exeName + '.x' + target.suffix;
Pkg.addExecutable(exeName, target, target.platform,
{
profile: profile,
cfgScript: moduleName
}).addObjects(sources);
}
}
}
But I get the following errors:
lnk86U exe/release/debug_app.x86U ...
/usr/bin/ld: skipping incompatible /home/matt/dvsdk_2_10_01_18/codec_engine_2_24/packages/ti/sdo/ce/ipc/linux/lib/release/ipc_linux.a86U when searching for /home/matt/dvsdk_2_10_01_18/codec_engine_2_24/packages/ti/sdo/ce/ipc/linux/lib/release/ipc_linux.a86U
/usr/bin/ld: cannot find /home/matt/dvsdk_2_10_01_18/codec_engine_2_24/packages/ti/sdo/ce/ipc/linux/lib/release/ipc_linux.a86U
I am using Fedora 15 x64 but have specified -m32 as a flag to GCC to build a 32bit executable.
I'm obviously missing some steps but am lost in XDC a bit.
Could anyone provide any insight?