Class LinkerDef

  • All Implemented Interfaces:
    java.lang.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.
    Author:
    Adam Murdoch, Curt Arnold
    • Constructor Detail

      • LinkerDef

        public LinkerDef()
        Default constructor
        See Also:
        Object()
    • Method Detail

      • 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 java.lang.Boolean getFixed​(LinkerDef[] defaultProviders,
                                          int index)
      • getIncremental

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

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

        public java.lang.String getEntry​(LinkerDef[] defaultProviders,
                                         int index)
      • 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​(java.lang.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)