net.sf.antcontrib.cpptasks.compiler
Class AbstractLinker
java.lang.Object
net.sf.antcontrib.cpptasks.compiler.AbstractProcessor
net.sf.antcontrib.cpptasks.compiler.AbstractLinker
- All Implemented Interfaces:
- java.lang.Cloneable, Linker, Processor
- Direct Known Subclasses:
- CommandLineLinker
public abstract class AbstractLinker
- extends AbstractProcessor
- implements Linker
An abstract Linker implementation.
- Author:
- Adam Murdoch
Constructor Summary |
AbstractLinker(java.lang.String[] objExtensions,
java.lang.String[] ignoredExtensions)
|
Method Summary |
void |
addVersionFiles(VersionInfo versionInfo,
LinkType linkType,
java.io.File outputFile,
boolean isDebug,
java.io.File objDir,
TargetMatcher matcher)
Adds source or object files to the bidded fileset to
support version information. |
int |
bid(java.lang.String inputFile)
Returns the bid of the processor for the file. |
Processor |
changeEnvironment(boolean newEnvironment,
org.apache.tools.ant.types.Environment env)
|
protected abstract LinkerConfiguration |
createConfiguration(CCTask task,
LinkType linkType,
ProcessorDef[] baseConfigs,
LinkerDef specificConfig,
TargetDef targetPlatform,
VersionInfo versionInfo)
|
ProcessorConfiguration |
createConfiguration(CCTask task,
LinkType linkType,
ProcessorDef[] baseConfigs,
ProcessorDef specificConfig,
TargetDef targetPlatform,
VersionInfo versionInfo)
Returns the compiler configuration for or element. |
java.lang.String |
getLibraryKey(java.io.File libfile)
Extracts the significant part of a library name to ensure there aren't
collisions |
abstract java.lang.String[] |
getOutputFileNames(java.lang.String fileName,
VersionInfo versionInfo)
Output file name (no path components) corresponding to source file |
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
AbstractLinker
public AbstractLinker(java.lang.String[] objExtensions,
java.lang.String[] ignoredExtensions)
bid
public int bid(java.lang.String inputFile)
- Returns the bid of the processor for the file.
A linker will bid 1 on any unrecognized file type.
- Specified by:
bid
in interface Processor
- Overrides:
bid
in class AbstractProcessor
- Parameters:
inputFile
- filename of input file
- Returns:
- bid for the file, 0 indicates no interest, 1 indicates that the
processor recognizes the file but doesn't process it (header
files, for example), 100 indicates strong interest
changeEnvironment
public Processor changeEnvironment(boolean newEnvironment,
org.apache.tools.ant.types.Environment env)
- Specified by:
changeEnvironment
in interface Processor
- Overrides:
changeEnvironment
in class AbstractProcessor
createConfiguration
protected abstract LinkerConfiguration createConfiguration(CCTask task,
LinkType linkType,
ProcessorDef[] baseConfigs,
LinkerDef specificConfig,
TargetDef targetPlatform,
VersionInfo versionInfo)
createConfiguration
public ProcessorConfiguration createConfiguration(CCTask task,
LinkType linkType,
ProcessorDef[] baseConfigs,
ProcessorDef specificConfig,
TargetDef targetPlatform,
VersionInfo versionInfo)
- Description copied from interface:
Processor
- Returns the compiler configuration for or element.
- Specified by:
createConfiguration
in interface Processor
baseConfigs
- When specificConfig corresponds to a or linker
element, defaultProvider will be a zero to two element array.
If there is an extends attribute, the first element will be
the referenced ProcessorDef, unless inherit = false, the last
element will be the containing elementspecificConfig
- A or element.
- Returns:
- resulting configuration
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
- Specified by:
getLibraryKey
in interface Linker
getOutputFileNames
public abstract java.lang.String[] getOutputFileNames(java.lang.String fileName,
VersionInfo versionInfo)
- Description copied from interface:
Processor
- Output file name (no path components) corresponding to source file
- Specified by:
getOutputFileNames
in interface Processor
- Parameters:
fileName
- input file
- Returns:
- output file name or null if no output file or name not
determined by input file
addVersionFiles
public void addVersionFiles(VersionInfo versionInfo,
LinkType linkType,
java.io.File outputFile,
boolean isDebug,
java.io.File objDir,
TargetMatcher matcher)
throws java.io.IOException
- Adds source or object files to the bidded fileset to
support version information.
- Specified by:
addVersionFiles
in interface Linker
- Parameters:
versionInfo
- version informationlinkType
- link typeisDebug
- true if debug buildoutputFile
- name of generated executableobjDir
- directory for generated filesmatcher
- bidded fileset
- Throws:
java.io.IOException
Copyright © 2001-2008 Ant-Contrib Project. All Rights Reserved.