net.sf.antcontrib.cpptasks.openwatcom
Class OpenWatcomLinker

java.lang.Object
  extended by net.sf.antcontrib.cpptasks.compiler.AbstractProcessor
      extended by net.sf.antcontrib.cpptasks.compiler.AbstractLinker
          extended by net.sf.antcontrib.cpptasks.compiler.CommandLineLinker
              extended by net.sf.antcontrib.cpptasks.openwatcom.OpenWatcomLinker
All Implemented Interfaces:
java.lang.Cloneable, Linker, Processor
Direct Known Subclasses:
OpenWatcomCLinker, OpenWatcomFortranLinker

public abstract class OpenWatcomLinker
extends CommandLineLinker

Adapter for the OpenWatcom linker.

Author:
Curt Arnold

Field Summary
 
Fields inherited from class net.sf.antcontrib.cpptasks.compiler.AbstractProcessor
DEFAULT_DISCARD_BID, DEFAULT_PROCESS_BID
 
Constructor Summary
protected OpenWatcomLinker(java.lang.String command, java.lang.String outputSuffix)
          Constructor.
 
Method Summary
protected  void addBase(long base, java.util.Vector args)
          Add specified base address to linker options.
protected  void addEntry(java.lang.String entry, java.util.Vector args)
          Adds non-default entry point.
protected  void addFixed(java.lang.Boolean fixed, java.util.Vector args)
          Adds fixed option.
protected  void addImpliedArgs(boolean debug, LinkType linkType, java.util.Vector args)
          Adds other command line parameters.
protected  void addIncremental(boolean incremental, java.util.Vector args)
          Add command line switch to force incremental linking.
protected  void addMap(boolean map, java.util.Vector args)
          Add command line switch to force map generation.
protected  void addStack(int stack, java.util.Vector args)
          Add command line switch for stack reservation.
 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.
 java.lang.String getCommandFileSwitch(java.lang.String commandFile)
          Get command file switch.
 java.io.File[] getLibraryPath()
          Get search path for libraries.
 java.lang.String[] getLibraryPatterns(java.lang.String[] libnames, LibraryTypeEnum libType)
          Get file selectors for libraries.
 int getMaximumCommandLength()
          Get maximum command line length.
 java.lang.String[] getOutputFileSwitch(java.lang.String outFile)
          Get output file switch.
 boolean isCaseSensitive()
          Gets file name sensitivity of processors.
 
Methods inherited from class net.sf.antcontrib.cpptasks.compiler.CommandLineLinker
addLibrarySets, createConfiguration, decorateLinkerOption, getCommand, getIdentifier, getLibtoolLinker, getOutputFileNames, getOutputFileSwitch, getStartupObject, link, prepareArguments, prepareFilename, prepareResponseFile, quoteFilename, runCommand, setCommand
 
Methods inherited from class net.sf.antcontrib.cpptasks.compiler.AbstractLinker
bid, changeEnvironment, createConfiguration, getLibraryKey
 
Methods inherited from class net.sf.antcontrib.cpptasks.compiler.AbstractProcessor
clone, getHeaderExtensions, 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
getLinker
 

Constructor Detail

OpenWatcomLinker

protected OpenWatcomLinker(java.lang.String command,
                           java.lang.String outputSuffix)
Constructor.

Parameters:
command - String command string (wcl386 or wfl386)
outputSuffix - String output suffix
Method Detail

addBase

protected final void addBase(long base,
                             java.util.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(java.lang.String entry,
                              java.util.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(java.lang.Boolean fixed,
                              java.util.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,
                                    java.util.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,
                                    java.util.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,
                            java.util.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,
                              java.util.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,
                                  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
Overrides:
addVersionFiles in class AbstractLinker
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 - if unable to write version resource

getCommandFileSwitch

public final java.lang.String getCommandFileSwitch(java.lang.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 java.io.File[] getLibraryPath()
Get search path for libraries.

Returns:
File[] library path

getLibraryPatterns

public final java.lang.String[] getLibraryPatterns(java.lang.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 java.lang.String[] getOutputFileSwitch(java.lang.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.


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