Changes between Version 21 and Version 22 of BuildSystem


Ignore:
Timestamp:
Mar 12, 2010, 3:48:59 AM (14 years ago)
Author:
becoulet
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • BuildSystem

    v21 v22  
    246246Several flags can be attached to tokens, most important ones are:
    247247 `value`::
    248    Indicate the token is a value token. Value tokens can not have dependencies but can take value others than `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`
    249249 `meta`::
    250    Indicate the token is a meta token which may only be enable by 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.
    251251 `auto`::
    252252   Indicate the token should be automatically enabled to satisfy dependencies.
     
    256256   Indicate the token can not be safely undefined due to a unsatisfied dependency.
    257257 `mandatory`::
    258    Indicate the token can not be undefined. Useful to enforce requirements on other tokens mainly for mandatory modules.
     258   Indicate the token can not be undefined at all. Useful to enforce requirements on other tokens, mainly for mandatory modules.
    259259 `root`::
    260260   Indicate the token has no parent.
    261261 `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.
    263263 `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.
    265265 `private`::
    266266   Indicate the token can not be used with `parent`, `depend` or `provide` tag from an other `.config` file.
     
    270270For each configuration token, one may use the following tags:
    271271 `desc Description string without quotes`::
    272    Short description about the token
     272   Short description about the token, multiple `desc` tags will be concatenated.
    273273 `flags FLAGS […]`
    274    Set some flags with special meaning for the token.
     274   Set some flags with special meaning for the token (see above).
    275275 `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.
    277277 `default value`::
    278278   Set the token default value. `defined` and `undefined` values act as booleans. default value is `undefined` if this line is omitted.
     
    282282The following tags may be used to specify features constraints:
    283283 `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.
    285285 `single TOKEN […]`::
    286    Same as depend with the additional constraint that only one of the given tokens is defined
     286   Same as depend with the additional constraint that only one of the given tokens may be defined.
    287287 `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.
    289289 `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.
    291291 `provide TOKEN`::
    292292   Define a meta token if the current token is defined.
     
    295295
    296296 `require TOKEN_CONDITION […]`::
    297    Requirements on value tokens, having at least one condition met on 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.
    298298 `provide TOKEN=value`::
    299299   Set a value token to the specified value if the current token is defined.
     
    304304   Defining the current feature token suggest the given condition to the user.
    305305 `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.
    307307
    308308The `TOKEN_CONDITION` might check different conditions:
     
    312312 * Token numerical value magnitude check: `TOKEN<value` or `TOKEN>value`
    313313
    314 The configuration tool will check all rules when building MutekH with a given build configuration file.
    315 
    316 Example:
     314The configuration tool will check both constraint rules consistency and build configuration file respect of the rules when building MutekH.
     315
     316Configuration constraints example:
    317317{{{
    318318%config CONFIG_FEATURE