Package net.sf.antcontrib.cpptasks.os400
Class IccLinker
- 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.os400.IccLinker
-
public final class IccLinker extends CommandLineLinker
Adapter for the IBM (R) OS/390 (tm) Linker
-
-
Field Summary
Fields Modifier and Type Field Description private static IccLinker
datasetLinker
private static IccLinker
dllLinker
private static IccLinker
instance
private boolean
isADatasetLinker
(package private) java.io.File
outputFile
private java.lang.String
outputPrefix
(package private) CCTask
task
-
Fields inherited from class net.sf.antcontrib.cpptasks.compiler.AbstractProcessor
DEFAULT_DISCARD_BID, DEFAULT_PROCESS_BID
-
-
Method Summary
All Methods Static 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)
private static int
addLibraryPatterns(java.lang.String[] libnames, java.lang.StringBuffer buf, java.lang.String prefix, java.lang.String extension, java.lang.String[] patterns, int offset)
protected java.lang.String[]
addLibrarySets(CCTask task, LibrarySet[] libsets, java.util.Vector preargs, java.util.Vector midargs, java.util.Vector endargs)
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 IccLinker
getDataSetInstance()
static IccLinker
getInstance()
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.Linker
getLinker(LinkType linkType)
Gets the linker for the specified link type.int
getMaximumCommandLength()
java.lang.String[]
getOutputFileNames(java.lang.String baseName, VersionInfo versionInfo)
Output file name (no path components) corresponding to source filejava.lang.String[]
getOutputFileSwitch(java.lang.String outputFile)
protected java.lang.String[]
getOutputFileSwitch(CCTask task, java.lang.String outputFile)
boolean
isCaseSensitive()
Returns true if the linker is case-sensitivevoid
link(CCTask task, java.io.File outputFile, java.lang.String[] sourceFiles, CommandLineLinkerConfiguration config)
Performs a link using a command line linkerprotected int
runCommand(CCTask task, java.io.File workingDir, java.lang.String[] cmdline)
This method is exposed so test classes can overload and test the arguments without actually spawning the compiler-
Methods inherited from class net.sf.antcontrib.cpptasks.compiler.CommandLineLinker
createConfiguration, decorateLinkerOption, getCommand, getIdentifier, getLibtoolLinker, getStartupObject, prepareArguments, prepareFilename, prepareResponseFile, quoteFilename, setCommand
-
Methods inherited from class net.sf.antcontrib.cpptasks.compiler.AbstractLinker
addVersionFiles, bid, changeEnvironment, createConfiguration, getLibraryKey
-
Methods inherited from class net.sf.antcontrib.cpptasks.compiler.AbstractProcessor
clone, getHeaderExtensions, getIdentifier, getOSArch, getOSName, getSourceExtensions, isDarwin, toString
-
-
-
-
Field Detail
-
datasetLinker
private static final IccLinker datasetLinker
-
dllLinker
private static final IccLinker dllLinker
-
instance
private static final IccLinker instance
-
isADatasetLinker
private boolean isADatasetLinker
-
outputFile
java.io.File outputFile
-
outputPrefix
private java.lang.String outputPrefix
-
task
CCTask task
-
-
Method Detail
-
getDataSetInstance
public static IccLinker getDataSetInstance()
-
getInstance
public static IccLinker getInstance()
-
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
-
addLibrarySets
protected java.lang.String[] addLibrarySets(CCTask task, LibrarySet[] libsets, java.util.Vector preargs, java.util.Vector midargs, java.util.Vector endargs)
- Overrides:
addLibrarySets
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
-
addLibraryPatterns
private static int addLibraryPatterns(java.lang.String[] libnames, java.lang.StringBuffer buf, java.lang.String prefix, java.lang.String extension, java.lang.String[] patterns, int offset)
-
getLinker
public Linker getLinker(LinkType linkType)
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
protected java.lang.String[] getOutputFileSwitch(CCTask task, java.lang.String outputFile)
- Overrides:
getOutputFileSwitch
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
-
link
public void link(CCTask task, java.io.File outputFile, java.lang.String[] sourceFiles, CommandLineLinkerConfiguration config) throws org.apache.tools.ant.BuildException
Description copied from class:CommandLineLinker
Performs a link using a command line linker- Overrides:
link
in classCommandLineLinker
- Throws:
org.apache.tools.ant.BuildException
-
runCommand
protected int runCommand(CCTask task, java.io.File workingDir, java.lang.String[] cmdline) throws org.apache.tools.ant.BuildException
Description copied from class:CommandLineLinker
This method is exposed so test classes can overload and test the arguments without actually spawning the compiler- Overrides:
runCommand
in classCommandLineLinker
- Throws:
org.apache.tools.ant.BuildException
-
getOutputFileNames
public java.lang.String[] getOutputFileNames(java.lang.String baseName, VersionInfo versionInfo)
Description copied from interface:Processor
Output file name (no path components) corresponding to source file- Specified by:
getOutputFileNames
in interfaceProcessor
- Overrides:
getOutputFileNames
in classCommandLineLinker
- Parameters:
baseName
- input file- Returns:
- output file name or null if no output file or name not determined by input file
-
-