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, IntelLinux32Linker, IntelLinux64Linker, LdLinker, VisualAgeLinker
- public abstract class AbstractLdLinker
- extends CommandLineLinker
Abstract adapter for ld-like linkers
- Author:
- Curt Arnold
Constructor Summary |
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 Summary |
void |
addBase(long base,
java.util.Vector args)
|
void |
addFixed(java.lang.Boolean fixed,
java.util.Vector args)
|
protected void |
addImpliedArgs(boolean debug,
LinkType linkType,
java.util.Vector args)
|
void |
addIncremental(boolean incremental,
java.util.Vector args)
|
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)
|
java.lang.String[] |
addLibrarySets(CCTask task,
LibrarySet[] libsets,
java.util.Vector preargs,
java.util.Vector midargs,
java.util.Vector endargs)
|
void |
addMap(boolean map,
java.util.Vector args)
|
void |
addStack(int stack,
java.util.Vector args)
|
java.lang.String |
getCommandFileSwitch(java.lang.String commandFile)
|
protected java.io.File[] |
getEnvironmentIncludePath()
Returns library path. |
java.lang.String |
getLibraryKey(java.io.File libfile)
Extracts the significant part of a library name
to ensure there aren't collisions |
java.io.File[] |
getLibraryPath()
Returns library path. |
java.lang.String[] |
getLibraryPatterns(java.lang.String[] libnames)
Returns a set of filename patterns
corresponding to library names. |
int |
getMaximumCommandLength()
|
java.lang.String |
getOutputFileName(java.lang.String baseName)
Output file name (no path components) corresponding to
source file |
java.lang.String[] |
getOutputFileSwitch(java.lang.String outputFile)
|
boolean |
isCaseSensitive()
Returns true if the linker is case-sensitive |
protected boolean |
isHPUX()
|
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 |
Methods inherited from class java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
wait,
wait,
wait |
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)
getLibraryPath
public java.io.File[] getLibraryPath()
- Returns library path.
getOutputFileName
public java.lang.String getOutputFileName(java.lang.String baseName)
- Description copied from interface: Processor
- Output file name (no path components) corresponding to
source file
- Overrides:
- getOutputFileName in class CommandLineLinker
- Tags copied from interface: Processor
- Parameters:
inputFile
- input file- Returns:
- output file name or null if no output file or name
not determined by input file
addImpliedArgs
protected void addImpliedArgs(boolean debug,
LinkType linkType,
java.util.Vector args)
- Overrides:
- addImpliedArgs in class CommandLineLinker
getCommandFileSwitch
public java.lang.String getCommandFileSwitch(java.lang.String commandFile)
- Overrides:
- getCommandFileSwitch in class CommandLineLinker
getOutputFileSwitch
public java.lang.String[] getOutputFileSwitch(java.lang.String outputFile)
- Overrides:
- getOutputFileSwitch in class CommandLineLinker
getMaximumCommandLength
public int getMaximumCommandLength()
- Overrides:
- getMaximumCommandLength in class CommandLineLinker
addStack
public void addStack(int stack,
java.util.Vector args)
- Overrides:
- addStack in class CommandLineLinker
addIncremental
public void addIncremental(boolean incremental,
java.util.Vector args)
- Overrides:
- addIncremental in class CommandLineLinker
addBase
public void addBase(long base,
java.util.Vector args)
- Overrides:
- addBase in class CommandLineLinker
addMap
public void addMap(boolean map,
java.util.Vector args)
- Overrides:
- addMap in class CommandLineLinker
addFixed
public void addFixed(java.lang.Boolean fixed,
java.util.Vector args)
- Overrides:
- addFixed in class CommandLineLinker
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)
isHPUX
protected boolean isHPUX()
getLibraryPatterns
public java.lang.String[] getLibraryPatterns(java.lang.String[] libnames)
- 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.
- Tags copied from interface: Linker
- Parameters:
libnames
- array of library names
isCaseSensitive
public boolean isCaseSensitive()
- Description copied from interface: Linker
- Returns true if the linker is case-sensitive
addLibrarySets
public java.lang.String[] addLibrarySets(CCTask task,
LibrarySet[] libsets,
java.util.Vector preargs,
java.util.Vector midargs,
java.util.Vector endargs)
- Overrides:
- addLibrarySets in class CommandLineLinker
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:
- prepareArguments in class CommandLineLinker
- Parameters:
outputFile
- linker output filesourceFiles
- linker input files (.obj, .o, .res)args
- linker arguments- Returns:
- arguments for runTask
getLibraryKey
public java.lang.String getLibraryKey(java.io.File libfile)
- Description copied from interface: Linker
- Extracts the significant part of a library name
to ensure there aren't collisions
- Overrides:
- getLibraryKey in class AbstractLinker
getEnvironmentIncludePath
protected java.io.File[] getEnvironmentIncludePath()
- Returns library path.
Copyright © 2001-2002 Ant-Contrib project. All Rights Reserved.