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:
- 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
Method Summary |
void |
addBase(long base,
Vector args)
|
protected void |
addEntry(String entry,
Vector args)
|
void |
addFixed(Boolean fixed,
Vector args)
|
void |
addImpliedArgs(boolean debug,
LinkType linkType,
Vector args)
|
void |
addIncremental(boolean incremental,
Vector args)
|
void |
addMap(boolean map,
Vector args)
|
void |
addStack(int stack,
Vector args)
|
String |
getCommandFileSwitch(String commandFile)
|
File[] |
getLibraryPath()
returns the library path for the linker |
String[] |
getLibraryPatterns(String[] libnames,
LibraryTypeEnum libType)
Returns a set of filename patterns corresponding to library names. |
int |
getMaximumCommandLength()
|
String[] |
getOutputFileNames(String baseName,
VersionInfo versionInfo)
Output file name (no path components) corresponding to source file |
String[] |
getOutputFileSwitch(String outputFile)
|
boolean |
isCaseSensitive()
Returns true if the linker is case-sensitive |
void |
link(CCTask task,
File outputFile,
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 interface net.sf.antcontrib.cpptasks.compiler.Linker |
getLinker |
AbstractArLibrarian
protected AbstractArLibrarian(String command,
String identificationArg,
String[] inputExtensions,
String[] ignoredExtensions,
String outputPrefix,
String outputExtension,
boolean isLibtool,
AbstractArLibrarian libtoolLibrarian)
addBase
public void addBase(long base,
Vector args)
- Specified by:
addBase
in class CommandLineLinker
addFixed
public void addFixed(Boolean fixed,
Vector args)
- Specified by:
addFixed
in class CommandLineLinker
addImpliedArgs
public void addImpliedArgs(boolean debug,
LinkType linkType,
Vector args)
- Specified by:
addImpliedArgs
in class CommandLineLinker
addIncremental
public void addIncremental(boolean incremental,
Vector args)
- Specified by:
addIncremental
in class CommandLineLinker
addMap
public void addMap(boolean map,
Vector args)
- Specified by:
addMap
in class CommandLineLinker
addStack
public void addStack(int stack,
Vector args)
- Specified by:
addStack
in class CommandLineLinker
addEntry
protected void addEntry(String entry,
Vector args)
- Specified by:
addEntry
in class CommandLineLinker
getCommandFileSwitch
public String getCommandFileSwitch(String commandFile)
- Specified by:
getCommandFileSwitch
in class CommandLineLinker
getLibraryPath
public File[] getLibraryPath()
- Description copied from interface:
Linker
- returns the library path for the linker
getLibraryPatterns
public String[] getLibraryPatterns(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 String[] getOutputFileNames(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 String[] getOutputFileSwitch(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,
File outputFile,
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-2011 Ant-Contrib Project. All Rights Reserved.