net.sf.antcontrib.cpptasks.sun

Class C89Linker

Implemented Interfaces:
Cloneable, Linker, Processor

public final class C89Linker
extends CommandLineLinker

Adapter for the Sun C89 Linker
Author:
Hiram Chirino (cojonudo14@hotmail.com)

Field Summary

Fields inherited from class net.sf.antcontrib.cpptasks.compiler.AbstractProcessor

DEFAULT_DISCARD_BID, DEFAULT_PROCESS_BID

Method Summary

protected void
addBase(long base, Vector args)
protected void
addEntry(String entry, Vector args)
protected void
addFixed(Boolean fixed, Vector args)
protected void
addImpliedArgs(boolean debug, LinkType linkType, Vector args)
protected void
addIncremental(boolean incremental, Vector args)
String[]
addLibrarySets(CCTask task, LibrarySet[] libsets, Vector preargs, Vector midargs, Vector endargs)
protected void
addMap(boolean map, Vector args)
protected void
addStack(int stack, Vector args)
String
getCommandFileSwitch(String commandFile)
static C89Linker
getInstance()
File[]
getLibraryPath()
returns the library path for the linker
String[]
getLibraryPatterns(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()
String[]
getOutputFileNames(String baseName, VersionInfo versionInfo)
Output file name (no path components) corresponding to source file
String[]
getOutputFileSwitch(String outputFile)
boolean
isCaseSensitive()
Returns true if the linker is case-sensitive

Methods inherited from class net.sf.antcontrib.cpptasks.compiler.CommandLineLinker

addBase, addEntry, addFixed, addImpliedArgs, addIncremental, addLibrarySets, addMap, addStack, createConfiguration, decorateLinkerOption, getCommand, getCommandFileSwitch, getIdentifier, getLibtoolLinker, getMaximumCommandLength, getOutputFileNames, getOutputFileSwitch, getOutputFileSwitch, getStartupObject, link, prepareArguments, prepareFilename, prepareResponseFile, quoteFilename, runCommand, setCommand

Methods inherited from class net.sf.antcontrib.cpptasks.compiler.AbstractLinker

addVersionFiles, bid, changeEnvironment, createConfiguration, createConfiguration, getLibraryKey, getOutputFileNames

Methods inherited from class net.sf.antcontrib.cpptasks.compiler.AbstractProcessor

bid, changeEnvironment, clone, getHeaderExtensions, getIdentifier, getIdentifier, getOSArch, getOSName, getSourceExtensions, isDarwin, toString

Method Details

addBase

protected void addBase(long base,
                       Vector args)
Overrides:
addBase in interface CommandLineLinker

addEntry

protected void addEntry(String entry,
                        Vector args)
Overrides:
addEntry in interface CommandLineLinker

addFixed

protected void addFixed(Boolean fixed,
                        Vector args)
Overrides:
addFixed in interface CommandLineLinker

addImpliedArgs

protected void addImpliedArgs(boolean debug,
                              LinkType linkType,
                              Vector args)
Overrides:
addImpliedArgs in interface CommandLineLinker

addIncremental

protected void addIncremental(boolean incremental,
                              Vector args)
Overrides:
addIncremental in interface CommandLineLinker

addLibrarySets

public String[] addLibrarySets(CCTask task,
                               LibrarySet[] libsets,
                               Vector preargs,
                               Vector midargs,
                               Vector endargs)
Overrides:
addLibrarySets in interface CommandLineLinker

addMap

protected void addMap(boolean map,
                      Vector args)
Overrides:
addMap in interface CommandLineLinker

addStack

protected void addStack(int stack,
                        Vector args)
Overrides:
addStack in interface CommandLineLinker

getCommandFileSwitch

public String getCommandFileSwitch(String commandFile)
Overrides:
getCommandFileSwitch in interface CommandLineLinker

getInstance

public static C89Linker getInstance()

getLibraryPath

public File[] getLibraryPath()
returns the library path for the linker
Specified by:
getLibraryPath in interface Linker

getLibraryPatterns

public String[] getLibraryPatterns(String[] libnames,
                                   LibraryTypeEnum libType)
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.
Specified by:
getLibraryPatterns in interface Linker
Parameters:
libnames - array of library names

getLinker

public Linker getLinker(LinkType linkType)
Gets the linker for the specified link type.
Specified by:
getLinker in interface Linker
getLinker in interface Processor
Returns:
appropriate linker or null, will return this if this linker can handle the specified link type

getMaximumCommandLength

public int getMaximumCommandLength()
Overrides:
getMaximumCommandLength in interface CommandLineLinker

getOutputFileNames

public String[] getOutputFileNames(String baseName,
                                   VersionInfo versionInfo)
Output file name (no path components) corresponding to source file
Specified by:
getOutputFileNames in interface Processor
Overrides:
getOutputFileNames in interface CommandLineLinker
Parameters:
Returns:
output file name or null if no output file or name not determined by input file

getOutputFileSwitch

public String[] getOutputFileSwitch(String outputFile)
Overrides:
getOutputFileSwitch in interface CommandLineLinker

isCaseSensitive

public boolean isCaseSensitive()
Returns true if the linker is case-sensitive
Specified by:
isCaseSensitive in interface Linker

Copyright B) 2001-2006 Ant-Contrib project. All Rights Reserved.