blob: 567d471b63a82adb0ac8b94662ce0f3aed22e0dc [file] [log] [blame]
/* --COPYRIGHT--,EPL
* Copyright (c) 2008 Texas Instruments and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Texas Instruments - initial implementation
*
* --/COPYRIGHT--*/
/*
* ======== IPackage.init ========
* Define the default Package init function.
*/
function init () {}
/*
* ======== IPackage.close ========
* Define the default Package close function.
*/
function close () {}
/*
* ======== IPackage.validate ========
* Define the default Package validate function.
*/
function validate () {}
/*
* ======== IPackage.exit ========
* Define the default Package exit function.
*/
function exit () {}
/*
* ======== IPackage.getLibs ========
* Define the default Package getLibs function. This function deals with two
* different types of elements in the array 'this.build.libraries'. Until
* xdc-n36, the array contained strings with library names. Since xdc-n36,
* each element is a structure of two properties, 'name' is the name of the
* library, 'target' is the name of the target for which the library is built.
*
*/
function getLibs (prog)
{
/* if a getLibs was specified in the build script, use it */
if (this.build.getLibs != null) {
return (this.build.getLibs.call(this, prog));
}
/* if this package has any libraries in 'this.build', it means the
* libraries were built by XDCtools.
*/
if (this.build.libraries.length != 0) {
var targLibs = [];
/* We need to find find the most compatible suffix and find all
* libraries for that suffix.
*/
var bestSuffix = prog.build.target.findSuffix(this);
for (var i = 0; i < this.build.libDesc.length; i++) {
if (this.build.libDesc[i].suffix == bestSuffix) {
targLibs.push(this.build.libraries[i]);
}
}
/* if there is just one (or no) library, the choice is clear */
if (targLibs.length == 1) {
return (targLibs[0]);
}
if (targLibs.length == 0) {
return (null);
}
/* otherwise, assume a default name */
return ("lib/" + this.$name + ".a" + prog.build.target.suffix);
}
/* otherwise return null; i.e., no library is necessary */
return (null);
}
/*
* ======== IPackage.getSects ========
* Define the default Package getSects function.
*/
function getSects ()
{
return (null);
}