Package net.sf.antcontrib.cpptasks
Class LinkerDef
- java.lang.Object
-
- org.apache.tools.ant.ProjectComponent
-
- org.apache.tools.ant.types.DataType
-
- net.sf.antcontrib.cpptasks.ProcessorDef
-
- net.sf.antcontrib.cpptasks.LinkerDef
-
- All Implemented Interfaces:
java.lang.Cloneable
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.
-
-
Field Summary
Fields Modifier and Type Field Description private long
base
private java.lang.String
entry
private java.lang.Boolean
fixed
private java.lang.Boolean
incremental
private java.util.Vector
librarySets
private java.lang.Boolean
map
private int
stack
private java.util.Vector
sysLibrarySets
-
Fields inherited from class net.sf.antcontrib.cpptasks.ProcessorDef
newEnvironment
-
-
Constructor Summary
Constructors Constructor Description LinkerDef()
Default constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
addActiveLibrarySet(org.apache.tools.ant.Project project, java.util.Vector libsets, java.util.Vector srcSets)
private void
addActiveSystemLibrarySets(org.apache.tools.ant.Project project, java.util.Vector libsets)
private void
addActiveUserLibrarySets(org.apache.tools.ant.Project project, java.util.Vector libsets)
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.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)
java.lang.String
getEntry(LinkerDef[] defaultProviders, int index)
java.lang.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)Processor
getProcessor(LinkType linkType)
Obtains the appropriate processor (compiler, linker) based on the LinkType.int
getStack(LinkerDef[] defaultProviders, int index)
void
setBase(FlexLong base)
Sets the base address.void
setEntry(java.lang.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 processorvoid
setStack(org.apache.tools.ant.types.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, getRebuild, hasFileSets, isActive, setClassname, setDebug, setDescription, setExtends, setId, setIf, setInherit, setLibtool, setNewenvironment, setRebuild, setRefid, setUnless, visitFiles
-
Methods inherited from class org.apache.tools.ant.types.DataType
checkAttributesAllowed, checkChildrenAllowed, circularReference, clone, dieOnCircularReference, dieOnCircularReference, dieOnCircularReference, getCheckedRef, getCheckedRef, getCheckedRef, getCheckedRef, getCheckedRef, getDataTypeName, getRefid, invokeCircularReferenceCheck, isChecked, isReference, noChildrenAllowed, pushAndInvokeCircularReferenceCheck, setChecked, tooManyAttributes, toString
-
-
-
-
Field Detail
-
base
private long base
-
entry
private java.lang.String entry
-
fixed
private java.lang.Boolean fixed
-
incremental
private java.lang.Boolean incremental
-
librarySets
private final java.util.Vector librarySets
-
map
private java.lang.Boolean map
-
stack
private int stack
-
sysLibrarySets
private final java.util.Vector sysLibrarySets
-
-
Method Detail
-
addActiveLibrarySet
private void addActiveLibrarySet(org.apache.tools.ant.Project project, java.util.Vector libsets, java.util.Vector srcSets)
-
addActiveSystemLibrarySets
private void addActiveSystemLibrarySets(org.apache.tools.ant.Project project, java.util.Vector libsets)
-
addActiveUserLibrarySets
private void addActiveUserLibrarySets(org.apache.tools.ant.Project project, java.util.Vector libsets)
-
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.
-
execute
public void execute() throws org.apache.tools.ant.BuildException
- 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)
-
getFixed
public java.lang.Boolean getFixed(LinkerDef[] defaultProviders, int index)
-
getIncremental
public boolean getIncremental(LinkerDef[] defaultProviders, int index)
-
getMap
public boolean getMap(LinkerDef[] defaultProviders, int index)
-
getEntry
public java.lang.String getEntry(LinkerDef[] defaultProviders, int index)
-
getProcessor
public Processor getProcessor()
Description copied from class:ProcessorDef
Obtains the appropriate processor (compiler, linker)- Overrides:
getProcessor
in classProcessorDef
- Returns:
- processor
-
getProcessor
public Processor getProcessor(LinkType linkType)
Description copied from class:ProcessorDef
Obtains the appropriate processor (compiler, linker) based on the LinkType.- Overrides:
getProcessor
in classProcessorDef
- 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(java.lang.String entry)
Sets the starting address.- Parameters:
entry
- function name
-
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 org.apache.tools.ant.BuildException
Sets linker type.Supported linkers
gcc Gcc Linker g++ G++ Linker ld Ld Linker ar Gcc Librarian msvc Microsoft Linker bcc Borland Linker df Compaq Visual Fortran Linker icl Intel Linker for Windows (IA-32) ecl Intel Linker for Windows (IA-64) icc Intel Linker for Linux (IA-32) ecc Intel Linker for Linux (IA-64) CC Sun ONE Linker aCC HP aC++ Linker os390 OS390 Linker os390batch OS390 Linker os400 IccLinker sunc89 C89 Linker xlC VisualAge Linker wcl OpenWatcom C/C++ linker wfl OpenWatcom FORTRAN linker - Throws:
org.apache.tools.ant.BuildException
-
setProcessor
protected void setProcessor(Processor proc) throws org.apache.tools.ant.BuildException
Description copied from class:ProcessorDef
Sets the processor- Overrides:
setProcessor
in classProcessorDef
- Parameters:
proc
- processor, may not be null.- Throws:
org.apache.tools.ant.BuildException
- if ProcessorDef is a reference
-
setStack
public void setStack(org.apache.tools.ant.types.FlexInteger stack)
Sets stack size in bytes.
-
visitSystemLibraries
public void visitSystemLibraries(Linker linker, FileVisitor libraryVisitor)
-
visitUserLibraries
public void visitUserLibraries(Linker linker, FileVisitor libraryVisitor)
-
-