1 2 3 4 5 6 7 8 9 10 11
12 13 14
15 package xdc.bld
16
17 /*!
18 * ======== Utils ========
19 * Utility functions to simplify creation of targets and platforms
20 */
21 metaonly module Utils
22 {
23 /*!
24 * ======== expandString ========
25 * Expand references within a string to specified values
26 *
27 * All references of the form "`$(<name>)`" within the command string,
28 * `cmd` are replaced with the string value having key `<name>` in the
29 * hashtable `values`.
30 *
31 * If `<name>` appears in values and its value is `null` or `undefined`,
32 * then `$(<name>)` is replaced with the empty string. If `<name>` does
33 * not appear in `values`, then `$(<name>)` is not replaced.
34 *
35 * @param(cmd) a string with embeded references to values defined in
36 * the values hashtable parameter
37 * @param(values) an arbitrary hash of name-value pairs; these values
38 * are used to substitute for references of the form
39 * `$(name)` that appear within `cmd`.
40 *
41 * @a(returns) string with references replaced as specified by the
42 * `values` hash.
43 *
44 * @a(throws) `Error` exceptions are thrown for fatal errors
45 */
46 String expandString(String cmd, Any values);
47
48 /*!
49 * ======== expandDbgName ========
50 * Generate name of a debug support output file
51 *
52 * @param(cfgName) the name of the generated configuration script
53 * without the ".cfg" extension
54 * @param(exeName) the name of the output executable
55 * @param(pattern) file name pattern
56 *
57 * Both cfgName and exeName are relative to the directory containing
58 * package.bld.
59 *
60 * @_nodoc this function is an internal method shared between xdc.bld
61 * and xdc.cfg and has little value outside this context.
62 */
63 function expandDbgName(cfgName, exeName, pattern);
64
65 /*!
66 * ======== parsePlatName ========
67 * Parse platform instance name into platform package name and short
68 * instance name
69 *
70 * @param(platInstName) the name of a platform instance
71 *
72 * @a(returns)
73 * returns object with the following fields:
74 * @p(dlist)
75 * - `platPkgName`
76 * name of the platform package name
77 * - `instName`
78 * name of the platform instance
79 * - `instMod`
80 * module object specifying platform instances (if it exists)
81 * @p
82 *
83 * @a(throws) `Error` exceptions are thrown for fatal errors
84
85 * @_nodoc this function is an internal method shared between xdc.bld
86 * and xdc.cfg and has little value outside this context.
87 */
88 function parsePlatName(platInstName);
89
90 /*!
91 * ======== display ========
92 * Recursively print arbitrary object
93 *
94 * @param(msg) a string to print before printing the object
95 * @param(obj) an arbitrary object to display
96 */
97 Void display(String msg, Any obj);
98 }
99 100 101
102