Interface Linker

All Superinterfaces:
Processor
All Known Implementing Classes:
AbstractArLibrarian, AbstractLdLinker, AbstractLinker, aCCLinker, ADSLibrarian, ADSLinker, 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 Details

    • getLibraryKey

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

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

      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

      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

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

      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
      outputFile - name of generated executable
      objDir - directory for generated files
      matcher - bidded fileset
      Throws:
      IOException