Changes between Version 21 and Version 22 of BuildSystem
- Timestamp:
- Mar 12, 2010, 3:48:59 AM (15 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
BuildSystem
v21 v22 246 246 Several flags can be attached to tokens, most important ones are: 247 247 `value`:: 248 Indicate the token is a value token. Value tokens can not have dependencies but can take value othersthan `defined` and `undefined`248 Indicate the token is a value token. Value tokens can not have dependencies but can take values other than `defined` and `undefined` 249 249 `meta`:: 250 Indicate the token is a meta token which may only be enableby an other token using the `provide` tag.250 Indicate the token is a meta token which may only be defined by an other token using the `provide` tag. 251 251 `auto`:: 252 252 Indicate the token should be automatically enabled to satisfy dependencies. … … 256 256 Indicate the token can not be safely undefined due to a unsatisfied dependency. 257 257 `mandatory`:: 258 Indicate the token can not be undefined . Useful to enforce requirements on other tokensmainly for mandatory modules.258 Indicate the token can not be undefined at all. Useful to enforce requirements on other tokens, mainly for mandatory modules. 259 259 `root`:: 260 260 Indicate the token has no parent. 261 261 `internal`:: 262 Indicate the token is for internal use and can not be defined in build configuration file directly 262 Indicate the token is for internal use and can not be defined in build configuration file directly. 263 263 `noexport`:: 264 Indicate the token should not be written out in generated header file.264 Indicate the token should not be written out in generated files. 265 265 `private`:: 266 266 Indicate the token can not be used with `parent`, `depend` or `provide` tag from an other `.config` file. … … 270 270 For each configuration token, one may use the following tags: 271 271 `desc Description string without quotes`:: 272 Short description about the token 272 Short description about the token, multiple `desc` tags will be concatenated. 273 273 `flags FLAGS […]` 274 Set some flags with special meaning for the token .274 Set some flags with special meaning for the token (see above). 275 275 `parent TOKEN`:: 276 Hierarchical dependency, it ensures all token with a parent gets silently undefined if the parent is undefined. This prevents options enabled by default to stay enabled if the parent is disabled; this way it avoids errors due to unneeded requirements. This is also used to hide irrelevant tokens from the help screen if the parent token is undefined. Tokens with no parent must have the `root` flag set or use the `module` tag.276 Hierarchical dependency, it ensures all token with a parent gets silently undefined if the parent is undefined. This prevents options enabled by default to stay enabled if the parent is disabled; this way it avoids errors due to unneeded requirements. This is also used to hide irrelevant tokens from the help screen if the parent token is undefined. 277 277 `default value`:: 278 278 Set the token default value. `defined` and `undefined` values act as booleans. default value is `undefined` if this line is omitted. … … 282 282 The following tags may be used to specify features constraints: 283 283 `depend TOKEN […]`:: 284 Dependencies, at least one of the feature tokens on the line is required, if unsatisfied the current token gets undefined and a notice is emitted. May be used to disable features because of missing prerequisites.284 The tag must be used to express feature dependencies, at least one of the given feature tokens is required. Unsatisfied dependency undefine the current token and emit a notice, unless flags modify this behavior. 285 285 `single TOKEN […]`:: 286 Same as depend with the additional constraint that only one of the given tokens is defined286 Same as depend with the additional constraint that only one of the given tokens may be defined. 287 287 `exclude TOKEN`:: 288 Specify excluded token , the current and specified token must not be defined at the same time.288 Specify excluded tokens, the current token must not be defined at the same time as any given token. 289 289 `when TOKEN_CONDITION […]`:: 290 The current feature token will be automatically defined if all specified conditions are met. 290 The current feature token will be automatically defined if all specified conditions are met. Missing dependencies will emit a notice as if it was defined in the build configuration file. 291 291 `provide TOKEN`:: 292 292 Define a meta token if the current token is defined. … … 295 295 296 296 `require TOKEN_CONDITION […]`:: 297 Requirements on value tokens, having at least one condition meton the line is mandatory if the current token is defined.297 Requirements on value tokens, having at least one condition evaluates to true on the line is mandatory if the current token is defined. 298 298 `provide TOKEN=value`:: 299 299 Set a value token to the specified value if the current token is defined. … … 304 304 Defining the current feature token suggest the given condition to the user. 305 305 `suggest_when TOKEN_CONDITION […]`:: 306 The current token will suggest being considered to the user if dependencies are actually satisfied all given conditions are met.306 The current token will be suggested to the user if dependencies are actually satisfied and all given conditions are met. 307 307 308 308 The `TOKEN_CONDITION` might check different conditions: … … 312 312 * Token numerical value magnitude check: `TOKEN<value` or `TOKEN>value` 313 313 314 The configuration tool will check all rules when building MutekH with a given build configuration file.315 316 Example:314 The configuration tool will check both constraint rules consistency and build configuration file respect of the rules when building MutekH. 315 316 Configuration constraints example: 317 317 {{{ 318 318 %config CONFIG_FEATURE