Class CommandLineCompilerConfiguration
- java.lang.Object
-
- net.sf.antcontrib.cpptasks.compiler.CommandLineCompilerConfiguration
-
- All Implemented Interfaces:
CompilerConfiguration,ProcessorConfiguration
public final class CommandLineCompilerConfiguration extends java.lang.Object implements CompilerConfiguration
A configuration for a C++ compiler- Author:
- Curt Arnold
-
-
Constructor Summary
Constructors Constructor Description CommandLineCompilerConfiguration(CommandLineCompilerConfiguration base, java.lang.String[] additionalArgs, java.lang.String[] exceptFiles, boolean isPrecompileHeaderGeneration)CommandLineCompilerConfiguration(CommandLineCompiler compiler, java.lang.String identifier, java.io.File[] includePath, java.io.File[] sysIncludePath, java.io.File[] envIncludePath, java.lang.String includePathIdentifier, java.lang.String[] args, ProcessorParam[] params, boolean rebuild, java.lang.String[] endArgs)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intbid(java.lang.String inputFile)An indication of how much this compiler would like to process this filevoidcompile(CCTask task, java.io.File outputDir, java.lang.String[] sourceFiles, boolean relentless, ProgressMonitor monitor)CompilerConfiguration[]createPrecompileConfigurations(java.io.File prototype, java.lang.String[] nonPrecompiledFiles)This method may be used to get two distinct compiler configurations, one for compiling the specified file and producing a precompiled header file, and a second for compiling other files using the precompiled header file.java.lang.StringgetCommand()CompilergetCompiler()java.lang.String[]getEndArguments()java.lang.StringgetIdentifier()Returns a string representation of this configuration.java.io.File[]getIncludePath()java.lang.StringgetIncludePathIdentifier()Returns an digest for the include path for the configuration.java.lang.String[]getOutputFileNames(java.lang.String inputFile, VersionInfo versionInfo)Output file name (no path components) corresponding to source fileCompilerParamgetParam(java.lang.String name)ProcessorParam[]getParams()java.lang.String[]getPreArguments()booleangetRebuild()If true, all files using this configuration should be rebuilt and any existing output files should be ignoredbooleanisPrecompileGeneration()DependencyInfoparseIncludes(CCTask task, java.io.File baseDir, java.io.File source)java.lang.StringtoString()
-
-
-
Constructor Detail
-
CommandLineCompilerConfiguration
public CommandLineCompilerConfiguration(CommandLineCompiler compiler, java.lang.String identifier, java.io.File[] includePath, java.io.File[] sysIncludePath, java.io.File[] envIncludePath, java.lang.String includePathIdentifier, java.lang.String[] args, ProcessorParam[] params, boolean rebuild, java.lang.String[] endArgs)
-
CommandLineCompilerConfiguration
public CommandLineCompilerConfiguration(CommandLineCompilerConfiguration base, java.lang.String[] additionalArgs, java.lang.String[] exceptFiles, boolean isPrecompileHeaderGeneration)
-
-
Method Detail
-
bid
public int bid(java.lang.String inputFile)
Description copied from interface:ProcessorConfigurationAn indication of how much this compiler would like to process this file- Specified by:
bidin interfaceProcessorConfiguration- Returns:
- 0 is no interest to process, 100 is strong interest to process
-
compile
public void compile(CCTask task, java.io.File outputDir, java.lang.String[] sourceFiles, boolean relentless, ProgressMonitor monitor) throws org.apache.tools.ant.BuildException
- Specified by:
compilein interfaceCompilerConfiguration- Throws:
org.apache.tools.ant.BuildException
-
createPrecompileConfigurations
public CompilerConfiguration[] createPrecompileConfigurations(java.io.File prototype, java.lang.String[] nonPrecompiledFiles)
This method may be used to get two distinct compiler configurations, one for compiling the specified file and producing a precompiled header file, and a second for compiling other files using the precompiled header file. The last (preferrably only) include directive in the prototype file will be used to mark the boundary between pre-compiled and normally compiled headers.- Specified by:
createPrecompileConfigurationsin interfaceCompilerConfiguration- Parameters:
prototype- A source file (for example, stdafx.cpp) that is used to build the precompiled header file. @returns null if precompiled headers are not supported or a two element array containing the precompiled header generation configuration and the consuming configuration
-
getIdentifier
public java.lang.String getIdentifier()
Returns a string representation of this configuration. Should be canonical so that equivalent configurations will have equivalent string representations- Specified by:
getIdentifierin interfaceProcessorConfiguration
-
getIncludePathIdentifier
public java.lang.String getIncludePathIdentifier()
Description copied from interface:CompilerConfigurationReturns an digest for the include path for the configuration. This is used to determine if cached dependency information is invalid because the include paths have changed- Specified by:
getIncludePathIdentifierin interfaceCompilerConfiguration
-
getOutputFileNames
public java.lang.String[] getOutputFileNames(java.lang.String inputFile, VersionInfo versionInfo)Description copied from interface:ProcessorConfigurationOutput file name (no path components) corresponding to source file- Specified by:
getOutputFileNamesin interfaceProcessorConfiguration- Parameters:
inputFile- input file- Returns:
- output file names or zero-length array if no output file or name not determined by input file
-
getParam
public CompilerParam getParam(java.lang.String name)
- Specified by:
getParamin interfaceCompilerConfiguration
-
getParams
public ProcessorParam[] getParams()
- Specified by:
getParamsin interfaceProcessorConfiguration
-
getRebuild
public boolean getRebuild()
Description copied from interface:ProcessorConfigurationIf true, all files using this configuration should be rebuilt and any existing output files should be ignored- Specified by:
getRebuildin interfaceProcessorConfiguration
-
isPrecompileGeneration
public boolean isPrecompileGeneration()
- Specified by:
isPrecompileGenerationin interfaceCompilerConfiguration
-
parseIncludes
public DependencyInfo parseIncludes(CCTask task, java.io.File baseDir, java.io.File source)
- Specified by:
parseIncludesin interfaceCompilerConfiguration
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
getPreArguments
public java.lang.String[] getPreArguments()
-
getEndArguments
public java.lang.String[] getEndArguments()
-
getIncludePath
public java.io.File[] getIncludePath()
-
getCompiler
public Compiler getCompiler()
-
getCommand
public java.lang.String getCommand()
-
-