| /* --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--*/ |
| /* |
| * ======== Main.xdc ======== |
| */ |
| |
| /*! |
| * ======== Main ======== |
| * API for the configuration model. |
| * |
| * This module contains functions that allow a client to run separate |
| * steps of the configuration phase. |
| * |
| * @_nodoc |
| */ |
| |
| metaonly module Main { |
| |
| /*! |
| * ======== init ======== |
| * Initialize the configuration model |
| * |
| * This function adds references `Program` and `prog` to the current |
| * scope. Both references refer to `xdc.cfg.Program` module. |
| * |
| * This function also replaces the default implementation of |
| * `xdc.useModule` with a config-specific implementation. |
| */ |
| Void init(); |
| |
| /*! |
| * ======== setExecutable ======== |
| * Select the executable to be configured |
| * |
| * This function populates the Program object based on the executable. |
| * The executable is either a `java.io.File` object or a string specifying |
| * a file name. If `pathPrefix` is supplied, the executable is located in |
| * the directory specified by that parameter. Otherwise, the executable |
| * is searched for in the current directory and if it is not found there, |
| * an error is reported. |
| * |
| * Supplying `pathPrefix` is not necessary for standard build flow but is |
| * required if this module is used directly, e.g. via graphical |
| * configuration. |
| * |
| * @param `cfgScript` executable configuration script |
| * |
| * @param `pathPrefix` absolute path to the directory where |
| * `cfgScript` is located |
| * |
| * @a(return) the array of error messages joined in a string |
| * separated by "@@" |
| */ |
| String setExecutable(String cfgScript, String pathPrefix); |
| |
| /*! |
| * ======== runStringCfg ======== |
| * UNDER CONSTRUCTION |
| * @_nodoc |
| * |
| * Run the configuration script for the selected executable and configure |
| * all modules and instances. |
| * |
| * The executable selected with setExecutable() is configured by running |
| * its user defined script. Then, this function closes all packages. |
| * |
| * @param `userScript` Parameter that specifies a string to |
| * be executed instead of the user specified |
| * configuration script |
| * |
| * @a(return) the array of error messages joined in a string |
| * separated by "@@" |
| */ |
| String runStringCfg(String userScript); |
| |
| /*! |
| * ======== runCfg ======== |
| * Run the configuration script for the selected executable and configure |
| * all modules and instances. |
| * |
| * The executable selected with `setExecutable()` is configured by running |
| * its user defined script. Then, this function closes all packages. |
| * |
| * @a(return) the array of error messages joined in a string |
| * separated by "@@" |
| */ |
| String runCfg(); |
| |
| /*! |
| * ======== validate ======== |
| * Validate the configuration |
| * |
| * This function calls validate functions for all modules and packages. |
| * |
| * @a(return) the array of error messages joined in a string |
| * separated by "@@" |
| */ |
| String validate(); |
| |
| /*! |
| * ======== genFiles ======== |
| * Generate the files required to build the selected executable |
| * |
| * This function generates files that are compiled and linked with |
| * the application's object files to generate an application. |
| * Those functions are not exposed for now, but can be if needed. |
| * |
| * @param executable string or a java.io.File object |
| * |
| * @param prefix a relative path in the package base directory |
| * where the generated files are located |
| * (usually package/cfg') |
| * |
| */ |
| String genFiles(any executable, String prefix); |
| |
| /*! |
| * ======== main ======== |
| * Run the configuration model for a given executable |
| * |
| * This function is the shell of the configuration model. A configuration |
| * for a given executable gets created and the files needed by the |
| * executable are generated. |
| * |
| * @param args array of arguments |
| * @p(dlist) |
| * - `args[0]` |
| * string or a java.io.File object identifying the executable |
| * |
| * - `args[1]` |
| * name of the executable's configuration script |
| * |
| * - `args[2]` |
| * a relative path in the package base directory |
| * where the generated files are located |
| * (usually package/cfg') |
| * |
| * - `args[3]` |
| * an absolute path to the package where the executable's |
| * configuration script is located (this argument is optional, |
| * and if not specified, the current working directory is assumed) |
| * @p |
| */ |
| function main(args); |
| } |