Class BorlandLibrarian
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.BorlandLibrarian
Adapter for the Borland(r) tlib Librarian
- 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 voidprotected voidprotected voidprotected voidaddImpliedArgs(boolean debug, LinkType linkType, Vector args) protected voidaddIncremental(boolean incremental, Vector args) protected voidprotected voidprotected StringgetCommandFileSwitch(String cmdFile) Gets identifier for the linker.static BorlandLibrarianFile[]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.intString[]getOutputFileSwitch(String outFile) booleanReturns true if the linker is case-sensitivevoidlink(CCTask task, File outputFile, String[] sourceFiles, CommandLineLinkerConfiguration config) Builds a libraryprotected 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.protected StringquoteFilename(StringBuffer buf, String filename) Encloses problematic file names within quotes.Methods inherited from class net.sf.antcontrib.cpptasks.compiler.CommandLineLinker
addLibrarySets, createConfiguration, decorateLinkerOption, getCommand, getLibtoolLinker, getOutputFileNames, getOutputFileSwitch, getStartupObject, prepareFilename, runCommand, setCommandMethods inherited from class net.sf.antcontrib.cpptasks.compiler.AbstractLinker
addVersionFiles, bid, changeEnvironment, createConfiguration, getLibraryKeyMethods inherited from class net.sf.antcontrib.cpptasks.compiler.AbstractProcessor
clone, getHeaderExtensions, getIdentifier, getOSArch, getOSName, getSourceExtensions, isDarwin, toString
-
Method Details
-
getInstance
-
addBase
- Specified by:
addBasein classCommandLineLinker
-
addFixed
- Specified by:
addFixedin classCommandLineLinker
-
addImpliedArgs
- Specified by:
addImpliedArgsin classCommandLineLinker
-
addIncremental
- Specified by:
addIncrementalin classCommandLineLinker
-
addMap
- Specified by:
addMapin classCommandLineLinker
-
addStack
- Specified by:
addStackin classCommandLineLinker
-
addEntry
- Specified by:
addEntryin classCommandLineLinker
-
getCommandFileSwitch
- Specified by:
getCommandFileSwitchin classCommandLineLinker
-
getLibraryPath
Description copied from interface:Linkerreturns the library path for the linker -
getLibraryPatterns
Description copied from interface:LinkerReturns 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:LinkerGets 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:
getMaximumCommandLengthin classCommandLineLinker
-
getOutputFileSwitch
- Specified by:
getOutputFileSwitchin classCommandLineLinker
-
isCaseSensitive
public boolean isCaseSensitive()Description copied from interface:LinkerReturns true if the linker is case-sensitive -
getIdentifier
Gets identifier for the linker. TLIB will lockup when attempting to get version information. Since the Librarian version isn't critical just return a stock response.- Specified by:
getIdentifierin interfaceProcessor- Overrides:
getIdentifierin classCommandLineLinker
-
prepareArguments
protected String[] prepareArguments(CCTask task, String outputDir, String outputName, String[] sourceFiles, CommandLineLinkerConfiguration config) Prepares argument list for exec command.- Overrides:
prepareArgumentsin 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:
prepareResponseFilein classCommandLineLinker- Parameters:
outputFile- linker output fileargs- output of prepareArguments- Returns:
- arguments for runTask
- Throws:
IOException
-
link
public void link(CCTask task, File outputFile, String[] sourceFiles, CommandLineLinkerConfiguration config) throws org.apache.tools.ant.BuildException Builds a library- Overrides:
linkin classCommandLineLinker- Throws:
org.apache.tools.ant.BuildException
-
quoteFilename
Encloses problematic file names within quotes.- Overrides:
quoteFilenamein classCommandLineLinker- Parameters:
buf- string bufferfilename- source file name- Returns:
- filename potentially enclosed in quotes.
-