3.10 Constraints

CodeBlocks

[Contents] CodeBlocks Manual   [Search] Search

[Table of contents]

3.10 Constraints


  • Both set and global compiler variable names may not be empty, they must not contain white space, must start with a letter and must consist of alphanumeric characters. Cyrillic or Chinese letters are not alphanumeric characters. If CodeBlocks is given invalid character sequences as names, it might replace them without asking.
  • Every variable requires its base to be defined. Everything else is optional, but the base is absolutely mandatory. If you don’t define a the base of a variable, it will not be saved (no matter what other fields you have defined).
  • You may not define a custom member that has the same name as a built-in member. Currently, the custom member will overwrite the built-in member, but in general, the behaviour for this case is undefined.
  • Variable and member values may contain arbitrary character sequences, subject to the following three constraints:
    • You may not define a variable by a value that references the same variable or any of its members
    • You may not define a member by a value that references the same member
    • You may not define a member or variable by a value that references the same variable or member through a cyclic dependency.
CodeBlocks will detect the most obvious cases of recursive definitions (which may happen by accident), but it will not perform an in-depth analysis of every possible abuse. If you enter crap, then crap is what you will get; you are warned now.
Examples
Defining wx.include as $(#wx)/include is redundant, but perfectly legal Defining wx.include as $(#wx.include) is illegal and will be detected by CodeBlocks Defining wx.include as $(#cb.lib) which again is defined as $(#wx.include) will create an infinite loop


[Previous] 3.9  Names and Members
[Next] 3.11  Using Global Compiler Variables

Created: 2010/25/05 11:52   Updated: 2010/25/05 11:52
Author: HighTec EDV-Systeme GmbH
Copyright © 2010 HighTec EDV-Systeme GmbH