net.sf.antcontrib.cpptasks.openwatcom

Class OpenWatcomLibrarian

Implemented Interfaces:
Cloneable, Linker, Processor

public final class OpenWatcomLibrarian
extends CommandLineLinker

Adapter for the OpenWatcom Librarian.
Author:
Curt Arnold

Field Summary

Fields inherited from class net.sf.antcontrib.cpptasks.compiler.AbstractProcessor

DEFAULT_DISCARD_BID, DEFAULT_PROCESS_BID

Method Summary

protected void
addBase(long base, Vector args)
Add base address.
protected void
addEntry(String entry, Vector args)
Add alternative entry point.
protected void
addFixed(Boolean fixed, Vector args)
Add fixed parameter.
protected void
addImpliedArgs(boolean debug, LinkType linkType, Vector args)
Add implied arguments.
protected void
addIncremental(boolean incremental, Vector args)
Add incremental option.
protected void
addMap(boolean map, Vector args)
Add map option.
protected void
addStack(int stack, Vector args)
Add stack size option.
protected String
getCommandFileSwitch(String cmdFile)
Get command file switch.
static OpenWatcomLibrarian
getInstance()
Singleton accessor.
File[]
getLibraryPath()
Get library search path.
String[]
getLibraryPatterns(String[] libnames, LibraryTypeEnum libType)
Get file selectors for specified library names.
Linker
getLinker(LinkType type)
Get linker.
int
getMaximumCommandLength()
Gets maximum command line.
String[]
getOutputFileSwitch(String outFile)
Create output file switch.
boolean
isCaseSensitive()
Gets case-sensisitivity of processor.
void
link(CCTask task, File outputFile, String[] sourceFiles, CommandLineLinkerConfiguration config)
Builds a library.
protected String[]
prepareArguments(CCTask task, String outputDir, String outputName, String[] sourceFiles, CommandLineLinkerConfiguration config)
Prepares argument list for exec command.

Methods inherited from class net.sf.antcontrib.cpptasks.compiler.CommandLineLinker

addBase, addEntry, addFixed, addImpliedArgs, addIncremental, addLibrarySets, addMap, addStack, createConfiguration, decorateLinkerOption, getCommand, getCommandFileSwitch, getIdentifier, getLibtoolLinker, getMaximumCommandLength, getOutputFileNames, getOutputFileSwitch, getOutputFileSwitch, getStartupObject, link, prepareArguments, prepareFilename, prepareResponseFile, quoteFilename, runCommand, setCommand

Methods inherited from class net.sf.antcontrib.cpptasks.compiler.AbstractLinker

addVersionFiles, bid, changeEnvironment, createConfiguration, createConfiguration, getLibraryKey, getOutputFileNames

Methods inherited from class net.sf.antcontrib.cpptasks.compiler.AbstractProcessor

bid, changeEnvironment, clone, getHeaderExtensions, getIdentifier, getIdentifier, getOSArch, getOSName, getSourceExtensions, isDarwin, toString

Method Details

addBase

protected void addBase(long base,
                       Vector args)
Add base address.
Overrides:
addBase in interface CommandLineLinker
Parameters:
base - long base address
args - Vector command line arguments

addEntry

protected void addEntry(String entry,
                        Vector args)
Add alternative entry point.
Overrides:
addEntry in interface CommandLineLinker
Parameters:
entry - String entry point
args - Vector command line arguments

addFixed

protected void addFixed(Boolean fixed,
                        Vector args)
Add fixed parameter.
Overrides:
addFixed in interface CommandLineLinker
Parameters:
fixed - Boolean true if fixed
args - Vector command line arguments

addImpliedArgs

protected void addImpliedArgs(boolean debug,
                              LinkType linkType,
                              Vector args)
Add implied arguments.
Overrides:
addImpliedArgs in interface CommandLineLinker
Parameters:
debug - boolean true if debugging
linkType - LinkType link type
args - Vector command line arguments

addIncremental

protected void addIncremental(boolean incremental,
                              Vector args)
Add incremental option.
Overrides:
addIncremental in interface CommandLineLinker
Parameters:
incremental - boolean true if incremental
args - Vector command line arguments

addMap

protected void addMap(boolean map,
                      Vector args)
Add map option.
Overrides:
addMap in interface CommandLineLinker
Parameters:
map - boolean true to create map file
args - Vector command line argument

addStack

protected void addStack(int stack,
                        Vector args)
Add stack size option.
Overrides:
addStack in interface CommandLineLinker
Parameters:
stack - int stack size
args - Vector command line arguments

getCommandFileSwitch

protected String getCommandFileSwitch(String cmdFile)
Get command file switch.
Overrides:
getCommandFileSwitch in interface CommandLineLinker
Parameters:
cmdFile - String command file
Returns:
String command file switch

getInstance

public static OpenWatcomLibrarian getInstance()
Singleton accessor.
Returns:
OpenWatcomLibrarian librarian instance

getLibraryPath

public File[] getLibraryPath()
Get library search path.
Specified by:
getLibraryPath in interface Linker
Returns:
File[] library search path

getLibraryPatterns

public String[] getLibraryPatterns(String[] libnames,
                                   LibraryTypeEnum libType)
Get file selectors for specified library names.
Specified by:
getLibraryPatterns in interface Linker
Parameters:
libnames - String[] library names
libType - LibraryTypeEnum library type enum
Returns:
String[] file selection patterns

getLinker

public Linker getLinker(LinkType type)
Get linker.
Specified by:
getLinker in interface Linker
getLinker in interface Processor
Parameters:
type - LinkType link type
Returns:
Linker linker

getMaximumCommandLength

public int getMaximumCommandLength()
Gets maximum command line.
Overrides:
getMaximumCommandLength in interface CommandLineLinker
Returns:
int maximum command line

getOutputFileSwitch

public String[] getOutputFileSwitch(String outFile)
Create output file switch.
Overrides:
getOutputFileSwitch in interface CommandLineLinker
Parameters:
outFile - String output file switch
Returns:
String[] output file switch

isCaseSensitive

public boolean isCaseSensitive()
Gets case-sensisitivity of processor.
Specified by:
isCaseSensitive in interface Linker
Returns:
boolean true if case sensitive

link

public void link(CCTask task,
                 File outputFile,
                 String[] sourceFiles,
                 CommandLineLinkerConfiguration config)
Builds a library.
Overrides:
link in interface CommandLineLinker
Parameters:
task - task
outputFile - generated library
sourceFiles - object files
config - linker configuration

prepareArguments

protected String[] prepareArguments(CCTask task,
                                    String outputDir,
                                    String outputName,
                                    String[] sourceFiles,
                                    CommandLineLinkerConfiguration config)
Prepares argument list for exec command.
Overrides:
prepareArguments in interface CommandLineLinker
Parameters:
task - task
outputDir - output directory
outputName - output file name
sourceFiles - object files
config - linker configuration
Returns:
arguments for runTask

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