net.sf.antcontrib.cpptasks.compiler

Interface Linker

All Superinterfaces:
Processor
Known Implementing Classes:
AbstractArLibrarian, AbstractLdLinker, AbstractLinker, ADSLibrarian, ADSLinker, aCCLinker, BorlandLibrarian, BorlandLinker, C89Linker, ClxxLibrarian, ClxxLinker, CommandLineLinker, CompaqVisualFortranLibrarian, CompaqVisualFortranLinker, DevStudioCompatibleLibrarian, DevStudioCompatibleLinker, DevStudioLibrarian, DevStudioLinker, ForteCCLinker, GccLibrarian, GccLibrarian, GccLibrarian, GccLinker, GccLinker, GccLinker, GppLinker, GppLinker, GppLinker, IccLinker, IntelLinux32Linker, IntelLinux64Linker, IntelWin32Librarian, IntelWin32Linker, LdLinker, LdLinker, LdLinker, OpenWatcomCLinker, OpenWatcomFortranLinker, OpenWatcomLibrarian, OpenWatcomLinker, OS390Linker, VisualAgeLinker

public interface Linker
extends Processor

A linker for executables, and static and dynamic libraries.
Author:
Adam Murdoch

Method Summary

void
addVersionFiles(VersionInfo versionInfo, LinkType linkType, File outputFile, boolean isDebug, File objDir, TargetMatcher matcher)
Adds source or object files to the bidded fileset to support version information.
String
getLibraryKey(File libname)
Extracts the significant part of a library name to ensure there aren't collisions
File[]
getLibraryPath()
returns the library path for the linker
String[]
getLibraryPatterns(String[] libnames, LibraryTypeEnum libraryType)
Returns a set of filename patterns corresponding to library names.
Linker
getLinker(LinkType linkType)
Gets the linker for the specified link type.
boolean
isCaseSensitive()
Returns true if the linker is case-sensitive

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

bid, changeEnvironment, createConfiguration, getIdentifier, getLinker, getOutputFileNames

Method Details

addVersionFiles

public void addVersionFiles(VersionInfo versionInfo,
                            LinkType linkType,
                            File outputFile,
                            boolean isDebug,
                            File objDir,
                            TargetMatcher matcher)
            throws IOException
Adds source or object files to the bidded fileset to support version information.
Parameters:
versionInfo - version information
linkType - link type
isDebug - true if debug build
objDir - directory for generated files
matcher - bidded fileset

getLibraryKey

public String getLibraryKey(File libname)
Extracts the significant part of a library name to ensure there aren't collisions

getLibraryPath

public File[] getLibraryPath()
returns the library path for the linker

getLibraryPatterns

public String[] getLibraryPatterns(String[] libnames,
                                   LibraryTypeEnum libraryType)
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

getLinker

public Linker getLinker(LinkType linkType)
Gets the linker for the specified link type.
Specified by:
getLinker in interface Processor
Returns:
appropriate linker or null, will return this if this linker can handle the specified link type

isCaseSensitive

public boolean isCaseSensitive()
Returns true if the linker is case-sensitive

Copyright B) 2001-2006 Ant-Contrib project. All Rights Reserved.