net.sf.antcontrib.cpptasks.gcc
Class AbstractArLibrarian
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.AbstractArLibrarian
- All Implemented Interfaces:
- java.lang.Cloneable, Linker, Processor
- Direct Known Subclasses:
- GccLibrarian, GccLibrarian, GccLibrarian
public abstract class AbstractArLibrarian
- extends CommandLineLinker
Adapter for the "ar" tool
- Author:
- Adam Murdoch, Curt Arnold
Constructor Summary |
protected |
AbstractArLibrarian(java.lang.String command,
java.lang.String identificationArg,
java.lang.String[] inputExtensions,
java.lang.String[] ignoredExtensions,
java.lang.String outputPrefix,
java.lang.String outputExtension,
boolean isLibtool,
AbstractArLibrarian libtoolLibrarian)
|
Method Summary |
void |
addBase(long base,
java.util.Vector args)
|
protected void |
addEntry(java.lang.String entry,
java.util.Vector args)
|
void |
addFixed(java.lang.Boolean fixed,
java.util.Vector args)
|
void |
addImpliedArgs(boolean debug,
LinkType linkType,
java.util.Vector args)
|
void |
addIncremental(boolean incremental,
java.util.Vector args)
|
void |
addMap(boolean map,
java.util.Vector args)
|
void |
addStack(int stack,
java.util.Vector args)
|
java.lang.String |
getCommandFileSwitch(java.lang.String commandFile)
|
java.io.File[] |
getLibraryPath()
returns the library path for the linker |
java.lang.String[] |
getLibraryPatterns(java.lang.String[] libnames,
LibraryTypeEnum libType)
Returns a set of filename patterns corresponding to library names. |
int |
getMaximumCommandLength()
|
java.lang.String[] |
getOutputFileNames(java.lang.String baseName,
VersionInfo versionInfo)
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 |
void |
link(CCTask task,
java.io.File outputFile,
java.lang.String[] sourceFiles,
CommandLineLinkerConfiguration config)
Performs a link using a command line linker |
Methods inherited from class net.sf.antcontrib.cpptasks.compiler.CommandLineLinker |
addLibrarySets, createConfiguration, decorateLinkerOption, getCommand, getIdentifier, getLibtoolLinker, getOutputFileSwitch, getStartupObject, prepareArguments, prepareFilename, prepareResponseFile, quoteFilename, runCommand, setCommand |
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface net.sf.antcontrib.cpptasks.compiler.Linker |
getLinker |
AbstractArLibrarian
protected AbstractArLibrarian(java.lang.String command,
java.lang.String identificationArg,
java.lang.String[] inputExtensions,
java.lang.String[] ignoredExtensions,
java.lang.String outputPrefix,
java.lang.String outputExtension,
boolean isLibtool,
AbstractArLibrarian libtoolLibrarian)
addBase
public void addBase(long base,
java.util.Vector args)
- Specified by:
addBase
in class CommandLineLinker
addFixed
public void addFixed(java.lang.Boolean fixed,
java.util.Vector args)
- Specified by:
addFixed
in class CommandLineLinker
addImpliedArgs
public void addImpliedArgs(boolean debug,
LinkType linkType,
java.util.Vector args)
- Specified by:
addImpliedArgs
in class CommandLineLinker
addIncremental
public void addIncremental(boolean incremental,
java.util.Vector args)
- Specified by:
addIncremental
in class CommandLineLinker
addMap
public void addMap(boolean map,
java.util.Vector args)
- Specified by:
addMap
in class CommandLineLinker
addStack
public void addStack(int stack,
java.util.Vector args)
- Specified by:
addStack
in class CommandLineLinker
addEntry
protected void addEntry(java.lang.String entry,
java.util.Vector args)
- Specified by:
addEntry
in class CommandLineLinker
getCommandFileSwitch
public java.lang.String getCommandFileSwitch(java.lang.String commandFile)
- Specified by:
getCommandFileSwitch
in class CommandLineLinker
getLibraryPath
public java.io.File[] getLibraryPath()
- Description copied from interface:
Linker
- returns the library path for the linker
getLibraryPatterns
public java.lang.String[] getLibraryPatterns(java.lang.String[] libnames,
LibraryTypeEnum libType)
- 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 class CommandLineLinker
getOutputFileNames
public java.lang.String[] getOutputFileNames(java.lang.String baseName,
VersionInfo versionInfo)
- Description copied from interface:
Processor
- Output file name (no path components) corresponding to source file
- Specified by:
getOutputFileNames
in interface Processor
- Overrides:
getOutputFileNames
in class CommandLineLinker
- 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:
getOutputFileSwitch
in class CommandLineLinker
isCaseSensitive
public boolean isCaseSensitive()
- Description copied from interface:
Linker
- Returns true if the linker is case-sensitive
link
public void link(CCTask task,
java.io.File outputFile,
java.lang.String[] sourceFiles,
CommandLineLinkerConfiguration config)
throws org.apache.tools.ant.BuildException
- Description copied from class:
CommandLineLinker
- Performs a link using a command line linker
- Overrides:
link
in class CommandLineLinker
- Throws:
org.apache.tools.ant.BuildException
Copyright © 2001-2008 Ant-Contrib Project. All Rights Reserved.