1 /*
2 * Copyright (c) 2008 Texas Instruments and others.
3 * All rights reserved. This program and the accompanying materials
4 * are made available under the terms of the Eclipse Public License v1.0
5 * which accompanies this distribution, and is available at
6 * http://www.eclipse.org/legal/epl-v10.html
7 *
8 * Contributors:
9 * Texas Instruments - initial implementation
10 *
11 * */
12 requires xdc.services.global;
13 requires xdc.services.intern.cmd;
14
15 /*!
16 * ======== xdc.bld ========
17 * The XDC Build Model
18 *
19 * This package contains the XDC Build Model and the interfaces necessary
20 * to extend the Build Model to handle new compiler tool chains. The
21 * modules in this package (and the instances managed by these modules)
22 * form the Build Object Model (BOM).
23 *
24 * This model enables build scripts to declare the contents of each release
25 * of a package. Based on these manifests, the Build Engine generates
26 * makefiles that build the specified object files, libraries, and
27 * executables, and archive these files into specified release files. In
28 * addition, the generated makefiles are also capable of running collections
29 * of executables with command line arguments (provided that the platforms
30 * support this); e.g., regression tests.
31 *
32 * @a(NOTE) User supplied file names of source files, generated libraries and
33 * executables must be limited to portable POSIX file names. That
34 * means that only alphanumeric charaters, and '_', '.', and '-'
35 * are allowed.
36 *
37 * @a(throws) 38 * `XDCException` exceptions are thrown for fatal errors. The following error
39 * codes are reported in the exception message:
40 *
41 * @p(dlist) 42 * - `xdc.bld.TARGET_CONFIG_ERROR`
43 * This error is reported whenever there is an error in
44 * the target configuration file. Check the configuration script
45 * for errors.
46 * - `xdc.bld.ROOTDIR_NOT_SET`
47 * This error is reported when the `rootDir` property for a target
48 * has not been set in the target configuration script. Ensure
49 * that this property is set correctly in the configuration
50 * script.
51 * - `xdc.bld.PLATFORM_NOT_SET`
52 * This error is reported when either 1) the `platform` property for
53 * a target has not been set in the target specification or the
54 * target configuration script (config.bld) or 2) the build script
55 * (package.bld) is setting the platform for a program to an
56 * invalid value.
57 * - `xdc.bld.DUPLICATE_TARGET_ERROR`
58 * This error is reported when a same target is listed twice in
59 * `Bld.targets`. Check `{@link xdc.bld.BuildEnvironment#targets}`
60 * to find out how `Bld.targets` is constructed.
61 */
62 package xdc.bld [1,0,2] {
63
64 /* interfaces to code gen tool chains (used by build engine) */
65 interface ITarget, ITarget2;
66
67 /* interface to user-supplied extensions that filter target commands */
68 interface ITargetFilter;
69
70 /* global build environment read by a build script */
71 module BuildEnvironment;
72
73 /* package contents container populated by a build script */
74 module PackageContents;
75
76 /* objects that can be added to the PackageContents container */
77 module Release;
78 module Library;
79 module Test;
80 module Object;
81 module Executable;
82 module Repository;
83 module Assembly, Configuration;
84 module Script;
85
86 /* each release has an optional script to post-process files
87 * listed in a Manifest */
88 module Manifest;
89
90 /* misc utils to simplify target development (ITarget implementations) */
91 module Utils;
92 }
93 /*
94 * @(#) xdc.bld; 1, 0, 2,389; 9-20-2012 15:01:53; /db/ztree/library/trees/xdc/xdc-y36x/src/packages/
95 */
96