Difference between revisions of "Compiler file"
(More documentation.) |
m (Added category.) |
||
Line 1: | Line 1: | ||
+ | [[Category:Code::Blocks Documentation]] | ||
+ | [[Category:Developer Documentation]] | ||
Proposed format for defining compiler interfaces using only XML (in conjunction with [[Compiler options file]]s). See: [http://forums.codeblocks.org/index.php/topic,16463.0.html XML based compilers]. | Proposed format for defining compiler interfaces using only XML (in conjunction with [[Compiler options file]]s). See: [http://forums.codeblocks.org/index.php/topic,16463.0.html XML based compilers]. | ||
{{Layout_box2|1= | {{Layout_box2|1= | ||
Line 34: | Line 36: | ||
* solaris | * solaris | ||
* unix</tt> | * unix</tt> | ||
+ | |||
+ | |||
+ | All of the following routines are used during auto-detection. | ||
+ | |||
+ | |||
+ | Conditional <tt><if>[...]</if><else>[...]</else></tt> statements are available in the same form as in [[Compiler options file]]s. | ||
Revision as of 14:34, 4 August 2012
Proposed format for defining compiler interfaces using only XML (in conjunction with Compiler options files). See: XML based compilers.
svn checkout svn://svn.berlios.de/codeblocks/branches/xml_compiler
id="dmc"
weight="24"
platform="windows">
[...]
</CodeBlocks_compiler>
I am a Code::Blocks compiler file.
name="<txt>"
- <txt> is the descriptive name that will be shown to the user for this compiler.
id="<id>"
- Lowercase sequence of letters, numbers, underscores, and/or hyphens (it must, however, start with a letter) which is used internally to represent this compiler.
weight="<num>" (optional)
- Determines the order in the compiler drop-down menu that this compiler will be listed; lower numbers are listed sooner (keep <num> between 0 and 100).
platform="<os>" (optional). Only load this compiler if the current operating system is <os>. <os> is one of:
- windows
- macosx
- linux
- freebsd
- netbsd
- openbsd
- darwin
- solaris
- unix
All of the following routines are used during auto-detection.
Conditional <if>[...]</if><else>[...]</else> statements are available in the same form as in Compiler options files.
[...]
</Path>
type="<tp>" Determines what variable the results of the contained detection routine(s) will be stored in. <tp> is one of:
- master
- extra
- include
- resource
- lib
for="C"/>
Searches all paths in the given environment variable.
- If for is not specified, any path that exists will be added to the current <Path type="...">.
- If for is given, the corresponding executable name will be replaced (if applicable; see <if exec="..."></if> blocks). If the specified file exists on any of the paths in the environment variable, those path(s) will be added.
(If the current path type is master, any trailing bin directories will be stripped.)
for="C"/>
Same functionality as <Search envVar="..."> except that this tests a hard-coded path.
Wildcards are allowed in <Search path="...">.
value="InstallLocation"/>
Read a Windows registry key. If value is found in the registry key, and it is a valid folder, it will be added to the current <Path type="...">.
If the current <Path type="..."> is empty, add this path to it.
Add a path to the current <Path type="...">.
- <master/> is replaced by the contents of the master path.
- <separator/> is replaced by the system's native file path separator.
Enable a compiler flag.
Enable a linker flag.
Add a library.