Class OpenWatcomLinker

All Implemented Interfaces:
Cloneable, Linker, Processor
Direct Known Subclasses:
OpenWatcomCLinker, OpenWatcomFortranLinker

public abstract class OpenWatcomLinker extends CommandLineLinker
Adapter for the OpenWatcom linker.
Author:
Curt Arnold
  • Constructor Details

    • OpenWatcomLinker

      protected OpenWatcomLinker(String command, String outputSuffix)
      Constructor.
      Parameters:
      command - String command string (wcl386 or wfl386)
      outputSuffix - String output suffix
  • Method Details

    • addBase

      protected final void addBase(long base, Vector args)
      Add specified base address to linker options.
      Specified by:
      addBase in class CommandLineLinker
      Parameters:
      base - long base address
      args - Vector command options
    • addEntry

      protected final void addEntry(String entry, Vector args)
      Adds non-default entry point.
      Specified by:
      addEntry in class CommandLineLinker
      Parameters:
      entry - entry point name
      args - command line parameters
    • addFixed

      protected final void addFixed(Boolean fixed, Vector args)
      Adds fixed option.
      Specified by:
      addFixed in class CommandLineLinker
      Parameters:
      fixed - if executable is fixed
      args - command line parameters
    • addImpliedArgs

      protected final void addImpliedArgs(boolean debug, LinkType linkType, Vector args)
      Adds other command line parameters.
      Specified by:
      addImpliedArgs in class CommandLineLinker
      Parameters:
      debug - boolean is debug
      linkType - LinkType link type
      args - Vector command line arguments
    • addIncremental

      protected final void addIncremental(boolean incremental, Vector args)
      Add command line switch to force incremental linking.
      Specified by:
      addIncremental in class CommandLineLinker
      Parameters:
      incremental - boolean do incremental linking
      args - Vector command line arguments
    • addMap

      protected final void addMap(boolean map, Vector args)
      Add command line switch to force map generation.
      Specified by:
      addMap in class CommandLineLinker
      Parameters:
      map - boolean build map
      args - Vector command line arguments
    • addStack

      protected final void addStack(int stack, Vector args)
      Add command line switch for stack reservation.
      Specified by:
      addStack in class CommandLineLinker
      Parameters:
      stack - int stack size.
      args - Vector command line arguments.
    • addVersionFiles

      public final 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.
      Specified by:
      addVersionFiles in interface Linker
      Overrides:
      addVersionFiles in class AbstractLinker
      Parameters:
      versionInfo - version information
      linkType - link type
      outputFile - name of generated executable
      isDebug - true if debug build
      objDir - directory for generated files
      matcher - bidded fileset
      Throws:
      IOException - if unable to write version resource
    • getCommandFileSwitch

      public final String getCommandFileSwitch(String commandFile)
      Get command file switch.
      Specified by:
      getCommandFileSwitch in class CommandLineLinker
      Parameters:
      commandFile - String command file name
      Returns:
      String command line option
    • getLibraryPath

      public final File[] getLibraryPath()
      Get search path for libraries.
      Returns:
      File[] library path
    • getLibraryPatterns

      public final String[] getLibraryPatterns(String[] libnames, LibraryTypeEnum libType)
      Get file selectors for libraries.
      Parameters:
      libnames - String[]
      libType - LibraryTypeEnum
      Returns:
      String[]
    • getMaximumCommandLength

      public final int getMaximumCommandLength()
      Get maximum command line length.
      Specified by:
      getMaximumCommandLength in class CommandLineLinker
      Returns:
      int command line length
    • getOutputFileSwitch

      public final String[] getOutputFileSwitch(String outFile)
      Get output file switch.
      Specified by:
      getOutputFileSwitch in class CommandLineLinker
      Parameters:
      outFile - Output file name
      Returns:
      String[] command line switches
    • isCaseSensitive

      public final boolean isCaseSensitive()
      Gets file name sensitivity of processors.
      Returns:
      boolean true if case sensitive.