net.sf.antcontrib.cpptasks.borland
Class BorlandLinker

java.lang.Object
  |
  +--net.sf.antcontrib.cpptasks.compiler.AbstractProcessor
        |
        +--net.sf.antcontrib.cpptasks.compiler.AbstractLinker
              |
              +--net.sf.antcontrib.cpptasks.compiler.CommandLineLinker
                    |
                    +--net.sf.antcontrib.cpptasks.borland.BorlandLinker

public final class BorlandLinker
extends CommandLineLinker

Adapter for the Borland(r) ilink32 linker

Author:
Curt Arnold

Method Summary
protected  void addBase(long base, java.util.Vector args)
           
protected  void addFixed(java.lang.Boolean fixed, java.util.Vector args)
           
protected  void addImpliedArgs(boolean debug, LinkType linkType, java.util.Vector args)
           
protected  void addIncremental(boolean incremental, java.util.Vector args)
           
protected  void addMap(boolean map, java.util.Vector args)
           
protected  void addStack(int stack, java.util.Vector args)
           
 java.lang.String getCommandFileSwitch(java.lang.String commandFile)
           
static BorlandLinker getInstance()
           
 java.io.File[] getLibraryPath()
          returns the library path for the linker
 java.lang.String[] getLibraryPatterns(java.lang.String[] libnames)
          Returns a set of filename patterns corresponding to library names.
 Linker getLinker(LinkType type)
          Gets the linker for the specified link type.
 int getMaximumCommandLength()
           
 java.lang.String[] getOutputFileSwitch(java.lang.String outFile)
           
protected  java.lang.String getStartupObject(LinkType linkType)
           
 boolean isCaseSensitive()
          Returns true if the linker is case-sensitive
protected  java.lang.String[] prepareArguments(java.lang.String outputDir, java.lang.String outputName, java.lang.String[] sourceFiles, CommandLineLinkerConfiguration config)
          Prepares argument list for exec command.
protected  java.lang.String[] prepareResponseFile(java.io.File outputFile, java.lang.String[] args)
          Prepares argument list to execute the linker using a response file.
 
Methods inherited from class net.sf.antcontrib.cpptasks.compiler.CommandLineLinker
addLibrarySets, createConfiguration, decorateLinkerOption, getCommand, getIdentifier, getLibtoolLinker, getOutputFileName, getOutputFileSwitch, link, prepareArguments, prepareFilename, quoteFilename, runCommand
 
Methods inherited from class net.sf.antcontrib.cpptasks.compiler.AbstractLinker
bid, createConfiguration, getLibraryKey
 
Methods inherited from class net.sf.antcontrib.cpptasks.compiler.AbstractProcessor
getIdentifier, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Method Detail

getInstance

public static BorlandLinker getInstance()

getOutputFileSwitch

public java.lang.String[] getOutputFileSwitch(java.lang.String outFile)
Overrides:
getOutputFileSwitch in class CommandLineLinker

getLibraryPath

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

addFixed

protected void addFixed(java.lang.Boolean fixed,
                        java.util.Vector args)
Overrides:
addFixed in class CommandLineLinker

addMap

protected void addMap(boolean map,
                      java.util.Vector args)
Overrides:
addMap in class CommandLineLinker

addBase

protected void addBase(long base,
                       java.util.Vector args)
Overrides:
addBase in class CommandLineLinker

addStack

protected void addStack(int stack,
                        java.util.Vector args)
Overrides:
addStack in class CommandLineLinker

getLinker

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

getStartupObject

protected java.lang.String getStartupObject(LinkType linkType)
Overrides:
getStartupObject in class CommandLineLinker

addImpliedArgs

protected void addImpliedArgs(boolean debug,
                              LinkType linkType,
                              java.util.Vector args)
Overrides:
addImpliedArgs in class CommandLineLinker

getCommandFileSwitch

public java.lang.String getCommandFileSwitch(java.lang.String commandFile)
Overrides:
getCommandFileSwitch in class CommandLineLinker

getMaximumCommandLength

public int getMaximumCommandLength()
Overrides:
getMaximumCommandLength in class CommandLineLinker

prepareArguments

protected java.lang.String[] prepareArguments(java.lang.String outputDir,
                                              java.lang.String outputName,
                                              java.lang.String[] sourceFiles,
                                              CommandLineLinkerConfiguration config)
Prepares argument list for exec command.
Parameters:
outputFile - linker output file
sourceFiles - linker input files (.obj, .o, .res)
args - linker arguments
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

getLibraryPatterns

public java.lang.String[] getLibraryPatterns(java.lang.String[] libnames)
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.
Tags copied from interface: Linker
Parameters:
libnames - array of library names

addIncremental

protected void addIncremental(boolean incremental,
                              java.util.Vector args)
Overrides:
addIncremental in class CommandLineLinker

isCaseSensitive

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


Copyright © 2001-2002 Ant-Contrib project. All Rights Reserved.