Class BorlandLinker

  • All Implemented Interfaces:
    java.lang.Cloneable, Linker, Processor

    public final class BorlandLinker
    extends CommandLineLinker
    Adapter for the Borland(r) ilink32 linker
    • Constructor Detail

      • BorlandLinker

        private BorlandLinker​(java.lang.String outputSuffix)
    • Method Detail

      • addBase

        protected void addBase​(long base,
                               java.util.Vector args)
        Specified by:
        addBase in class CommandLineLinker
      • addFixed

        protected void addFixed​(java.lang.Boolean fixed,
                                java.util.Vector args)
        Specified by:
        addFixed in class CommandLineLinker
      • addIncremental

        protected void addIncremental​(boolean incremental,
                                      java.util.Vector args)
        Specified by:
        addIncremental in class CommandLineLinker
      • addMap

        protected void addMap​(boolean map,
                              java.util.Vector args)
        Specified by:
        addMap in class CommandLineLinker
      • addStack

        protected void addStack​(int stack,
                                java.util.Vector args)
        Specified by:
        addStack in class CommandLineLinker
      • addEntry

        protected void addEntry​(java.lang.String entry,
                                java.util.Vector args)
        Specified by:
        addEntry in class CommandLineLinker
      • getIdentifier

        public java.lang.String getIdentifier()
        Description copied from interface: Processor
        Retrieve an identifier that identifies the specific version of the compiler. Compilers with the same identifier should produce the same output files for the same input files and command line switches.
        Specified by:
        getIdentifier in interface Processor
        Overrides:
        getIdentifier in class CommandLineLinker
      • getLibraryPath

        public java.io.File[] getLibraryPath()
        Description copied from interface: Linker
        returns the library path for the linker
      • getLibraryPatterns

        public java.lang.String[] getLibraryPatterns​(java.lang.String[] libnames,
                                                     LibraryTypeEnum libType)
        Description copied from interface: Linker
        Returns a set of filename patterns corresponding to library names. For example, "advapi32" would be expanded to "advapi32.dll" by DevStudioLinker and to "libadvapi32.a" and "libadvapi32.so" by GccLinker.
        Parameters:
        libnames - array of library names
      • getLinker

        public Linker getLinker​(LinkType type)
        Description copied from interface: Linker
        Gets the linker for the specified link type.
        Returns:
        appropriate linker or null, will return this if this linker can handle the specified link type
      • isCaseSensitive

        public boolean isCaseSensitive()
        Description copied from interface: Linker
        Returns true if the linker is case-sensitive
      • prepareArguments

        protected java.lang.String[] prepareArguments​(CCTask task,
                                                      java.lang.String outputDir,
                                                      java.lang.String outputName,
                                                      java.lang.String[] sourceFiles,
                                                      CommandLineLinkerConfiguration config)
        Prepares argument list for exec command.
        Overrides:
        prepareArguments in class CommandLineLinker
        Parameters:
        outputDir - linker output directory
        outputName - linker output name
        sourceFiles - linker input files (.obj, .o, .res)
        config - linker configuration
        task - compilation task.
        Returns:
        arguments for runTask
      • prepareResponseFile

        protected java.lang.String[] prepareResponseFile​(java.io.File outputFile,
                                                         java.lang.String[] args)
                                                  throws java.io.IOException
        Prepares argument list to execute the linker using a response file.
        Overrides:
        prepareResponseFile in class CommandLineLinker
        Parameters:
        outputFile - linker output file
        args - output of prepareArguments
        Returns:
        arguments for runTask
        Throws:
        java.io.IOException
      • addVersionFiles

        public void addVersionFiles​(VersionInfo versionInfo,
                                    LinkType linkType,
                                    java.io.File outputFile,
                                    boolean isDebug,
                                    java.io.File objDir,
                                    TargetMatcher matcher)
                             throws java.io.IOException
        Adds source or object files to the bidded fileset to support version information.
        Specified by:
        addVersionFiles in interface Linker
        Overrides:
        addVersionFiles in class AbstractLinker
        Parameters:
        versionInfo - version information
        linkType - link type
        isDebug - true if debug build
        outputFile - name of generated executable
        objDir - directory for generated files
        matcher - bidded fileset
        Throws:
        java.io.IOException