|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectnet.sf.antcontrib.cpptasks.compiler.AbstractProcessor
net.sf.antcontrib.cpptasks.compiler.AbstractCompiler
net.sf.antcontrib.cpptasks.compiler.CommandLineCompiler
public abstract class CommandLineCompiler
An abstract Compiler implementation which uses an external program to perform the compile.
Field Summary |
---|
Fields inherited from class net.sf.antcontrib.cpptasks.compiler.AbstractProcessor |
---|
DEFAULT_DISCARD_BID, DEFAULT_PROCESS_BID |
Constructor Summary | |
---|---|
protected |
CommandLineCompiler(String command,
String identifierArg,
String[] sourceExtensions,
String[] headerExtensions,
String outputSuffix,
boolean libtool,
CommandLineCompiler libtoolCompiler,
boolean newEnvironment,
org.apache.tools.ant.types.Environment env)
|
Method Summary | |
---|---|
protected abstract void |
addImpliedArgs(Vector args,
boolean debug,
boolean multithreaded,
boolean exceptions,
LinkType linkType,
Boolean rtti,
OptimizationEnum optimization)
|
protected void |
addIncludes(String baseDirPath,
File[] includeDirs,
Vector args,
Vector relativeArgs,
StringBuffer includePathId,
boolean isSystem)
Adds command-line arguments for include directories. |
protected abstract void |
addWarningSwitch(Vector args,
int warnings)
|
protected void |
buildDefineArguments(CompilerDef[] defs,
Vector args)
|
void |
compile(CCTask task,
File outputDir,
String[] sourceFiles,
String[] args,
String[] endArgs,
boolean relentless,
CommandLineCompilerConfiguration config,
ProgressMonitor monitor)
Compiles a source file. |
protected CompilerConfiguration |
createConfiguration(CCTask task,
LinkType linkType,
ProcessorDef[] baseDefs,
CompilerDef specificDef,
TargetDef targetPlatform,
VersionInfo versionInfo)
|
protected int |
getArgumentCountPerInputFile()
|
protected String |
getCommand()
|
protected abstract void |
getDefineSwitch(StringBuffer buffer,
String define,
String value)
|
protected abstract File[] |
getEnvironmentIncludePath()
|
String |
getIdentifier()
Retrieve an identifier that identifies the specific version of the compiler. |
protected abstract String |
getIncludeDirSwitch(String source)
|
protected String |
getIncludeDirSwitch(String source,
boolean isSystem)
Added by Darren Sargent 22Oct2008 Returns the include dir switch value. |
protected String |
getInputFileArgument(File outputDir,
String filename,
int index)
|
protected boolean |
getLibtool()
|
CommandLineCompiler |
getLibtoolCompiler()
Obtains the same compiler, but with libtool set Default behavior is to ignore libtool |
abstract int |
getMaximumCommandLength()
|
protected int |
getMaximumInputFilesPerCommand()
|
protected int |
getTotalArgumentLengthForInputFile(File outputDir,
String inputFile)
|
protected abstract void |
getUndefineSwitch(StringBuffer buffer,
String define)
|
protected int |
runCommand(CCTask task,
File workingDir,
String[] cmdline)
This method is exposed so test classes can overload and test the arguments without actually spawning the compiler |
protected void |
setCommand(String command)
|
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, isWindows, 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 |
---|
protected CommandLineCompiler(String command, String identifierArg, String[] sourceExtensions, String[] headerExtensions, String outputSuffix, boolean libtool, CommandLineCompiler libtoolCompiler, boolean newEnvironment, org.apache.tools.ant.types.Environment env)
Method Detail |
---|
protected abstract void addImpliedArgs(Vector args, boolean debug, boolean multithreaded, boolean exceptions, LinkType linkType, Boolean rtti, OptimizationEnum optimization)
protected void addIncludes(String baseDirPath, File[] includeDirs, Vector args, Vector relativeArgs, StringBuffer includePathId, boolean isSystem)
baseDirPath
- Base directory path.includeDirs
- Array of include directory pathsargs
- Vector of command line arguments used to execute the taskrelativeArgs
- Vector of command line arguments used to build the
configuration identifierprotected abstract void addWarningSwitch(Vector args, int warnings)
protected void buildDefineArguments(CompilerDef[] defs, Vector args)
public void compile(CCTask task, File outputDir, String[] sourceFiles, String[] args, String[] endArgs, boolean relentless, CommandLineCompilerConfiguration config, ProgressMonitor monitor) throws org.apache.tools.ant.BuildException
org.apache.tools.ant.BuildException
protected CompilerConfiguration createConfiguration(CCTask task, LinkType linkType, ProcessorDef[] baseDefs, CompilerDef specificDef, TargetDef targetPlatform, VersionInfo versionInfo)
createConfiguration
in class AbstractCompiler
protected int getArgumentCountPerInputFile()
protected final String getCommand()
protected abstract void getDefineSwitch(StringBuffer buffer, String define, String value)
protected abstract File[] getEnvironmentIncludePath()
public String getIdentifier()
Processor
getIdentifier
in interface Processor
getIdentifier
in class AbstractProcessor
protected abstract String getIncludeDirSwitch(String source)
protected String getIncludeDirSwitch(String source, boolean isSystem)
source
- the given source value.isSystem
- "true" if this is a system include path
protected String getInputFileArgument(File outputDir, String filename, int index)
protected final boolean getLibtool()
public final CommandLineCompiler getLibtoolCompiler()
public abstract int getMaximumCommandLength()
protected int getMaximumInputFilesPerCommand()
protected int getTotalArgumentLengthForInputFile(File outputDir, String inputFile)
protected abstract void getUndefineSwitch(StringBuffer buffer, String define)
protected int runCommand(CCTask task, File workingDir, String[] cmdline) throws org.apache.tools.ant.BuildException
org.apache.tools.ant.BuildException
protected final void setCommand(String command)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |