Changes between Version 19 and Version 20 of BuildSystem
- Timestamp:
- Mar 11, 2010, 8:12:09 PM (15 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
BuildSystem
v19 v20 237 237 == The .config constraints files == 238 238 239 Their are several types of configuration tokens: 240 * normal features enabling tokens which can be either defined or undefined in build configuration files. 241 * meta tokens which can only get defined through definition of other tokens. 242 * value tokens which can have any value. 243 244 === Token flags === 245 246 Several flags can be attached to tokens, most important ones are: 247 `value`:: 248 Indicate the token is a value token. Value tokens can not have dependencies but can take value others than `defined` and `undefined` 249 `meta`:: 250 Indicate the token is a meta token which may only be enable by an other token using the `provide` tag. 251 `auto`:: 252 Indicate the token should be automatically enabled to satisfy dependencies. 253 254 Other flags can be attached to tokens: 255 `harddep`:: 256 Indicate the token can not be safely undefined due to a unsatisfied dependency. 257 `mandatory`:: 258 Indicate the token can not be undefined. Useful to enforce requirements on other tokens mainly for mandatory modules. 259 `root`:: 260 Indicate the token has no parent. 261 `internal`:: 262 Indicate the token is for internal use and can not be defined in build configuration file directly 263 `noexport`:: 264 Indicate the token should not be written out in generated header file. 265 `private`:: 266 Indicate the token can not be used with `parent`, `depend` or `provide` tag from an other `.config` file. 267 268 === Constraint tags === 269 239 270 For each configuration token, one may use the following tags: 240 241 271 `desc Description string without quotes`:: 242 272 Short description about the token … … 251 281 252 282 The following tags may be used to specify features constraints: 253 254 283 `depend TOKEN […]`:: 255 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. 285 `single TOKEN […]`:: 286 Same as depend with the additional constraint that only one of the given tokens is defined 256 287 `exclude TOKEN`:: 257 288 Specify excluded token, the current and specified token must not be defined at the same time. 258 `single TOKEN […]`::259 Only one of the following tokens may be defined at the same time260 289 `when TOKEN_CONDITION […]`:: 261 290 The current feature token will be automatically defined if all specified conditions are met. … … 264 293 265 294 `require TOKEN_CONDITION […]`:: 266 Mandatory requirements, having at least one of the tokens on the line is mandatory, conflict yields error. May be used to enforce definition of some mandatory configuration values.295 Requirements on value tokens, having at least one condition met on the line is mandatory if the current token is defined. 267 296 `provide TOKEN=value`:: 268 Defining the current feature token enforce definition of the specified value token with the given value. The `nodefine` flag indicate token is for internal use and can not be defined by the user. 297 Set a value token to the specified value if the current token is defined. 298 `provide TOKEN`:: 299 Define a meta token if the current token is defined. 269 300 270 301 Some tags can be used to give some configurations advice to the user when building MutekH: … … 273 304 Defining the current feature token suggest the given condition to the user. 274 305 `suggest_when TOKEN_CONDITION […]`:: 275 The current token will suggest being considered to the user if it still has its default value and all conditionare met.306 The current token will suggest being considered to the user if dependencies are actually satisfied all given conditions are met. 276 307 277 308 The `TOKEN_CONDITION` might check different conditions: