Package net.sf.antcontrib.cpptasks.gcc
Class AbstractLdLinker
- 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.gcc.AbstractLdLinker
-
- Direct Known Subclasses:
aCCLinker,ForteCCLinker,GccLinker,GccLinker,GccLinker,GppLinker,GppLinker,GppLinker,IntelLinux32Linker,IntelLinux64Linker,LdLinker,LdLinker,LdLinker,VisualAgeLinker
public abstract class AbstractLdLinker extends CommandLineLinker
Abstract adapter for ld-like linkers- Author:
- Curt Arnold
-
-
Field Summary
-
Fields inherited from class net.sf.antcontrib.cpptasks.compiler.AbstractProcessor
DEFAULT_DISCARD_BID, DEFAULT_PROCESS_BID
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractLdLinker(java.lang.String command, java.lang.String identifierArg, java.lang.String[] extensions, java.lang.String[] ignoredExtensions, java.lang.String outputPrefix, java.lang.String outputSuffix, boolean isLibtool, AbstractLdLinker libtoolLinker)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddBase(long base, java.util.Vector args)protected voidaddEntry(java.lang.String entry, java.util.Vector args)voidaddFixed(java.lang.Boolean fixed, java.util.Vector args)protected voidaddImpliedArgs(boolean debug, LinkType linkType, java.util.Vector args)voidaddIncremental(boolean incremental, java.util.Vector args)protected intaddLibraryPatterns(java.lang.String[] libnames, java.lang.StringBuffer buf, java.lang.String prefix, java.lang.String extension, java.lang.String[] patterns, int offset)java.lang.String[]addLibrarySets(CCTask task, LibrarySet[] libsets, java.util.Vector preargs, java.util.Vector midargs, java.util.Vector endargs)voidaddMap(boolean map, java.util.Vector args)voidaddStack(int stack, java.util.Vector args)java.lang.StringgetCommandFileSwitch(java.lang.String commandFile)protected java.lang.StringgetDynamicLibFlag()protected java.io.File[]getEnvironmentIncludePath()Returns library path.java.lang.StringgetLibraryKey(java.io.File libfile)Extracts the significant part of a library name to ensure there aren't collisionsjava.io.File[]getLibraryPath()Returns library path.java.lang.String[]getLibraryPatterns(java.lang.String[] libnames, LibraryTypeEnum libType)Returns a set of filename patterns corresponding to library names.intgetMaximumCommandLength()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.StringgetStaticLibFlag()booleanisCaseSensitive()Returns true if the linker is case-sensitiveprotected booleanisHPUX()java.lang.String[]prepareArguments(CCTask task, java.lang.String outputDir, java.lang.String outputFile, java.lang.String[] sourceFiles, CommandLineLinkerConfiguration config)Prepares argument list for exec command.-
Methods inherited from class net.sf.antcontrib.cpptasks.compiler.CommandLineLinker
createConfiguration, decorateLinkerOption, getCommand, getIdentifier, getLibtoolLinker, getOutputFileSwitch, getStartupObject, link, 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
clone, getHeaderExtensions, getIdentifier, getOSArch, getOSName, getSourceExtensions, isDarwin, toString
-
-
-
-
Constructor Detail
-
AbstractLdLinker
protected AbstractLdLinker(java.lang.String command, java.lang.String identifierArg, java.lang.String[] extensions, java.lang.String[] ignoredExtensions, java.lang.String outputPrefix, java.lang.String outputSuffix, boolean isLibtool, AbstractLdLinker libtoolLinker)
-
-
Method Detail
-
addBase
public void addBase(long base, java.util.Vector args)- Specified by:
addBasein classCommandLineLinker
-
addFixed
public void addFixed(java.lang.Boolean fixed, java.util.Vector args)- Specified by:
addFixedin classCommandLineLinker
-
addImpliedArgs
protected void addImpliedArgs(boolean debug, LinkType linkType, java.util.Vector args)- Specified by:
addImpliedArgsin classCommandLineLinker
-
addIncremental
public void addIncremental(boolean incremental, java.util.Vector args)- Specified by:
addIncrementalin classCommandLineLinker
-
addLibraryPatterns
protected int addLibraryPatterns(java.lang.String[] libnames, java.lang.StringBuffer buf, java.lang.String prefix, java.lang.String extension, java.lang.String[] patterns, int offset)
-
addLibrarySets
public java.lang.String[] addLibrarySets(CCTask task, LibrarySet[] libsets, java.util.Vector preargs, java.util.Vector midargs, java.util.Vector endargs)
- Overrides:
addLibrarySetsin classCommandLineLinker
-
addMap
public void addMap(boolean map, java.util.Vector args)- Specified by:
addMapin classCommandLineLinker
-
addStack
public void addStack(int stack, java.util.Vector args)- Specified by:
addStackin classCommandLineLinker
-
addEntry
protected void addEntry(java.lang.String entry, java.util.Vector args)- Specified by:
addEntryin classCommandLineLinker
-
getCommandFileSwitch
public java.lang.String getCommandFileSwitch(java.lang.String commandFile)
- Specified by:
getCommandFileSwitchin classCommandLineLinker
-
getEnvironmentIncludePath
protected java.io.File[] getEnvironmentIncludePath()
Returns library path.
-
getLibraryKey
public java.lang.String getLibraryKey(java.io.File libfile)
Description copied from interface:LinkerExtracts the significant part of a library name to ensure there aren't collisions- Specified by:
getLibraryKeyin interfaceLinker- Overrides:
getLibraryKeyin classAbstractLinker
-
getLibraryPath
public java.io.File[] getLibraryPath()
Returns library path.
-
getLibraryPatterns
public java.lang.String[] getLibraryPatterns(java.lang.String[] libnames, LibraryTypeEnum libType)Description copied from interface:LinkerReturns 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
-
getMaximumCommandLength
public int getMaximumCommandLength()
- Specified by:
getMaximumCommandLengthin classCommandLineLinker
-
getOutputFileNames
public java.lang.String[] getOutputFileNames(java.lang.String baseName, VersionInfo versionInfo)Description copied from interface:ProcessorOutput file name (no path components) corresponding to source file- Specified by:
getOutputFileNamesin interfaceProcessor- Overrides:
getOutputFileNamesin classCommandLineLinker- Parameters:
baseName- input file- Returns:
- output file name or null if no output file or name not determined by input file
-
getOutputFileSwitch
public java.lang.String[] getOutputFileSwitch(java.lang.String outputFile)
- Specified by:
getOutputFileSwitchin classCommandLineLinker
-
isCaseSensitive
public boolean isCaseSensitive()
Description copied from interface:LinkerReturns true if the linker is case-sensitive
-
isHPUX
protected boolean isHPUX()
-
prepareArguments
public java.lang.String[] prepareArguments(CCTask task, java.lang.String outputDir, java.lang.String outputFile, java.lang.String[] sourceFiles, CommandLineLinkerConfiguration config)
Prepares argument list for exec command. Will return null if command line would exceed allowable command line buffer.- Overrides:
prepareArgumentsin classCommandLineLinker- Parameters:
outputFile- linker output filesourceFiles- linker input files (.obj, .o, .res)config- linker configurationtask- compilation task.- Returns:
- arguments for runTask
-
getDynamicLibFlag
protected java.lang.String getDynamicLibFlag()
-
getStaticLibFlag
protected java.lang.String getStaticLibFlag()
-
-