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
Adapter for the IBM (R) OS/390 (tm) Linker
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final IccLinker
private static final IccLinker
private static final IccLinker
private boolean
(package private) File
private String
(package private) CCTask
Fields inherited from class net.sf.antcontrib.cpptasks.compiler.AbstractProcessor
DEFAULT_DISCARD_BID, DEFAULT_PROCESS_BID
-
Constructor Summary
Constructors -
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) private static int
addLibraryPatterns
(String[] libnames, StringBuffer buf, String prefix, String extension, String[] patterns, int offset) protected String[]
addLibrarySets
(CCTask task, LibrarySet[] libsets, Vector preargs, Vector midargs, Vector endargs) protected void
protected void
getCommandFileSwitch
(String commandFile) static IccLinker
static IccLinker
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[]
getOutputFileNames
(String baseName, VersionInfo versionInfo) Output file name (no path components) corresponding to source fileString[]
getOutputFileSwitch
(String outputFile) protected String[]
getOutputFileSwitch
(CCTask task, String outputFile) boolean
Returns true if the linker is case-sensitivevoid
link
(CCTask task, File outputFile, String[] sourceFiles, CommandLineLinkerConfiguration config) Performs a link using a command line linkerprotected int
runCommand
(CCTask task, File workingDir, String[] cmdline) This method is exposed so test classes can overload and test the arguments without actually spawning the compilerMethods 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 Details
-
Constructor Details
-
IccLinker
private IccLinker() -
IccLinker
-
-
Method Details
-
getDataSetInstance
-
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
-
addLibrarySets
protected String[] addLibrarySets(CCTask task, LibrarySet[] libsets, Vector preargs, Vector midargs, Vector endargs) - Overrides:
addLibrarySets
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
-
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
-
addLibraryPatterns
private static int addLibraryPatterns(String[] libnames, StringBuffer buf, String prefix, String extension, String[] patterns, int offset) -
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
- Overrides:
getOutputFileSwitch
in classCommandLineLinker
-
getOutputFileSwitch
- 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, File outputFile, 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, File workingDir, 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
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
-