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     */
    58    package xdc.bld [1,0,2] {
    59    
    60        /* interface to code gen tool chains (used by build engine) */
    61        interface ITarget;
    62    
    63        /* interface to user-supplied extensions that filter target commands */
    64        interface ITargetFilter;
    65    
    66        /* global build environment read by a build script */
    67        module    BuildEnvironment;
    68    
    69        /* package contents container populated by a build script */
    70        module    PackageContents;
    71    
    72        /* objects that can be added to the PackageContents container */
    73        module    Release;
    74        module    Library;
    75        module    Test;
    76        module    Object;
    77        module    Executable;
    78        module    Repository;
    79        module    Assembly;
    80        module    Script;
    81        
    82        /* each release has an optional script to post-process files
    83         * listed in a Manifest */
    84        module    Manifest;
    85    
    86        /* misc utils to simplify target development (ITarget implementations) */
    87        module    Utils;
    88    }
    89    /*
    90     *  @(#) xdc.bld; 1, 0, 2,208; 6-9-2009 20:08:46; /db/ztree/library/trees/xdc-t50x/src/packages/
    91     */
    92