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
-
Field Summary
FieldsFields inherited from class net.sf.antcontrib.cpptasks.compiler.AbstractProcessor
DEFAULT_DISCARD_BID, DEFAULT_PROCESS_BID
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
AbstractLdLinker
(String command, String identifierArg, String[] extensions, String[] ignoredExtensions, String outputPrefix, String outputSuffix, boolean isLibtool, AbstractLdLinker libtoolLinker) -
Method Summary
Modifier and TypeMethodDescriptionvoid
protected void
void
protected void
addImpliedArgs
(boolean debug, LinkType linkType, Vector args) void
addIncremental
(boolean incremental, Vector args) protected int
addLibraryPatterns
(String[] libnames, StringBuffer buf, String prefix, String extension, String[] patterns, int offset) String[]
addLibrarySets
(CCTask task, LibrarySet[] libsets, Vector preargs, Vector midargs, Vector endargs) void
void
getCommandFileSwitch
(String commandFile) protected String
protected 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.int
String[]
getOutputFileNames
(String baseName, VersionInfo versionInfo) Output file name (no path components) corresponding to source fileString[]
getOutputFileSwitch
(String outputFile) protected String
boolean
Returns true if the linker is case-sensitiveprotected boolean
isHPUX()
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, 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
-
Field Details
-
outputPrefix
-
-
Constructor Details
-
AbstractLdLinker
-
-
Method Details
-
addBase
- Specified by:
addBase
in classCommandLineLinker
-
addFixed
- Specified by:
addFixed
in classCommandLineLinker
-
addImpliedArgs
- Specified by:
addImpliedArgs
in classCommandLineLinker
-
addIncremental
- Specified by:
addIncremental
in 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:
addLibrarySets
in classCommandLineLinker
-
addMap
- Specified by:
addMap
in classCommandLineLinker
-
addStack
- Specified by:
addStack
in classCommandLineLinker
-
addEntry
- Specified by:
addEntry
in classCommandLineLinker
-
getCommandFileSwitch
- Specified by:
getCommandFileSwitch
in classCommandLineLinker
-
getEnvironmentIncludePath
Returns library path. -
getLibraryKey
Description copied from interface:Linker
Extracts the significant part of a library name to ensure there aren't collisions- Specified by:
getLibraryKey
in interfaceLinker
- Overrides:
getLibraryKey
in classAbstractLinker
-
getLibraryPath
Returns library path. -
getLibraryPatterns
Description copied from interface:Linker
Returns 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:
getMaximumCommandLength
in classCommandLineLinker
-
getOutputFileNames
Description copied from interface:Processor
Output file name (no path components) corresponding to source file- Specified by:
getOutputFileNames
in interfaceProcessor
- Overrides:
getOutputFileNames
in 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:
getOutputFileSwitch
in classCommandLineLinker
-
isCaseSensitive
public boolean isCaseSensitive()Description copied from interface:Linker
Returns 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:
prepareArguments
in classCommandLineLinker
- Parameters:
task
- compilation task.outputFile
- linker output filesourceFiles
- linker input files (.obj, .o, .res)config
- linker configuration- Returns:
- arguments for runTask
-
getDynamicLibFlag
-
getStaticLibFlag
-