net.sf.antcontrib.cpptasks.devstudio
Class DevStudioCompatibleLinker
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.devstudio.DevStudioCompatibleLinker
- All Implemented Interfaces:
- java.lang.Cloneable, Linker, Processor
- Direct Known Subclasses:
- CompaqVisualFortranLinker, DevStudioLinker, IntelWin32Linker
public abstract class DevStudioCompatibleLinker
- extends CommandLineLinker
Abstract base class for linkers that try to mimic the command line arguments
for the Microsoft (r) Incremental Linker
- Author:
- Curt Arnold
Constructor Summary |
DevStudioCompatibleLinker(java.lang.String command,
java.lang.String identifierArg,
java.lang.String outputSuffix)
|
Method Summary |
protected void |
addBase(long base,
java.util.Vector args)
|
protected void |
addEntry(java.lang.String entry,
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)
|
void |
addVersionFiles(VersionInfo versionInfo,
LinkType linkType,
java.io.File outputFile,
boolean isDebug,
java.io.File objDir,
TargetMatcher matcher)
Adds source or object files to the bidded fileset to
support version information. |
java.lang.String |
getCommandFileSwitch(java.lang.String commandFile)
|
java.io.File[] |
getLibraryPath()
returns the library path for the linker |
java.lang.String[] |
getLibraryPatterns(java.lang.String[] libnames,
LibraryTypeEnum libType)
Returns a set of filename patterns corresponding to library names. |
int |
getMaximumCommandLength()
|
java.lang.String[] |
getOutputFileSwitch(java.lang.String outputFile)
|
boolean |
isCaseSensitive()
Returns true if the linker is case-sensitive |
Methods inherited from class net.sf.antcontrib.cpptasks.compiler.CommandLineLinker |
addLibrarySets, createConfiguration, decorateLinkerOption, getCommand, getIdentifier, getLibtoolLinker, getOutputFileNames, getOutputFileSwitch, getStartupObject, link, prepareArguments, prepareFilename, prepareResponseFile, quoteFilename, runCommand, setCommand |
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface net.sf.antcontrib.cpptasks.compiler.Linker |
getLinker |
DevStudioCompatibleLinker
public DevStudioCompatibleLinker(java.lang.String command,
java.lang.String identifierArg,
java.lang.String outputSuffix)
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
addImpliedArgs
protected void addImpliedArgs(boolean debug,
LinkType linkType,
java.util.Vector args)
- Specified by:
addImpliedArgs
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
getCommandFileSwitch
public java.lang.String getCommandFileSwitch(java.lang.String commandFile)
- Specified by:
getCommandFileSwitch
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
getMaximumCommandLength
public int getMaximumCommandLength()
- Specified by:
getMaximumCommandLength
in class CommandLineLinker
getOutputFileSwitch
public java.lang.String[] getOutputFileSwitch(java.lang.String outputFile)
- Specified by:
getOutputFileSwitch
in class CommandLineLinker
isCaseSensitive
public boolean isCaseSensitive()
- Description copied from interface:
Linker
- Returns true if the linker is case-sensitive
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 informationlinkType
- link typeisDebug
- true if debug buildoutputFile
- name of generated executableobjDir
- directory for generated filesmatcher
- bidded fileset
- Throws:
java.io.IOException
Copyright © 2001-2008 Ant-Contrib Project. All Rights Reserved.