Class LinkerDef

java.lang.Object
org.apache.tools.ant.ProjectComponent
org.apache.tools.ant.types.DataType
net.sf.antcontrib.cpptasks.ProcessorDef
net.sf.antcontrib.cpptasks.LinkerDef
All Implemented Interfaces:
Cloneable

public class LinkerDef extends ProcessorDef
A linker definition. linker elements may be placed either as children of a cc element or the project element. A linker element with an id attribute may be referenced by linker elements with refid or extends attributes.
  • Field Details

    • base

      private long base
    • entry

      private String entry
    • fixed

      private Boolean fixed
    • incremental

      private Boolean incremental
    • librarySets

      private final Vector librarySets
    • map

      private Boolean map
    • stack

      private int stack
    • sysLibrarySets

      private final Vector sysLibrarySets
  • Constructor Details

    • LinkerDef

      public LinkerDef()
      Default constructor
      See Also:
  • Method Details

    • addActiveLibrarySet

      private void addActiveLibrarySet(org.apache.tools.ant.Project project, Vector libsets, Vector srcSets)
    • addActiveSystemLibrarySets

      private void addActiveSystemLibrarySets(org.apache.tools.ant.Project project, Vector libsets)
    • addActiveUserLibrarySets

      private void addActiveUserLibrarySets(org.apache.tools.ant.Project project, Vector libsets)
    • addConfiguredLinkerArg

      public void addConfiguredLinkerArg(LinkerArgument arg)
      Adds a linker command-line arg.
    • addConfiguredLinkerParam

      public void addConfiguredLinkerParam(LinkerParam param)
      Adds a compiler command-line arg.
    • addLibset

      public void addLibset(LibrarySet libset)
      Adds a system library set.
    • addSyslibset

      public void addSyslibset(SystemLibrarySet libset)
      Adds a system library set.
    • execute

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

      public LibrarySet[] getActiveLibrarySets(LinkerDef[] defaultProviders, int index)
      Returns an array of active library sets for this linker definition.
    • getActiveSystemLibrarySets

      public LibrarySet[] getActiveSystemLibrarySets(LinkerDef[] defaultProviders, int index)
      Returns an array of active library sets for this linker definition.
    • getActiveUserLibrarySets

      public LibrarySet[] getActiveUserLibrarySets(LinkerDef[] defaultProviders, int index)
      Returns an array of active library sets for this linker definition.
    • getBase

      public long getBase(LinkerDef[] defaultProviders, int index)
    • getFixed

      public Boolean getFixed(LinkerDef[] defaultProviders, int index)
    • getIncremental

      public boolean getIncremental(LinkerDef[] defaultProviders, int index)
    • getMap

      public boolean getMap(LinkerDef[] defaultProviders, int index)
    • getEntry

      public String getEntry(LinkerDef[] 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
    • getProcessor

      public Processor getProcessor(LinkType linkType)
      Description copied from class: ProcessorDef
      Obtains the appropriate processor (compiler, linker) based on the LinkType.
      Overrides:
      getProcessor in class ProcessorDef
      Returns:
      processor
    • getStack

      public int getStack(LinkerDef[] defaultProviders, int index)
    • setBase

      public void setBase(FlexLong base)
      Sets the base address. May be specified in either decimal or hex.
      Parameters:
      base - base address
    • setEntry

      public void setEntry(String entry)
      Sets the starting address.
      Parameters:
      entry - function name
    • setFixed

      public void setFixed(boolean fixed)
      If true, marks the file to be loaded only at its preferred address.
    • setIncremental

      public void setIncremental(boolean incremental)
      If true, allows incremental linking.
    • setMap

      public void setMap(boolean map)
      If set to true, a map file will be produced.
    • setName

      public void setName(LinkerEnum name) throws org.apache.tools.ant.BuildException
      Sets linker type. Supported linkers
      gcc Gcc Linker
      g++ G++ Linker
      ld Ld Linker
      ar Gcc Librarian
      msvc Microsoft Linker
      bcc Borland Linker
      df Compaq Visual Fortran Linker
      icl Intel Linker for Windows (IA-32)
      ecl Intel Linker for Windows (IA-64)
      icc Intel Linker for Linux (IA-32)
      ecc Intel Linker for Linux (IA-64)
      CC Sun ONE Linker
      aCC HP aC++ Linker
      os390 OS390 Linker
      os390batch OS390 Linker
      os400 IccLinker
      sunc89 C89 Linker
      xlC VisualAge Linker
      wcl OpenWatcom C/C++ linker
      wfl OpenWatcom FORTRAN linker
      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
    • setStack

      public void setStack(org.apache.tools.ant.types.FlexInteger stack)
      Sets stack size in bytes.
    • visitSystemLibraries

      public void visitSystemLibraries(Linker linker, FileVisitor libraryVisitor)
    • visitUserLibraries

      public void visitUserLibraries(Linker linker, FileVisitor libraryVisitor)