net.sf.antcontrib.cpptasks
Class CompilerDef

java.lang.Object
  extended by org.apache.tools.ant.ProjectComponent
      extended by org.apache.tools.ant.types.DataType
          extended by net.sf.antcontrib.cpptasks.ProcessorDef
              extended by net.sf.antcontrib.cpptasks.CompilerDef

public final class CompilerDef
extends ProcessorDef

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.

Author:
Adam Murdoch

Field Summary
 
Fields inherited from class net.sf.antcontrib.cpptasks.ProcessorDef
newEnvironment
 
Fields inherited from class org.apache.tools.ant.types.DataType
checked, description, ref
 
Fields inherited from class org.apache.tools.ant.ProjectComponent
project
 
Constructor Summary
CompilerDef()
           
 
Method Summary
 void addConfiguredCompilerArg(CompilerArgument arg)
          Adds a compiler command-line arg.
 void addConfiguredCompilerParam(CompilerParam param)
          Adds a compiler command-line arg.
 void addConfiguredDefineset(DefineSet defs)
          Adds a defineset.
 IncludePath createIncludePath()
          Creates an include path.
 PrecompileDef createPrecompile()
          Specifies precompilation prototype file and exclusions.
 SystemIncludePath createSysIncludePath()
          Creates a system include path.
 void execute()
           
 UndefineArgument[] getActiveDefines()
           
 java.lang.String[] getActiveIncludePaths()
          Returns the compiler-specific include path.
 PrecompileDef getActivePrecompile(CompilerDef ccElement)
           
 java.lang.String[] getActiveSysIncludePaths()
           
 boolean getExceptions(CompilerDef[] defaultProviders, int index)
           
 boolean getMultithreaded(CompilerDef[] defaultProviders, int index)
           
 OptimizationEnum getOptimization(CompilerDef[] defaultProviders, int index)
           
 Processor getProcessor()
          Obtains the appropriate processor (compiler, linker)
 java.lang.Boolean getRtti(CompilerDef[] defaultProviders, int index)
           
 int getWarnings(CompilerDef[] defaultProviders, int index)
           
 void setClassname(java.lang.String classname)
          Sets the default compiler adapter.
 void setExceptions(boolean exceptions)
          Enables or disables exception support.
 void setMultithreaded(boolean multithreaded)
          Enables or disables generation of multithreaded code.
 void setName(CompilerEnum name)
          Sets compiler type.
 void setOptimize(OptimizationEnum value)
          Sets optimization level.
protected  void setProcessor(Processor proc)
          Sets the processor
 void setRtti(boolean rtti)
          Enables or disables run-time type information.
 void setWarnings(WarningLevelEnum level)
          Enumerated attribute with the values "none", "severe", "default", "production", "diagnostic", and "aserror".
 
Methods inherited from class net.sf.antcontrib.cpptasks.ProcessorDef
addConfiguredProcessorArg, addConfiguredProcessorParam, addEnv, addFileset, booleanValueOf, createConfiguration, getActiveProcessorArgs, getActiveProcessorParams, getDebug, getDefaultProviders, getExtends, getInherit, getLibtool, getProcessor, getRebuild, hasFileSets, isActive, setDebug, setDescription, setExtends, setId, setIf, setInherit, setLibtool, setNewenvironment, setRebuild, setRefid, setUnless, visitFiles
 
Methods inherited from class org.apache.tools.ant.types.DataType
checkAttributesAllowed, checkChildrenAllowed, circularReference, dieOnCircularReference, getCheckedRef, getDescription, getRefid, isChecked, isReference, noChildrenAllowed, setChecked, tooManyAttributes
 
Methods inherited from class org.apache.tools.ant.ProjectComponent
getProject, log, log, setProject
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CompilerDef

public CompilerDef()
Method Detail

addConfiguredCompilerArg

public void addConfiguredCompilerArg(CompilerArgument arg)
Adds a compiler command-line arg.


addConfiguredCompilerParam

public void addConfiguredCompilerParam(CompilerParam param)
Adds a compiler command-line arg.


addConfiguredDefineset

public void addConfiguredDefineset(DefineSet defs)
Adds a defineset.


createIncludePath

public IncludePath createIncludePath()
Creates an include path.


createPrecompile

public PrecompileDef createPrecompile()
                               throws org.apache.tools.ant.BuildException
Specifies precompilation prototype file and exclusions.

Throws:
org.apache.tools.ant.BuildException

createSysIncludePath

public SystemIncludePath createSysIncludePath()
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.


execute

public void execute()
             throws org.apache.tools.ant.BuildException
Throws:
org.apache.tools.ant.BuildException

getActiveDefines

public UndefineArgument[] getActiveDefines()

getActiveIncludePaths

public java.lang.String[] getActiveIncludePaths()
Returns the compiler-specific include path.


getActivePrecompile

public PrecompileDef getActivePrecompile(CompilerDef ccElement)

getActiveSysIncludePaths

public java.lang.String[] getActiveSysIncludePaths()

getExceptions

public final boolean getExceptions(CompilerDef[] defaultProviders,
                                   int index)

getRtti

public final java.lang.Boolean getRtti(CompilerDef[] defaultProviders,
                                       int index)

getOptimization

public final OptimizationEnum getOptimization(CompilerDef[] defaultProviders,
                                              int index)

getMultithreaded

public boolean getMultithreaded(CompilerDef[] defaultProviders,
                                int index)

getProcessor

public Processor getProcessor()
Description copied from class: ProcessorDef
Obtains the appropriate processor (compiler, linker)

Overrides:
getProcessor in class ProcessorDef
Returns:
processor

getWarnings

public int getWarnings(CompilerDef[] defaultProviders,
                       int index)

setClassname

public void setClassname(java.lang.String classname)
                  throws org.apache.tools.ant.BuildException
Sets the default compiler adapter. Use the "name" attribute when the compiler is a supported compiler.

Overrides:
setClassname in class ProcessorDef
Parameters:
classname - fully qualified classname which implements CompilerAdapter
Throws:
org.apache.tools.ant.BuildException

setExceptions

public void setExceptions(boolean exceptions)
Enables or disables exception support.

Parameters:
exceptions - if true, exceptions are supported.

setRtti

public void setRtti(boolean rtti)
Enables or disables run-time type information.

Parameters:
rtti - if true, run-time type information is supported.

setMultithreaded

public void setMultithreaded(boolean multithreaded)
Enables or disables generation of multithreaded code. Unless specified, multithreaded code generation is enabled.

Parameters:
multithreaded - If true, generated code may be multithreaded.

setName

public void setName(CompilerEnum name)
             throws org.apache.tools.ant.BuildException
Sets compiler type. Supported compilers
gcc (default) GCC C++ compiler
g++ GCC C++ compiler
c++ GCC C++ compiler
g77 GNU Fortran compiler
msvc Microsoft Visual C++
bcc Borland C++ Compiler
msrc Microsoft Resource Compiler
brc Borland Resource Compiler
df Compaq Visual Fortran Compiler
midl Microsoft MIDL Compiler
icl Intel C++ compiler for Windows (IA-32)
ecl Intel C++ compiler for Windows (IA-64)
icc Intel C++ compiler for Linux (IA-32)
ecc Intel C++ compiler for Linux (IA-64)
CC Sun ONE C++ compiler
aCC HP aC++ C++ Compiler
os390 OS390 C Compiler
os400 Icc Compiler
sunc89 Sun C89 C Compiler
xlC VisualAge C Compiler
uic Qt user interface compiler
moc Qt meta-object compiler
wcl OpenWatcom C/C++ compiler
wfl OpenWatcom FORTRAN compiler

Throws:
org.apache.tools.ant.BuildException

setProcessor

protected void setProcessor(Processor proc)
                     throws org.apache.tools.ant.BuildException
Description copied from class: ProcessorDef
Sets the processor

Overrides:
setProcessor in class ProcessorDef
Parameters:
proc - processor, may not be null.
Throws:
org.apache.tools.ant.BuildException - if ProcessorDef is a reference

setWarnings

public void setWarnings(WarningLevelEnum level)
Enumerated attribute with the values "none", "severe", "default", "production", "diagnostic", and "aserror".


setOptimize

public void setOptimize(OptimizationEnum value)
Sets optimization level.

Parameters:
value - optimization level


Copyright 2001-2008 Ant-Contrib Project. All Rights Reserved.