Class PrecompilingCommandLineCompiler
- java.lang.Object
-
- net.sf.antcontrib.cpptasks.compiler.AbstractProcessor
-
- net.sf.antcontrib.cpptasks.compiler.AbstractCompiler
-
- net.sf.antcontrib.cpptasks.compiler.CommandLineCompiler
-
- net.sf.antcontrib.cpptasks.compiler.PrecompilingCommandLineCompiler
-
- All Implemented Interfaces:
java.lang.Cloneable
,Compiler
,PrecompilingCompiler
,Processor
- Direct Known Subclasses:
PrecompilingCommandLineCCompiler
public abstract class PrecompilingCommandLineCompiler extends CommandLineCompiler implements PrecompilingCompiler
A command line C compiler that can utilize precompilation of header files
-
-
Field Summary
-
Fields inherited from class net.sf.antcontrib.cpptasks.compiler.AbstractProcessor
DEFAULT_DISCARD_BID, DEFAULT_PROCESS_BID
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
PrecompilingCommandLineCompiler(java.lang.String command, java.lang.String identifierArg, java.lang.String[] sourceExtensions, java.lang.String[] headerExtensions, java.lang.String outputSuffix, boolean libtool, PrecompilingCommandLineCompiler libtoolCompiler, boolean newEnvironment, org.apache.tools.ant.types.Environment env)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description CompilerConfiguration[]
createPrecompileConfigurations(CompilerConfiguration config, java.io.File prototype, java.lang.String[] exceptFiles)
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.protected abstract CompilerConfiguration
createPrecompileGeneratingConfig(CommandLineCompilerConfiguration baseConfig, java.io.File prototype, java.lang.String lastInclude)
protected abstract CompilerConfiguration
createPrecompileUsingConfig(CommandLineCompilerConfiguration baseConfig, java.io.File prototype, java.lang.String lastInclude, java.lang.String[] exceptFiles)
-
Methods inherited from class net.sf.antcontrib.cpptasks.compiler.CommandLineCompiler
addImpliedArgs, addIncludes, addWarningSwitch, buildDefineArguments, compile, createConfiguration, getArgumentCountPerInputFile, getCommand, getDefineSwitch, getEnvironmentIncludePath, getIdentifier, getIncludeDirSwitch, getInputFileArgument, getLibtool, getLibtoolCompiler, getMaximumCommandLength, getMaximumInputFilesPerCommand, getTotalArgumentLengthForInputFile, getUndefineSwitch, runCommand, setCommand
-
Methods inherited from class net.sf.antcontrib.cpptasks.compiler.AbstractCompiler
canParse, createConfiguration, createParser, getBaseOutputName, getOutputFileNames, parseIncludes, resolveInclude
-
Methods inherited from class net.sf.antcontrib.cpptasks.compiler.AbstractProcessor
bid, changeEnvironment, clone, getHeaderExtensions, getIdentifier, getOSArch, getOSName, getSourceExtensions, isDarwin, toString
-
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface net.sf.antcontrib.cpptasks.compiler.Processor
bid, changeEnvironment, getLinker
-
-
-
-
Constructor Detail
-
PrecompilingCommandLineCompiler
protected PrecompilingCommandLineCompiler(java.lang.String command, java.lang.String identifierArg, java.lang.String[] sourceExtensions, java.lang.String[] headerExtensions, java.lang.String outputSuffix, boolean libtool, PrecompilingCommandLineCompiler libtoolCompiler, boolean newEnvironment, org.apache.tools.ant.types.Environment env)
-
-
Method Detail
-
createPrecompileConfigurations
public CompilerConfiguration[] createPrecompileConfigurations(CompilerConfiguration config, java.io.File prototype, java.lang.String[] exceptFiles)
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 interfacePrecompilingCompiler
- Parameters:
config
- base configurationprototype
- 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
-
createPrecompileGeneratingConfig
protected abstract CompilerConfiguration createPrecompileGeneratingConfig(CommandLineCompilerConfiguration baseConfig, java.io.File prototype, java.lang.String lastInclude)
-
createPrecompileUsingConfig
protected abstract CompilerConfiguration createPrecompileUsingConfig(CommandLineCompilerConfiguration baseConfig, java.io.File prototype, java.lang.String lastInclude, java.lang.String[] exceptFiles)
-
-