blob: 29fcececd5d320ffc216c57ba4524b976b2bc0fc [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--*/
requires xdc.services.global;
requires xdc.services.intern.cmd;
/*!
* ======== xdc.bld ========
* The XDC Build Model
*
* This package contains the XDC Build Model and the interfaces necessary
* to extend the Build Model to handle new compiler tool chains. The
* modules in this package (and the instances managed by these modules)
* form the Build Object Model (BOM).
*
* This model enables build scripts to declare the contents of each release
* of a package. Based on these manifests, the Build Engine generates
* makefiles that build the specified object files, libraries, and
* executables, and archive these files into specified release files. In
* addition, the generated makefiles are also capable of running collections
* of executables with command line arguments (provided that the platforms
* support this); e.g., regression tests.
*
* @a(NOTE) User supplied file names of source files, generated libraries and
* executables must be limited to portable POSIX file names. That
* means that only alphanumeric charaters, and '_', '.', and '-'
* are allowed.
*
* @a(throws)
* `XDCException` exceptions are thrown for fatal errors. The following error
* codes are reported in the exception message:
*
* @p(dlist)
* - `xdc.bld.TARGET_CONFIG_ERROR`
* This error is reported whenever there is an error in
* the target configuration file. Check the configuration script
* for errors.
* - `xdc.bld.ROOTDIR_NOT_SET`
* This error is reported when the `rootDir` property for a target
* has not been set in the target configuration script. Ensure
* that this property is set correctly in the configuration
* script.
* - `xdc.bld.PLATFORM_NOT_SET`
* This error is reported when either 1) the `platform` property for
* a target has not been set in the target specification or the
* target configuration script (config.bld) or 2) the build script
* (package.bld) is setting the platform for a program to an
* invalid value.
* - `xdc.bld.DUPLICATE_TARGET_ERROR`
* This error is reported when a same target is listed twice in
* `Bld.targets`. Check `{@link xdc.bld.BuildEnvironment#targets}`
* to find out how `Bld.targets` is constructed.
*/
package xdc.bld [1, 0, 2] {
/* interfaces to code gen tool chains (used by build engine) */
interface ITarget, ITarget2, ITarget3;
/* interface to user-supplied extensions that filter target commands */
interface ITargetFilter;
/* global build environment read by a build script */
module BuildEnvironment;
/* package contents container populated by a build script */
module PackageContents;
/* objects that can be added to the PackageContents container */
module Release;
module Library;
module Test;
module Object;
module Executable;
module Repository;
module Assembly, Configuration;
module Script;
/* each release has an optional script to post-process files
* listed in a Manifest */
module Manifest;
/* misc utils to simplify target development (ITarget implementations) */
module Utils;
}