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
Adapter for the Borland(r) ilink32 linker
- Author:
- Curt Arnold
-
Field Summary
Fields inherited from class net.sf.antcontrib.cpptasks.compiler.AbstractProcessor
DEFAULT_DISCARD_BID, DEFAULT_PROCESS_BID
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
protected void
protected void
protected void
addImpliedArgs
(boolean debug, LinkType linkType, Vector args) protected void
addIncremental
(boolean incremental, Vector args) protected void
protected void
void
addVersionFiles
(VersionInfo versionInfo, LinkType linkType, File outputFile, boolean isDebug, File objDir, TargetMatcher matcher) Adds source or object files to the bidded fileset to support version information.getCommandFileSwitch
(String commandFile) Retrieve an identifier that identifies the specific version of the compiler.static BorlandLinker
File[]
returns the library path for the linkerString[]
getLibraryPatterns
(String[] libnames, LibraryTypeEnum libType) Returns a set of filename patterns corresponding to library names.Gets the linker for the specified link type.int
String[]
getOutputFileSwitch
(String outFile) protected String
getStartupObject
(LinkType linkType) boolean
Returns true if the linker is case-sensitiveprotected String[]
prepareArguments
(CCTask task, String outputDir, String outputName, String[] sourceFiles, CommandLineLinkerConfiguration config) Prepares argument list for exec command.protected String[]
prepareResponseFile
(File outputFile, 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, getLibtoolLinker, getOutputFileNames, getOutputFileSwitch, link, prepareFilename, quoteFilename, runCommand, setCommand
Methods inherited from class net.sf.antcontrib.cpptasks.compiler.AbstractLinker
bid, changeEnvironment, createConfiguration, getLibraryKey
Methods inherited from class net.sf.antcontrib.cpptasks.compiler.AbstractProcessor
clone, getHeaderExtensions, getIdentifier, getOSArch, getOSName, getSourceExtensions, isDarwin, toString
-
Method Details
-
getInstance
-
addBase
- Specified by:
addBase
in classCommandLineLinker
-
addFixed
- Specified by:
addFixed
in classCommandLineLinker
-
addImpliedArgs
- Specified by:
addImpliedArgs
in classCommandLineLinker
-
addIncremental
- Specified by:
addIncremental
in classCommandLineLinker
-
addMap
- Specified by:
addMap
in classCommandLineLinker
-
addStack
- Specified by:
addStack
in classCommandLineLinker
-
addEntry
- Specified by:
addEntry
in classCommandLineLinker
-
getCommandFileSwitch
- Specified by:
getCommandFileSwitch
in classCommandLineLinker
-
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 interfaceProcessor
- Overrides:
getIdentifier
in classCommandLineLinker
-
getLibraryPath
Description copied from interface:Linker
returns the library path for the linker -
getLibraryPatterns
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
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
-
getMaximumCommandLength
public int getMaximumCommandLength()- Specified by:
getMaximumCommandLength
in classCommandLineLinker
-
getOutputFileSwitch
- Specified by:
getOutputFileSwitch
in classCommandLineLinker
-
getStartupObject
- Overrides:
getStartupObject
in classCommandLineLinker
-
isCaseSensitive
public boolean isCaseSensitive()Description copied from interface:Linker
Returns true if the linker is case-sensitive -
prepareArguments
protected String[] prepareArguments(CCTask task, String outputDir, String outputName, String[] sourceFiles, CommandLineLinkerConfiguration config) Prepares argument list for exec command.- Overrides:
prepareArguments
in classCommandLineLinker
- Parameters:
task
- compilation task.outputDir
- linker output directoryoutputName
- linker output namesourceFiles
- linker input files (.obj, .o, .res)config
- linker configuration- Returns:
- arguments for runTask
-
prepareResponseFile
Prepares argument list to execute the linker using a response file.- Overrides:
prepareResponseFile
in classCommandLineLinker
- Parameters:
outputFile
- linker output fileargs
- output of prepareArguments- Returns:
- arguments for runTask
- Throws:
IOException
-
addVersionFiles
public void addVersionFiles(VersionInfo versionInfo, LinkType linkType, File outputFile, boolean isDebug, File objDir, TargetMatcher matcher) throws IOException Adds source or object files to the bidded fileset to support version information.- Specified by:
addVersionFiles
in interfaceLinker
- Overrides:
addVersionFiles
in classAbstractLinker
- Parameters:
versionInfo
- version informationlinkType
- link typeoutputFile
- name of generated executableisDebug
- true if debug buildobjDir
- directory for generated filesmatcher
- bidded fileset- Throws:
IOException
-