1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
33
34 /*!
35 * ======== Settings ========
36 * Global configuration settings for all Framework Components packages
37 *
38 * This module provides high-level configuration settings for all
39 * Framework Components packages.
40 *
41 * @a(Linking with Framework Components Libraries)
42 *
43 * When linking an executable, this module's profile config param is
44 * used to select which libraries are used. See the {@link #profile}
45 * config param below. There are three typical use-cases.
46 *
47 * 1. Link with Framework Components libraries of a specific profile. Add the
48 * following to your application cfg script.
49 *
50 * @p(code)
51 * // set all framework component libraries to the given profile
52 * xdc.useModule('ti.sdo.fc.global.Settings').profile = "debug";
53 * @p
54 *
55 * 2. Link with Framework Component libraries using the program's profile. Add
56 * the following to your application cfg script.
57 *
58 * @p(code)
59 * // use the program's profile
60 * var Program = xdc.useModule('xdc.cfg.Program');
61 * xdc.useModule('ti.sdo.fc.global.Settings').profile = Program.build.profile;
62 * @p
63 *
64 * 3. Specify a profile on a per-package basis.
65 *
66 * @p(code)
67 * // specify the profile for some select packages
68 * xdc.loadPackage('ti.sdo.fc').profile = "debug";
69 * xdc.loadPackage('ti.sdo.fc.rman').profile = "debug";
70 * xdc.loadPackage('ti.sdo.fc.dman3').profile = "debug";
71 * xdc.loadPackage('ti.sdo.fc.edma3').profile = "debug";
72 * @p
73 *
74 * Note that the third method above does not actually use the `profile`
75 * config param. It sets the package's profile config param directly.
76 *
77 * The default value for the `profile` config param is `release`.
78 * Thus, even when building your executable using a debug profile, the
79 * Framework Component release libraries will be used. This helps to keep the
80 * executable size smaller when you want to debug the application code.
81 */
82
83 @Template("./Settings.xdt")
84
85 metaonly module Settings
86 {
87 /*!
88 * ======== multiProcess ========
89 */
90 config Bool multiProcess = true;
91
92 /*!
93 * ======== osalPackage ========
94 * Some FC packages (such as ti.sdo.fc.rman and
95 * ti.sdo.fc.ires.* on Linux) need implementation
96 * of some OSAL APIs (LockMP_acquire/release/create/delete
97 * and Sem_create/delete/pend/post).
98 * Point to a package that implements these
99 * Signatures of the Lock functions are available at
100 * ti/sdo/fc/utils/lock.h
101 */
102 config String osalPackage;
103
104 /*!
105 * ======== profile ========
106 * Name the library profile to use at link time
107 *
108 * If the Framework Component libraries have been built using the profile
109 * named by this config param, then these libraries will be used
110 * when linking the final executable. Otherwise, a substitute
111 * library will be used. For example, if this config param is set to
112 * debug but there are only release libraries available, then the
113 * release library is used.
114 */
115 config String profile = "release";
116 }
117 118 119
120