AbstractLinker (cpptasks 1.0b5 API)
Keywords: net.sf.antcontrib.cpptasks.compiler.AbstractLinker class

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## 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

Field Summary

Fields inherited from class net.sf.antcontrib.cpptasks.compiler.AbstractProcessor
`DEFAULT_DISCARD_BID, DEFAULT_PROCESS_BID`

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 net.sf.antcontrib.cpptasks.compiler.AbstractProcessor
`clone, getHeaderExtensions, getIdentifier, getIdentifier, getOSArch, getOSName, getSourceExtensions, isDarwin, toString`

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
`getLibraryPath, getLibraryPatterns, getLinker, isCaseSensitive`

Methods inherited from interface net.sf.antcontrib.cpptasks.compiler.Processor
`getIdentifier`

Constructor Detail

### AbstractLinker

    public AbstractLinker(java.lang.String[] objExtensions,
                          java.lang.String[] ignoredExtensions)

Method Detail

### 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 element
    `specificConfig` - 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 information
    `linkType` - link type
    `isDebug` - true if debug build
    `outputFile` - name of generated executable
    `objDir` - directory for generated files
    `matcher` - bidded fileset
  Throws:
    `java.io.IOException`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2001-2008 Ant-Contrib Project. All Rights Reserved.