Class GppLinker
- java.lang.Object
-
public class GppLinker extends AbstractLdLinker
Adapter for the g++ variant of the GCC linker- Author:
- Stephen M. Webb
-
-
Field Summary
Fields Modifier and Type Field Description protected static java.lang.String[]
discardFiles
protected static java.lang.String[]
libtoolObjFiles
protected static java.lang.String[]
objFiles
-
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
addImpliedArgs(boolean debug, LinkType linkType, java.util.Vector args)
java.lang.String[]
addLibrarySets(CCTask task, LibrarySet[] libsets, java.util.Vector preargs, java.util.Vector midargs, java.util.Vector endargs)
protected java.lang.Object
clone()
java.lang.String
decorateLinkerOption(java.lang.StringBuffer buf, java.lang.String arg)
Allows drived linker to decorate linker option.static GppLinker
getInstance()
java.io.File[]
getLibraryPath()
Returns library path.Linker
getLinker(LinkType type)
Gets the linker for the specified link type.void
link(CCTask task, java.io.File outputFile, java.lang.String[] sourceFiles, CommandLineLinkerConfiguration config)
Performs a link using a command line linker-
Methods inherited from class net.sf.antcontrib.cpptasks.gcc.AbstractLdLinker
addBase, addEntry, addFixed, addIncremental, addLibraryPatterns, addMap, addStack, getCommandFileSwitch, getDynamicLibFlag, getEnvironmentIncludePath, getLibraryKey, getLibraryPatterns, getMaximumCommandLength, getOutputFileNames, getOutputFileSwitch, getStaticLibFlag, isCaseSensitive, isHPUX, prepareArguments
-
Methods inherited from class net.sf.antcontrib.cpptasks.compiler.CommandLineLinker
createConfiguration, getCommand, getIdentifier, getLibtoolLinker, getOutputFileSwitch, getStartupObject, prepareFilename, prepareResponseFile, quoteFilename, runCommand, setCommand
-
Methods inherited from class net.sf.antcontrib.cpptasks.compiler.AbstractLinker
addVersionFiles, bid, changeEnvironment, createConfiguration
-
Methods inherited from class net.sf.antcontrib.cpptasks.compiler.AbstractProcessor
getHeaderExtensions, getIdentifier, getOSArch, getOSName, getSourceExtensions, isDarwin, toString
-
-
-
-
Constructor Detail
-
GppLinker
protected GppLinker(java.lang.String command, java.lang.String[] extensions, java.lang.String[] ignoredExtensions, java.lang.String outputPrefix, java.lang.String outputSuffix, boolean isLibtool, GppLinker libtoolLinker)
-
-
Method Detail
-
getInstance
public static GppLinker getInstance()
-
addImpliedArgs
protected void addImpliedArgs(boolean debug, LinkType linkType, java.util.Vector args)
- Overrides:
addImpliedArgs
in classAbstractLdLinker
-
addLibrarySets
public java.lang.String[] addLibrarySets(CCTask task, LibrarySet[] libsets, java.util.Vector preargs, java.util.Vector midargs, java.util.Vector endargs)
- Overrides:
addLibrarySets
in classAbstractLdLinker
-
clone
protected java.lang.Object clone() throws java.lang.CloneNotSupportedException
- Overrides:
clone
in classAbstractProcessor
- Throws:
java.lang.CloneNotSupportedException
-
decorateLinkerOption
public java.lang.String decorateLinkerOption(java.lang.StringBuffer buf, java.lang.String arg)
Allows drived linker to decorate linker option. Override by GppLinker to prepend a "-Wl," to pass option to through gcc to linker.- Overrides:
decorateLinkerOption
in classCommandLineLinker
- Parameters:
buf
- buffer that may be used and abused in the decoration process, must not be null.arg
- linker argument
-
getLibraryPath
public java.io.File[] getLibraryPath()
Returns library path.- Specified by:
getLibraryPath
in interfaceLinker
- Overrides:
getLibraryPath
in classAbstractLdLinker
-
getLinker
public Linker getLinker(LinkType type)
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
-
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
-
-