<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">











<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>cpptasks: Compile tasks for Apache Ant - compiler</title>
    <style type="text/css" media="all">
      @import url("../css/maven-base.css");
      @import url("../css/maven-theme.css");
      @import url("../css/site.css");
    </style>
    <link rel="stylesheet" href="../css/print.css" type="text/css" media="print" />
        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
      </head>
  <body class="composite">
    <div id="banner">
                  <a href="http://ant-contrib.sourceforge.net/" id="bannerLeft">
    
            ant-contrib
    
            </a>
                        <a href="http://www.sourceforge.net/" id="bannerRight">
    
                                    <img src="http://sflogo.sourceforge.net/sflogo.php?group_id=36177&type=5" alt="" />
    
            </a>
            <div class="clear">
        <hr/>
      </div>
    </div>
    <div id="breadcrumbs">
          
  

  
    
  
  
    
            <div class="xleft">
        Last Published: 2008-04-02
                          |   
                <a href="http://ant-contrib.sourceforge.net/" class="externalLink">ant-contrib</a>
                &gt;
      
                <a href="../">cpptasks</a>
                          </div>
            <div class="xright">      
  

  
    
  
  
    
  </div>
      <div class="clear">
        <hr/>
      </div>
    </div>
    <div id="leftColumn">
      <div id="navcolumn">
           
  

  
    
  
  
    
                   <h5>Get cpptasks</h5>
            <ul>
              
    <li class="none">
                    <a href="http://sourceforge.net/project/showfiles.php?group_id=36177" class="externalLink">Download</a>
          </li>
              
    <li class="none">
                    <a href="../changes-report.html">Changes</a>
          </li>
              
    <li class="none">
                    <a href="../license.html">License</a>
          </li>
          </ul>
              <h5>About cpptasks</h5>
            <ul>
              
    <li class="none">
                    <a href="../index.html">Usage</a>
          </li>
          </ul>
              <h5>Elements</h5>
            <ul>
              
    <li class="none">
                    <a href="../antdocs/CCTask.html">cc</a>
          </li>
              
    <li class="none">
              <strong>compiler</strong>
        </li>
              
    <li class="none">
                    <a href="../antdocs/DefineSet.html">defineset</a>
          </li>
              
    <li class="none">
                    <a href="../antdocs/DistributerDef.html">distributer</a>
          </li>
              
    <li class="none">
                    <a href="../antdocs/LibrarySet.html">libraryset</a>
          </li>
              
    <li class="none">
                    <a href="../antdocs/LinkerDef.html">linker</a>
          </li>
              
    <li class="none">
                    <a href="../antdocs/SystemLibrarySet.html">syslibraryset</a>
          </li>
              
    <li class="none">
                    <a href="../antdocs/TargetDef.html">targetplatform</a>
          </li>
              
    <li class="none">
                    <a href="../antdocs/VersionInfo.html">versioninfo</a>
          </li>
          </ul>
              <h5>Community</h5>
            <ul>
              
    <li class="none">
                    <a href="../mail-lists.html">Mailing Lists</a>
          </li>
              
    <li class="none">
                    <a href="../issue-tracking.html">Issue Tracking</a>
          </li>
              
    <li class="none">
                    <a href="http://sourceforge.net/projects/ant-contrib/" class="externalLink">Project Page</a>
          </li>
              
    <li class="none">
                    <a href="http://sourceforge.net/news/?group_id=36177" class="externalLink">News</a>
          </li>
          </ul>
              <h5>Development</h5>
            <ul>
              
    <li class="none">
                    <a href="../source-repository.html">Repository</a>
          </li>
              
    <li class="none">
                    <a href="../apidocs/index.html">JavaDoc</a>
          </li>
              
    <li class="none">
                    <a href="../integration.html">Continuous Integration</a>
          </li>
          </ul>
                                           <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
            <img alt="Built by Maven" src="../images/logos/maven-feather.png"></img>
          </a>
                       
  

  
    
  
  
    
        </div>
    </div>
    <div id="bodyColumn">
      <div id="contentBox">
        <div class="section"><h2><a name="compiler"></a>
compiler</h2>
<div class="section"><h3><a name="Description"></a>
Description</h3>
A compiler definition. compiler elements may be placed either as children of
 a cc element or the project element. A compiler element with an id attribute
 may be referenced from compiler elements with refid or extends attributes.</div>
<div class="section"><h3><a name="parameters"></a>
parameters</h3>
<table class="bodyTable"><tr class="a"><td><b>Attribute</b>
</td>
<td><b>Description</b>
</td>
<td><b>Type</b>
</td>
</tr>
<tr class="b"><td>classname</td>
<td>Sets the default compiler adapter. Use the &quot;name&quot; attribute when the
 compiler is a supported compiler.</td>
<td>String</td>
</tr>
<tr class="a"><td>debug</td>
<td>If set true, all targets will be built for debugging.</td>
<td>boolean</td>
</tr>
<tr class="b"><td>description</td>
<td>Sets a description of the current data type.</td>
<td>String</td>
</tr>
<tr class="a"><td>exceptions</td>
<td>Enables or disables exception support.</td>
<td>boolean</td>
</tr>
<tr class="b"><td>extends</td>
<td>Specifies that this element extends the element with id attribute with a
 matching value. The configuration will be constructed from the settings
 of this element, element referenced by extends, and the containing cc
 element.</td>
<td>Reference</td>
</tr>
<tr class="a"><td>id</td>
<td>Sets an id that can be used to reference this element.</td>
<td>String</td>
</tr>
<tr class="b"><td>if</td>
<td>Sets the property name for the 'if' condition.
 
 The configuration will be ignored unless the property is defined.
 
 The value of the property is insignificant, but values that would imply
 misinterpretation (&quot;false&quot;, &quot;no&quot;) will throw an exception when
 evaluated.</td>
<td>String</td>
</tr>
<tr class="a"><td>inherit</td>
<td>If inherit has the default value of true, defines, includes and other
 settings from the containing cc element will be inherited.</td>
<td>boolean</td>
</tr>
<tr class="b"><td>libtool</td>
<td>Set use of libtool.
 
 If set to true, the &quot;libtool &quot; will be prepended to the command line</td>
<td>boolean</td>
</tr>
<tr class="a"><td>multithreaded</td>
<td>Enables or disables generation of multithreaded code. Unless specified,
 multithreaded code generation is enabled.</td>
<td>boolean</td>
</tr>
<tr class="b"><td>name</td>
<td>Sets compiler type.
 
 
 <table class="bodyTable"><thead>Supported compilers </thead><tr class="a"><td>gcc (default)</td>
<td>GCC C++ compiler</td>
</tr>
<tr class="b"><td>g++</td>
<td>GCC C++ compiler</td>
</tr>
<tr class="a"><td>c++</td>
<td>GCC C++ compiler</td>
</tr>
<tr class="b"><td>g77</td>
<td>GNU Fortran compiler</td>
</tr>
<tr class="a"><td>msvc</td>
<td>Microsoft Visual C++</td>
</tr>
<tr class="b"><td>bcc</td>
<td>Borland C++ Compiler</td>
</tr>
<tr class="a"><td>msrc</td>
<td>Microsoft Resource Compiler</td>
</tr>
<tr class="b"><td>brc</td>
<td>Borland Resource Compiler</td>
</tr>
<tr class="a"><td>df</td>
<td>Compaq Visual Fortran Compiler</td>
</tr>
<tr class="b"><td>midl</td>
<td>Microsoft MIDL Compiler</td>
</tr>
<tr class="a"><td>icl</td>
<td>Intel C++ compiler for Windows (IA-32)</td>
</tr>
<tr class="b"><td>ecl</td>
<td>Intel C++ compiler for Windows (IA-64)</td>
</tr>
<tr class="a"><td>icc</td>
<td>Intel C++ compiler for Linux (IA-32)</td>
</tr>
<tr class="b"><td>ecc</td>
<td>Intel C++ compiler for Linux (IA-64)</td>
</tr>
<tr class="a"><td>CC</td>
<td>Sun ONE C++ compiler</td>
</tr>
<tr class="b"><td>aCC</td>
<td>HP aC++ C++ Compiler</td>
</tr>
<tr class="a"><td>os390</td>
<td>OS390 C Compiler</td>
</tr>
<tr class="b"><td>os400</td>
<td>Icc Compiler</td>
</tr>
<tr class="a"><td>sunc89</td>
<td>Sun C89 C Compiler</td>
</tr>
<tr class="b"><td>xlC</td>
<td>VisualAge C Compiler</td>
</tr>
<tr class="a"><td>uic</td>
<td>Qt user interface compiler</td>
</tr>
<tr class="b"><td>moc</td>
<td>Qt meta-object compiler</td>
</tr>
<tr class="a"><td>wcl</td>
<td>OpenWatcom C/C++ compiler</td>
</tr>
<tr class="b"><td>wfl</td>
<td>OpenWatcom FORTRAN compiler</td>
</tr>
</table>
</td>
<td><a href="../apidocs/net/sf/antcontrib/cpptasks/CompilerEnum.html">CompilerEnum</a>
</td>
</tr>
<tr class="a"><td>newenvironment</td>
<td>Do not propagate old environment when new environment variables are
 specified.</td>
<td>boolean</td>
</tr>
<tr class="b"><td>optimize</td>
<td>Sets optimization level.</td>
<td><a href="../apidocs/net/sf/antcontrib/cpptasks/OptimizationEnum.html">OptimizationEnum</a>
</td>
</tr>
<tr class="a"><td>rebuild</td>
<td>If set true, all targets will be unconditionally rebuilt.</td>
<td>boolean</td>
</tr>
<tr class="b"><td>refid</td>
<td>Specifies that this element should behave as if the content of the
 element with the matching id attribute was inserted at this location. If
 specified, no other attributes or child content should be specified,
 other than &quot;if&quot;, &quot;unless&quot; and &quot;description&quot;.</td>
<td>Reference</td>
</tr>
<tr class="a"><td>rtti</td>
<td>Enables or disables run-time type information.</td>
<td>boolean</td>
</tr>
<tr class="b"><td>unless</td>
<td>Set the property name for the 'unless' condition.
 
 If named property is set, the configuration will be ignored.
 
 The value of the property is insignificant, but values that would imply
 misinterpretation (&quot;false&quot;, &quot;no&quot;) of the behavior will throw an
 exception when evaluated.</td>
<td>String</td>
</tr>
<tr class="a"><td>warnings</td>
<td>Enumerated attribute with the values &quot;none&quot;, &quot;severe&quot;, &quot;default&quot;,
 &quot;production&quot;, &quot;diagnostic&quot;, and &quot;aserror&quot;.</td>
<td><a href="../apidocs/net/sf/antcontrib/cpptasks/WarningLevelEnum.html">WarningLevelEnum</a>
</td>
</tr>
</table>
</div>
<div class="section"><h3><a name="parameters_as_nested_elements"></a>
parameters as nested elements</h3>
<dl><dt><a href="CompilerArgument.html">compilerarg</a>
</dt>
<dd>Adds a compiler command-line arg.</dd>
<dt><a href="CompilerParam.html">compilerparam</a>
</dt>
<dd>Adds a compiler command-line arg.</dd>
<dt><a href="DefineSet.html">defineset</a>
</dt>
<dd>Adds a defineset.</dd>
<dt><a href="#about:blank">env</a>
</dt>
<dd>Add an environment variable to the launched process.</dd>
<dt><a href="ConditionalFileSet.html">fileset</a>
</dt>
<dd>Adds a source file set.
 
 Files in these set will be processed by this configuration and will not
 participate in the auction.</dd>
<dt><a href="IncludePath.html">includepath</a>
</dt>
<dd>Creates an include path.</dd>
<dt><a href="PrecompileDef.html">precompile</a>
</dt>
<dd>Specifies precompilation prototype file and exclusions.</dd>
<dt><a href="SystemIncludePath.html">sysincludepath</a>
</dt>
<dd>Creates a system include path. Locations and timestamps of files located
 using the system include paths are not used in dependency analysis.
 
 
 Standard include locations should not be specified. The compiler
 adapters should recognized the settings from the appropriate environment
 variables or configuration files.</dd>
</dl>
</div>
</div>

      </div>
    </div>
    <div class="clear">
      <hr/>
    </div>
    <div id="footer">
      <div class="xright">&#169;  
          2001-2008
    
          Ant-Contrib Project
          
  

  
    
  
  
    
  </div>
      <div class="clear">
        <hr/>
      </div>
    </div>
  </body>
</html>