Package net.sf.antcontrib.cpptasks
Class CompilerDef
- java.lang.Object
-
- org.apache.tools.ant.ProjectComponent
-
- org.apache.tools.ant.types.DataType
-
- net.sf.antcontrib.cpptasks.ProcessorDef
-
- net.sf.antcontrib.cpptasks.CompilerDef
-
- All Implemented Interfaces:
java.lang.Cloneable
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
-
-
Constructor Summary
Constructors Constructor Description CompilerDef()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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 processorvoid
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, clone, dieOnCircularReference, dieOnCircularReference, dieOnCircularReference, getCheckedRef, getCheckedRef, getCheckedRef, getCheckedRef, getDataTypeName, getRefid, invokeCircularReferenceCheck, isChecked, isReference, noChildrenAllowed, pushAndInvokeCircularReferenceCheck, setChecked, tooManyAttributes, toString
-
-
-
-
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 classProcessorDef
- 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 classProcessorDef
- 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 classProcessorDef
- 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
-
-