terp - the ANT Tasks
v1.3.337

com.codemesh.terp.ant.compiler.cpp
Class RelocatableOption

java.lang.Object
  extended by com.codemesh.terp.ant.compiler.AbstractCompilerOption<C>
      extended by com.codemesh.terp.ant.compiler.BooleanCompilerOption<CppCompiler>
          extended by com.codemesh.terp.ant.compiler.cpp.RelocatableOption
All Implemented Interfaces:
CompilerOption<CppCompiler>

public class RelocatableOption
extends BooleanCompilerOption<CppCompiler>

Specifies whether the generated code should be relocatable in memory.


Field Summary
static java.lang.String MODE_LARGE
          The constant representing a large mode (-PIC, -KPIC, -fPIC).
static java.lang.String MODE_SMALL
          The constant representing a small mode (-pic, -Kpic, -fpic).
 
Constructor Summary
RelocatableOption()
           
 
Method Summary
 void addCommands(java.util.List<java.lang.String> commandList, CppCompiler compiler, CompilerPhase phase)
          Adds the compiler switches repreesnted by this option to the list of switches.
 boolean appliesTo(CppCompiler compiler, CompilerPhase phase)
          Returns true if this compiler option applies to the given compiler and compiler phase.
 void setBaseAddress(java.lang.String value)
          Set the base address to which this module defaults.
 void setMode(java.lang.String mode)
          Set the relocation mode, one of "large" or "small".
 
Methods inherited from class com.codemesh.terp.ant.compiler.BooleanCompilerOption
getValue, isEnabled, setValue
 
Methods inherited from class com.codemesh.terp.ant.compiler.AbstractCompilerOption
expand, expand, getIf, getProject, getUnless, quoteIfNecessary, satisfies, setIf, setProject, setUnless
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MODE_LARGE

public static final java.lang.String MODE_LARGE
The constant representing a large mode (-PIC, -KPIC, -fPIC).

See Also:
Constant Field Values

MODE_SMALL

public static final java.lang.String MODE_SMALL
The constant representing a small mode (-pic, -Kpic, -fpic).

See Also:
Constant Field Values
Constructor Detail

RelocatableOption

public RelocatableOption()
Method Detail

setBaseAddress

public void setBaseAddress(java.lang.String value)
Set the base address to which this module defaults. This is a value that is used on Windows to provide a prefered load address in memory.

Parameters:
value - a string representing a hexadecimal address.

setMode

public void setMode(java.lang.String mode)
Set the relocation mode, one of "large" or "small". The default value is "large".

Parameters:
mode - the relocation memory mode.

addCommands

public void addCommands(java.util.List<java.lang.String> commandList,
                        CppCompiler compiler,
                        CompilerPhase phase)
Description copied from interface: CompilerOption
Adds the compiler switches repreesnted by this option to the list of switches. Some compiler options may result in more than one switch being added to a compiler invocation. Other compiler options may result in different options being added in different phases (compilation vs. linking) of the build.

This method is called by the compiler repeatedly with different values for the compiler phase to account for these possibilities.

Parameters:
commandList - the list to which the compiler switches represented by this option (if any) are added.
compiler - the compiler for which we're doing this.
phase - the compiler phase in wihch we're doing this.

appliesTo

public boolean appliesTo(CppCompiler compiler,
                         CompilerPhase phase)
Description copied from interface: CompilerOption
Returns true if this compiler option applies to the given compiler and compiler phase. Not every option has switches to contribute for every compiler and every compilation phase. This method allows a quick, inexpensive check to filter out potentially more expensive calls later on.

Parameters:
compiler - the compiler for which we're asking.
phase - the compiler phase we're executing.
Returns:

terp - the ANT Tasks
v1.3.337

Copyright © 2008-2016 by Codemesh, Inc. All Rights Reserved.