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
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
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 net.sf.antcontrib.cpptasks.compiler.CommandLineLinker
createConfiguration, decorateLinkerOption, getCommand, getIdentifier, getLibtoolLinker, getOutputFileSwitch, getStartupObject, link, prepareFilename, prepareResponseFile, quoteFilename, runCommand, setCommandMethods inherited from class net.sf.antcontrib.cpptasks.compiler.AbstractLinker
addVersionFiles, bid, changeEnvironment, createConfigurationMethods inherited from class net.sf.antcontrib.cpptasks.compiler.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
-