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
-
- 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
-
-
Field Summary
-
Fields inherited from class net.sf.antcontrib.cpptasks.compiler.AbstractProcessor
DEFAULT_DISCARD_BID, DEFAULT_PROCESS_BID
-
-
Constructor Summary
Constructors Constructor Description DevStudioCompatibleLinker(java.lang.String command, java.lang.String identifierArg, java.lang.String outputSuffix)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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 linkerjava.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 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 Detail
-
addBase
protected void addBase(long base, java.util.Vector args)
- Specified by:
addBase
in classCommandLineLinker
-
addFixed
protected void addFixed(java.lang.Boolean fixed, java.util.Vector args)
- Specified by:
addFixed
in classCommandLineLinker
-
addImpliedArgs
protected void addImpliedArgs(boolean debug, LinkType linkType, java.util.Vector args)
- Specified by:
addImpliedArgs
in classCommandLineLinker
-
addIncremental
protected void addIncremental(boolean incremental, java.util.Vector args)
- Specified by:
addIncremental
in classCommandLineLinker
-
addMap
protected void addMap(boolean map, java.util.Vector args)
- Specified by:
addMap
in classCommandLineLinker
-
addStack
protected void addStack(int stack, java.util.Vector args)
- Specified by:
addStack
in classCommandLineLinker
-
addEntry
protected void addEntry(java.lang.String entry, java.util.Vector args)
- Specified by:
addEntry
in classCommandLineLinker
-
getCommandFileSwitch
public java.lang.String getCommandFileSwitch(java.lang.String commandFile)
- Specified by:
getCommandFileSwitch
in classCommandLineLinker
-
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 classCommandLineLinker
-
getOutputFileSwitch
public java.lang.String[] getOutputFileSwitch(java.lang.String outputFile)
- Specified by:
getOutputFileSwitch
in classCommandLineLinker
-
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 interfaceLinker
- Overrides:
addVersionFiles
in classAbstractLinker
- Parameters:
versionInfo
- version informationlinkType
- link typeisDebug
- true if debug buildoutputFile
- name of generated executableobjDir
- directory for generated filesmatcher
- bidded fileset- Throws:
java.io.IOException
-
-