terp - the ANT Tasks
v1.3.337

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

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.DebugOption
All Implemented Interfaces:
CompilerOption<CppCompiler>, CppFileCreating, FileCreating<CppCompiler>

public class DebugOption
extends BooleanCompilerOption<CppCompiler>
implements CppFileCreating

The debug option. The debug option is a deceptively simple option. It only has a boolean value but it interacts with a lot of other options. If debug mode is enabled, the compiler might generate additional files or it might link with different C++ runtime libraries.


Constructor Summary
DebugOption()
           
 
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.
 java.util.List<java.lang.String> creates(CppCompiler compiler, CompilerPhase phase)
          Returns a list of filenames representing the files that are created due to the presence of this compiler option.
 java.lang.String getLevel()
           
 void setLevel(java.lang.String level)
          Set the debug level.
 
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
 
Methods inherited from interface com.codemesh.terp.ant.compiler.CompilerOption
getIf, getUnless, satisfies, setIf, setUnless
 

Constructor Detail

DebugOption

public DebugOption()
Method Detail

setLevel

public void setLevel(java.lang.String level)
Set the debug level.

Parameters:
level - a string that is appended to the debug option for non-Microsoft (non-INTEL on Windows) compilers. For example, a level of 1 will yield the following debug switch for g++ or other Unix compilers:
      -g1
 
You can use the if or unless attributes to custom-tailor debug levels for different compilers.

getLevel

public java.lang.String getLevel()

addCommands

public 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. 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.

Specified by:
addCommands in interface CompilerOption<CppCompiler>
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)
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.

Specified by:
appliesTo in interface CompilerOption<CppCompiler>
Parameters:
compiler - the compiler for which we're asking.
phase - the compiler phase we're executing.
Returns:

creates

public java.util.List<java.lang.String> creates(CppCompiler compiler,
                                                CompilerPhase phase)
Description copied from interface: FileCreating
Returns a list of filenames representing the files that are created due to the presence of this compiler option.

Specified by:
creates in interface FileCreating<CppCompiler>
Parameters:
compiler - the compiler.
phase - the compilation phase.
Returns:
a list of files, possibly empty.

terp - the ANT Tasks
v1.3.337

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