com.github.maven_nar.cpptasks.gcc
Class GppLinker

java.lang.Object
  extended by com.github.maven_nar.cpptasks.compiler.AbstractProcessor
      extended by com.github.maven_nar.cpptasks.compiler.AbstractLinker
          extended by com.github.maven_nar.cpptasks.compiler.CommandLineLinker
              extended by com.github.maven_nar.cpptasks.gcc.AbstractLdLinker
                  extended by com.github.maven_nar.cpptasks.gcc.GppLinker
All Implemented Interfaces:
Linker, Processor, Cloneable

public class GppLinker
extends AbstractLdLinker

Adapter for the g++ variant of the GCC linker

Author:
Stephen M. Webb

Field Summary
protected static String[] discardFiles
           
static String GPP_COMMAND
           
protected static String[] libtoolObjFiles
           
protected static String[] objFiles
           
 
Fields inherited from class com.github.maven_nar.cpptasks.compiler.AbstractProcessor
DEFAULT_DISCARD_BID, DEFAULT_PROCESS_BID
 
Constructor Summary
protected GppLinker(String command, String[] extensions, String[] ignoredExtensions, String outputPrefix, String outputSuffix, boolean isLibtool, GppLinker libtoolLinker)
           
 
Method Summary
protected  void addImpliedArgs(boolean debug, LinkType linkType, Vector args)
           
 String[] addLibrarySets(CCTask task, LibrarySet[] libsets, Vector preargs, Vector midargs, Vector endargs)
           
 String decorateLinkerOption(StringBuffer buf, String arg)
          Allows drived linker to decorate linker option.
static GppLinker getInstance()
           
 File[] getLibraryPath()
          Returns library path.
 Linker getLinker(LinkType type)
          Gets the linker for the specified link type.
 
Methods inherited from class com.github.maven_nar.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 com.github.maven_nar.cpptasks.compiler.CommandLineLinker
createConfiguration, getCommand, getCommandWithPath, getIdentifier, getLibtoolLinker, getOutputFileSwitch, getStartupObject, link, prepareFilename, prepareResponseFile, quoteFilename, runCommand, setCommand
 
Methods inherited from class com.github.maven_nar.cpptasks.compiler.AbstractLinker
addVersionFiles, bid, changeEnvironment, createConfiguration
 
Methods inherited from class com.github.maven_nar.cpptasks.compiler.AbstractProcessor
clone, getHeaderExtensions, getIdentifier, getOSArch, getOSName, getSourceExtensions, isDarwin, isWindows, toString
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

GPP_COMMAND

public static final String GPP_COMMAND
See Also:
Constant Field Values

discardFiles

protected static final String[] discardFiles

objFiles

protected static final String[] objFiles

libtoolObjFiles

protected static final String[] libtoolObjFiles
Constructor Detail

GppLinker

protected GppLinker(String command,
                    String[] extensions,
                    String[] ignoredExtensions,
                    String outputPrefix,
                    String outputSuffix,
                    boolean isLibtool,
                    GppLinker libtoolLinker)
Method Detail

getInstance

public static GppLinker getInstance()

addImpliedArgs

protected void addImpliedArgs(boolean debug,
                              LinkType linkType,
                              Vector args)
Overrides:
addImpliedArgs in class AbstractLdLinker

addLibrarySets

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

decorateLinkerOption

public String decorateLinkerOption(StringBuffer buf,
                                   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 class CommandLineLinker
Parameters:
buf - buffer that may be used and abused in the decoration process, must not be null.
arg - linker argument

getLibraryPath

public File[] getLibraryPath()
Returns library path.

Specified by:
getLibraryPath in interface Linker
Overrides:
getLibraryPath in class AbstractLdLinker

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


Copyright © 2001-2013. All Rights Reserved.