Class CommandLineCompilerConfiguration
java.lang.Object
net.sf.antcontrib.cpptasks.compiler.CommandLineCompilerConfiguration
- All Implemented Interfaces:
CompilerConfiguration
,ProcessorConfiguration
A configuration for a C++ compiler
- Author:
- Curt Arnold
-
Constructor Summary
ConstructorsConstructorDescriptionCommandLineCompilerConfiguration
(CommandLineCompilerConfiguration base, String[] additionalArgs, String[] exceptFiles, boolean isPrecompileHeaderGeneration) CommandLineCompilerConfiguration
(CommandLineCompiler compiler, String identifier, File[] includePath, File[] sysIncludePath, File[] envIncludePath, String includePathIdentifier, String[] args, ProcessorParam[] params, boolean rebuild, String[] endArgs) -
Method Summary
Modifier and TypeMethodDescriptionint
An indication of how much this compiler would like to process this filevoid
compile
(CCTask task, File outputDir, String[] sourceFiles, boolean relentless, ProgressMonitor monitor) createPrecompileConfigurations
(File prototype, 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.String[]
Returns a string representation of this configuration.File[]
Returns an digest for the include path for the configuration.String[]
getOutputFileNames
(String inputFile, VersionInfo versionInfo) Output file name (no path components) corresponding to source fileString[]
boolean
If true, all files using this configuration should be rebuilt and any existing output files should be ignoredboolean
parseIncludes
(CCTask task, File baseDir, File source) toString()
-
Constructor Details
-
CommandLineCompilerConfiguration
public CommandLineCompilerConfiguration(CommandLineCompiler compiler, String identifier, File[] includePath, File[] sysIncludePath, File[] envIncludePath, String includePathIdentifier, String[] args, ProcessorParam[] params, boolean rebuild, String[] endArgs) -
CommandLineCompilerConfiguration
public CommandLineCompilerConfiguration(CommandLineCompilerConfiguration base, String[] additionalArgs, String[] exceptFiles, boolean isPrecompileHeaderGeneration)
-
-
Method Details
-
bid
Description copied from interface:ProcessorConfiguration
An indication of how much this compiler would like to process this file- Specified by:
bid
in interfaceProcessorConfiguration
- Returns:
- 0 is no interest to process, 100 is strong interest to process
-
compile
public void compile(CCTask task, File outputDir, String[] sourceFiles, boolean relentless, ProgressMonitor monitor) throws org.apache.tools.ant.BuildException - Specified by:
compile
in interfaceCompilerConfiguration
- Throws:
org.apache.tools.ant.BuildException
-
createPrecompileConfigurations
public CompilerConfiguration[] createPrecompileConfigurations(File prototype, 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:
createPrecompileConfigurations
in 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
Returns a string representation of this configuration. Should be canonical so that equivalent configurations will have equivalent string representations- Specified by:
getIdentifier
in interfaceProcessorConfiguration
-
getIncludePathIdentifier
Description copied from interface:CompilerConfiguration
Returns 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:
getIncludePathIdentifier
in interfaceCompilerConfiguration
-
getOutputFileNames
Description copied from interface:ProcessorConfiguration
Output file name (no path components) corresponding to source file- Specified by:
getOutputFileNames
in 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
- Specified by:
getParam
in interfaceCompilerConfiguration
-
getParams
- Specified by:
getParams
in interfaceProcessorConfiguration
-
getRebuild
public boolean getRebuild()Description copied from interface:ProcessorConfiguration
If true, all files using this configuration should be rebuilt and any existing output files should be ignored- Specified by:
getRebuild
in interfaceProcessorConfiguration
-
isPrecompileGeneration
public boolean isPrecompileGeneration()- Specified by:
isPrecompileGeneration
in interfaceCompilerConfiguration
-
parseIncludes
- Specified by:
parseIncludes
in interfaceCompilerConfiguration
-
toString
-
getPreArguments
-
getEndArguments
-
getIncludePath
-
getCompiler
-
getCommand
-