net.sf.antcontrib.cpptasks

Class LinkerDef


public class LinkerDef
extends ProcessorDef

A linker definition. linker elements may be placed either as children of a cc element or the project element. A linker element with an id attribute may be referenced by linker elements with refid or extends attributes.
Authors:
Adam Murdoch
Curt Arnold

Field Summary

Fields inherited from class net.sf.antcontrib.cpptasks.ProcessorDef

newEnvironment

Constructor Summary

LinkerDef()
Default constructor

Method Summary

void
addConfiguredLinkerArg(LinkerArgument arg)
Adds a linker command-line arg.
void
addConfiguredLinkerParam(LinkerParam param)
Adds a compiler command-line arg.
void
addLibset(LibrarySet libset)
Adds a system library set.
void
addSyslibset(SystemLibrarySet libset)
Adds a system library set.
ProcessorConfiguration
createConfiguration(CCTask task, LinkType linkType, ProcessorDef baseDef, TargetDef targetPlatform, VersionInfo versionInfo)
Creates a configuration
void
execute()
LibrarySet[]
getActiveLibrarySets(LinkerDef[] defaultProviders, int index)
Returns an array of active library sets for this linker definition.
LibrarySet[]
getActiveSystemLibrarySets(LinkerDef[] defaultProviders, int index)
Returns an array of active library sets for this linker definition.
LibrarySet[]
getActiveUserLibrarySets(LinkerDef[] defaultProviders, int index)
Returns an array of active library sets for this linker definition.
long
getBase(LinkerDef[] defaultProviders, int index)
String
getEntry(LinkerDef[] defaultProviders, int index)
Boolean
getFixed(LinkerDef[] defaultProviders, int index)
boolean
getIncremental(LinkerDef[] defaultProviders, int index)
boolean
getMap(LinkerDef[] defaultProviders, int index)
Processor
getProcessor()
Obtains the appropriate processor (compiler, linker)
int
getStack(LinkerDef[] defaultProviders, int index)
void
setBase(FlexLong base)
Sets the base address.
void
setEntry(String entry)
Sets the starting address.
void
setFixed(boolean fixed)
If true, marks the file to be loaded only at its preferred address.
void
setIncremental(boolean incremental)
If true, allows incremental linking.
void
setMap(boolean map)
If set to true, a map file will be produced.
void
setName(LinkerEnum name)
Sets linker type.
protected void
setProcessor(Processor proc)
Sets the processor
void
setStack(FlexInteger stack)
Sets stack size in bytes.
void
visitSystemLibraries(Linker linker, FileVisitor libraryVisitor)
void
visitUserLibraries(Linker linker, FileVisitor libraryVisitor)

Methods inherited from class net.sf.antcontrib.cpptasks.ProcessorDef

addConfiguredProcessorArg, addConfiguredProcessorParam, addEnv, addFileset, booleanValueOf, createConfiguration, getActiveProcessorArgs, getActiveProcessorParams, getDebug, getDefaultProviders, getExtends, getInherit, getLibtool, getProcessor, getRebuild, hasFileSets, isActive, setClassname, setDebug, setDescription, setExtends, setId, setIf, setInherit, setLibtool, setNewenvironment, setProcessor, setRebuild, setRefid, setUnless, visitFiles

Constructor Details

LinkerDef

public LinkerDef()
Default constructor
See Also:
java.lang.Object.Object()

Method Details

addConfiguredLinkerArg

public void addConfiguredLinkerArg(LinkerArgument arg)
Adds a linker command-line arg.

addConfiguredLinkerParam

public void addConfiguredLinkerParam(LinkerParam param)
Adds a compiler command-line arg.

addLibset

public void addLibset(LibrarySet libset)
Adds a system library set.

addSyslibset

public void addSyslibset(SystemLibrarySet libset)
Adds a system library set.

createConfiguration

public ProcessorConfiguration createConfiguration(CCTask task,
                                                  LinkType linkType,
                                                  ProcessorDef baseDef,
                                                  TargetDef targetPlatform,
                                                  VersionInfo versionInfo)
Creates a configuration
Overrides:
createConfiguration in interface ProcessorDef
Parameters:
baseDef - reference to def from containing element, may be null
Returns:
configuration

execute

public void execute()
            throws org.apache.tools.ant.BuildException

getActiveLibrarySets

public LibrarySet[] getActiveLibrarySets(LinkerDef[] defaultProviders,
                                         int index)
Returns an array of active library sets for this linker definition.

getActiveSystemLibrarySets

public LibrarySet[] getActiveSystemLibrarySets(LinkerDef[] defaultProviders,
                                               int index)
Returns an array of active library sets for this linker definition.

getActiveUserLibrarySets

public LibrarySet[] getActiveUserLibrarySets(LinkerDef[] defaultProviders,
                                             int index)
Returns an array of active library sets for this linker definition.

getBase

public long getBase(LinkerDef[] defaultProviders,
                    int index)

getEntry

public String getEntry(LinkerDef[] defaultProviders,
                       int index)

getFixed

public Boolean getFixed(LinkerDef[] defaultProviders,
                        int index)

getIncremental

public boolean getIncremental(LinkerDef[] defaultProviders,
                              int index)

getMap

public boolean getMap(LinkerDef[] defaultProviders,
                      int index)

getProcessor

public Processor getProcessor()
Obtains the appropriate processor (compiler, linker)
Overrides:
getProcessor in interface ProcessorDef
Returns:
processor

getStack

public int getStack(LinkerDef[] defaultProviders,
                    int index)

setBase

public void setBase(FlexLong base)
Sets the base address. May be specified in either decimal or hex.
Parameters:
base - base address

setEntry

public void setEntry(String entry)
Sets the starting address.
Parameters:

setFixed

public void setFixed(boolean fixed)
If true, marks the file to be loaded only at its preferred address.

setIncremental

public void setIncremental(boolean incremental)
If true, allows incremental linking.

setMap

public void setMap(boolean map)
If set to true, a map file will be produced.

setName

public void setName(LinkerEnum name)
            throws BuildException
Sets linker type.
gccGcc Linker
g++G++ Linker
ldLd Linker
arGcc Librarian
msvcMicrosoft Linker
bccBorland Linker
dfCompaq Visual Fortran Linker
iclIntel Linker for Windows (IA-32)
eclIntel Linker for Windows (IA-64)
iccIntel Linker for Linux (IA-32)
eccIntel Linker for Linux (IA-64)
CCSun ONE Linker
aCCHP aC++ Linker
os390OS390 Linker
os390batchOS390 Linker
os400IccLinker
sunc89C89 Linker
xlCVisualAge Linker
wclOpenWatcom C/C++ linker
wflOpenWatcom FORTRAN linker

setProcessor

protected void setProcessor(Processor proc)
            throws BuildException
Sets the processor
Overrides:
setProcessor in interface ProcessorDef
Parameters:

setStack

public void setStack(FlexInteger stack)
Sets stack size in bytes.

visitSystemLibraries

public void visitSystemLibraries(Linker linker,
                                 FileVisitor libraryVisitor)

visitUserLibraries

public void visitUserLibraries(Linker linker,
                               FileVisitor libraryVisitor)

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