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:
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.
  • Field Details

    • defineSets

      private final Vector defineSets
      The source file sets.
    • exceptions

      private Boolean exceptions
    • rtti

      private Boolean rtti
    • includePaths

      private final Vector includePaths
    • multithreaded

      private Boolean multithreaded
    • precompileDefs

      private final Vector precompileDefs
    • sysIncludePaths

      private final Vector sysIncludePaths
    • optimization

      private OptimizationEnum optimization
    • warnings

      private int warnings
  • Constructor Details

    • CompilerDef

      public CompilerDef()
  • Method Details

    • 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 String[] getActiveIncludePaths()
      Returns the compiler-specific include path.
    • getActivePaths

      private String[] getActivePaths(Vector paths)
    • getActivePrecompile

      public PrecompileDef getActivePrecompile(CompilerDef ccElement)
    • getActiveSysIncludePaths

      public String[] getActiveSysIncludePaths()
    • getExceptions

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

      public final 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(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