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
Abstract adapter for ld-like linkers
- Author:
- Curt Arnold
-
Field Summary
Fields inherited from class AbstractProcessor
DEFAULT_DISCARD_BID, DEFAULT_PROCESS_BID -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedAbstractLdLinker(String command, String identifierArg, String[] extensions, String[] ignoredExtensions, String outputPrefix, String outputSuffix, boolean isLibtool, AbstractLdLinker libtoolLinker) -
Method Summary
Modifier and TypeMethodDescriptionvoidprotected voidvoidprotected voidaddImpliedArgs(boolean debug, LinkType linkType, Vector args) voidaddIncremental(boolean incremental, Vector args) protected intaddLibraryPatterns(String[] libnames, StringBuffer buf, String prefix, String extension, String[] patterns, int offset) String[]addLibrarySets(CCTask task, LibrarySet[] libsets, Vector preargs, Vector midargs, Vector endargs) voidvoidgetCommandFileSwitch(String commandFile) protected Stringprotected File[]Returns library path.getLibraryKey(File libfile) Extracts the significant part of a library name to ensure there aren't collisionsFile[]Returns library path.String[]getLibraryPatterns(String[] libnames, LibraryTypeEnum libType) Returns a set of filename patterns corresponding to library names.intString[]getOutputFileNames(String baseName, VersionInfo versionInfo) Output file name (no path components) corresponding to source fileString[]getOutputFileSwitch(String outputFile) protected StringbooleanReturns true if the linker is case-sensitiveprotected booleanisHPUX()String[]prepareArguments(CCTask task, String outputDir, String outputFile, String[] sourceFiles, CommandLineLinkerConfiguration config) Prepares argument list for exec command.Methods inherited from class CommandLineLinker
createConfiguration, decorateLinkerOption, getCommand, getIdentifier, getLibtoolLinker, getOutputFileSwitch, getStartupObject, link, prepareFilename, prepareResponseFile, quoteFilename, runCommand, setCommandMethods inherited from class AbstractLinker
addVersionFiles, bid, changeEnvironment, createConfigurationMethods inherited from class AbstractProcessor
clone, getHeaderExtensions, getIdentifier, getOSArch, getOSName, getSourceExtensions, isDarwin, toString
-
Constructor Details
-
AbstractLdLinker
-
-
Method Details
-
addBase
- Specified by:
addBasein classCommandLineLinker
-
addFixed
- Specified by:
addFixedin classCommandLineLinker
-
addImpliedArgs
- Specified by:
addImpliedArgsin classCommandLineLinker
-
addIncremental
- Specified by:
addIncrementalin classCommandLineLinker
-
addLibraryPatterns
protected int addLibraryPatterns(String[] libnames, StringBuffer buf, String prefix, String extension, String[] patterns, int offset) -
addLibrarySets
public String[] addLibrarySets(CCTask task, LibrarySet[] libsets, Vector preargs, Vector midargs, Vector endargs) - Overrides:
addLibrarySetsin classCommandLineLinker
-
addMap
- Specified by:
addMapin classCommandLineLinker
-
addStack
- Specified by:
addStackin classCommandLineLinker
-
addEntry
- Specified by:
addEntryin classCommandLineLinker
-
getCommandFileSwitch
- Specified by:
getCommandFileSwitchin classCommandLineLinker
-
getEnvironmentIncludePath
Returns library path. -
getLibraryKey
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
Returns library path. -
getLibraryPatterns
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
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
- 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 String[] prepareArguments(CCTask task, String outputDir, String outputFile, 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:
task- compilation task.outputFile- linker output filesourceFiles- linker input files (.obj, .o, .res)config- linker configuration- Returns:
- arguments for runTask
-
getDynamicLibFlag
-
getStaticLibFlag
-