diff options
author | Mark Donszelmann <Mark.Donszelmann@gmail.com> | 2009-11-05 23:27:33 +0100 |
---|---|---|
committer | Mark Donszelmann <Mark.Donszelmann@gmail.com> | 2009-11-05 23:27:33 +0100 |
commit | 254c4886d58979eebd0e352f4d16e391736f2a33 (patch) | |
tree | 8feca0cc1caa5177dd52a7b9b2dfd63502c941fd /src/net/sf/antcontrib/cpptasks/CompilerDef.java | |
parent | ef6f25ba42792d2d811fd6826c0dd528ad77b1e9 (diff) | |
download | cpptasks-parallel-254c4886d58979eebd0e352f4d16e391736f2a33.tar.gz cpptasks-parallel-254c4886d58979eebd0e352f4d16e391736f2a33.tar.bz2 cpptasks-parallel-254c4886d58979eebd0e352f4d16e391736f2a33.tar.xz cpptasks-parallel-254c4886d58979eebd0e352f4d16e391736f2a33.zip |
Reorganized source directories in line with cpptasks-1.0b5, for easier tracking
Diffstat (limited to 'src/net/sf/antcontrib/cpptasks/CompilerDef.java')
-rw-r--r-- | src/net/sf/antcontrib/cpptasks/CompilerDef.java | 502 |
1 files changed, 0 insertions, 502 deletions
diff --git a/src/net/sf/antcontrib/cpptasks/CompilerDef.java b/src/net/sf/antcontrib/cpptasks/CompilerDef.java deleted file mode 100644 index 1bbdabf..0000000 --- a/src/net/sf/antcontrib/cpptasks/CompilerDef.java +++ /dev/null @@ -1,502 +0,0 @@ -/* - * - * Copyright 2001-2004 The Ant-Contrib project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package net.sf.antcontrib.cpptasks; -import java.util.Enumeration; -import java.util.Vector; - -import net.sf.antcontrib.cpptasks.compiler.CommandLineCompiler; -import net.sf.antcontrib.cpptasks.compiler.Compiler; -import net.sf.antcontrib.cpptasks.compiler.Processor; -import net.sf.antcontrib.cpptasks.gcc.GccCCompiler; -import net.sf.antcontrib.cpptasks.types.CompilerArgument; -import net.sf.antcontrib.cpptasks.types.ConditionalPath; -import net.sf.antcontrib.cpptasks.types.DefineSet; -import net.sf.antcontrib.cpptasks.types.IncludePath; -import net.sf.antcontrib.cpptasks.types.SystemIncludePath; -import net.sf.antcontrib.cpptasks.types.UndefineArgument; - -import org.apache.tools.ant.BuildException; -import org.apache.tools.ant.Project; -/** - * A compiler definition. compiler elements may be placed either as children of - * a cc element or the project element. A compiler element with an id attribute - * may be referenced from compiler elements with refid or extends attributes. - * - * @author Adam Murdoch - */ -public final class CompilerDef extends ProcessorDef { - /** The source file sets. */ - private final Vector defineSets = new Vector(); - private Boolean exceptions; - private Boolean rtti; - private final Vector includePaths = new Vector(); - private Boolean multithreaded; - private final Vector precompileDefs = new Vector(); - private final Vector sysIncludePaths = new Vector(); - private OptimizationEnum optimization; - private int warnings = -1; - public CompilerDef() { - } - /** - * Adds a compiler command-line arg. - */ - public void addConfiguredCompilerArg(CompilerArgument arg) { - if (isReference()) { - throw noChildrenAllowed(); - } - addConfiguredProcessorArg(arg); - } - /** - * Adds a compiler command-line arg. - */ - public void addConfiguredCompilerParam(CompilerParam param) { - if (isReference()) { - throw noChildrenAllowed(); - } - addConfiguredProcessorParam(param); - } - /** - * Adds a defineset. - */ - public void addConfiguredDefineset(DefineSet defs) { - if (defs == null) { - throw new NullPointerException("defs"); - } - if (isReference()) { - throw noChildrenAllowed(); - } - defineSets.addElement(defs); - } - /** - * Creates an include path. - */ - public IncludePath createIncludePath() { - Project p = getProject(); - if (p == null) { - throw new java.lang.IllegalStateException("project must be set"); - } - if (isReference()) { - throw noChildrenAllowed(); - } - IncludePath path = new IncludePath(p); - includePaths.addElement(path); - return path; - } - /** - * Specifies precompilation prototype file and exclusions. - * - */ - public PrecompileDef createPrecompile() throws BuildException { - Project p = getProject(); - if (isReference()) { - throw noChildrenAllowed(); - } - PrecompileDef precomp = new PrecompileDef(); - precomp.setProject(p); - precompileDefs.addElement(precomp); - return precomp; - } - /** - * Creates a system include path. Locations and timestamps of files located - * using the system include paths are not used in dependency analysis. - * - * - * Standard include locations should not be specified. The compiler - * adapters should recognized the settings from the appropriate environment - * variables or configuration files. - */ - public SystemIncludePath createSysIncludePath() { - Project p = getProject(); - if (p == null) { - throw new java.lang.IllegalStateException("project must be set"); - } - if (isReference()) { - throw noChildrenAllowed(); - } - SystemIncludePath path = new SystemIncludePath(p); - sysIncludePaths.addElement(path); - return path; - } - public void execute() throws org.apache.tools.ant.BuildException { - throw new org.apache.tools.ant.BuildException( - "Not an actual task, but looks like one for documentation purposes"); - } - public UndefineArgument[] getActiveDefines() { - Project p = getProject(); - if (p == null) { - throw new java.lang.IllegalStateException( - "project must be set before this call"); - } - if (isReference()) { - return ((CompilerDef) getCheckedRef(CompilerDef.class, - "CompilerDef")).getActiveDefines(); - } - Vector actives = new Vector(); - for (int i = 0; i < defineSets.size(); i++) { - DefineSet currentSet = (DefineSet) defineSets.elementAt(i); - UndefineArgument[] defines = currentSet.getDefines(); - for (int j = 0; j < defines.length; j++) { - if (defines[j].isActive(p)) { - actives.addElement(defines[j]); - } - } - } - UndefineArgument[] retval = new UndefineArgument[actives.size()]; - actives.copyInto(retval); - return retval; - } - /** - * Returns the compiler-specific include path. - */ - public String[] getActiveIncludePaths() { - if (isReference()) { - return ((CompilerDef) getCheckedRef(CompilerDef.class, - "CompilerDef")).getActiveIncludePaths(); - } - return getActivePaths(includePaths); - } - private String[] getActivePaths(Vector paths) { - Project p = getProject(); - if (p == null) { - throw new java.lang.IllegalStateException("project not set"); - } - Vector activePaths = new Vector(paths.size()); - for (int i = 0; i < paths.size(); i++) { - ConditionalPath path = (ConditionalPath) paths.elementAt(i); - if (path.isActive(p)) { - String[] pathEntries = path.list(); - for (int j = 0; j < pathEntries.length; j++) { - activePaths.addElement(pathEntries[j]); - } - } - } - String[] pathNames = new String[activePaths.size()]; - activePaths.copyInto(pathNames); - return pathNames; - } - public PrecompileDef getActivePrecompile(CompilerDef ccElement) { - if (isReference()) { - return ((CompilerDef) getCheckedRef(CompilerDef.class, - "CompilerDef")).getActivePrecompile(ccElement); - } - PrecompileDef current = null; - Enumeration iter = precompileDefs.elements(); - while (iter.hasMoreElements()) { - current = (PrecompileDef) iter.nextElement(); - if (current.isActive()) { - return current; - } - } - CompilerDef extendedDef = (CompilerDef) getExtends(); - if (extendedDef != null) { - current = extendedDef.getActivePrecompile(null); - if (current != null) { - return current; - } - } - if (ccElement != null && getInherit()) { - return ccElement.getActivePrecompile(null); - } - return null; - } - public String[] getActiveSysIncludePaths() { - if (isReference()) { - return ((CompilerDef) getCheckedRef(CompilerDef.class, - "CompilerDef")).getActiveSysIncludePaths(); - } - return getActivePaths(sysIncludePaths); - } - public final boolean getExceptions(CompilerDef[] defaultProviders, int index) { - if (isReference()) { - return ((CompilerDef) getCheckedRef(CompilerDef.class, - "CompilerDef")).getExceptions(defaultProviders, index); - } - if (exceptions != null) { - return exceptions.booleanValue(); - } else { - if (defaultProviders != null && index < defaultProviders.length) { - return defaultProviders[index].getExceptions(defaultProviders, - index + 1); - } - } - return false; - } - public final Boolean getRtti(CompilerDef[] defaultProviders, int index) { - if (isReference()) { - return ((CompilerDef) getCheckedRef(CompilerDef.class, - "CompilerDef")).getRtti(defaultProviders, index); - } - if (rtti != null) { - return rtti; - } else { - if (defaultProviders != null && index < defaultProviders.length) { - return defaultProviders[index].getRtti(defaultProviders, - index + 1); - } - } - return null; - } - public final OptimizationEnum getOptimization(CompilerDef[] defaultProviders, int index) { - if (isReference()) { - return ((CompilerDef) getCheckedRef(CompilerDef.class, - "CompilerDef")).getOptimization(defaultProviders, index); - } - if (optimization != null) { - return optimization; - } else { - if (defaultProviders != null && index < defaultProviders.length) { - return defaultProviders[index].getOptimization(defaultProviders, - index + 1); - } - } - return null; - } - - public boolean getMultithreaded(CompilerDef[] defaultProviders, int index) { - if (isReference()) { - return ((CompilerDef) getCheckedRef(CompilerDef.class, - "CompilerDef")).getMultithreaded(defaultProviders, index); - } - if (multithreaded != null) { - return multithreaded.booleanValue(); - } else { - if (defaultProviders != null && index < defaultProviders.length) { - return defaultProviders[index].getMultithreaded( - defaultProviders, index + 1); - } - } - return true; - } - public Processor getProcessor() { - Processor processor = super.getProcessor(); - if (processor == null) { - processor = GccCCompiler.getInstance(); - } - if (getLibtool() && processor instanceof CommandLineCompiler) { - CommandLineCompiler compiler = (CommandLineCompiler) processor; - processor = compiler.getLibtoolCompiler(); - } - return processor; - } - public int getWarnings(CompilerDef[] defaultProviders, int index) { - if (isReference()) { - return ((CompilerDef) getCheckedRef(CompilerDef.class, - "CompilerDef")).getWarnings(defaultProviders, index); - } - if (warnings == -1) { - if (defaultProviders != null && index < defaultProviders.length) { - return defaultProviders[index].getWarnings(defaultProviders, - index + 1); - } - } - return warnings; - } - /** - * Sets the default compiler adapter. Use the "name" attribute when the - * compiler is a supported compiler. - * - * @param classname - * fully qualified classname which implements CompilerAdapter - */ - public void setClassname(String classname) throws BuildException { - if (isReference()) { - throw tooManyAttributes(); - } - super.setClassname(classname); - Processor proc = getProcessor(); - if (!(proc instanceof Compiler)) { - throw new BuildException(classname + " does not implement Compiler"); - } - } - /** - * Enables or disables exception support. - * - * @param exceptions - * if true, exceptions are supported. - * - */ - public void setExceptions(boolean exceptions) { - if (isReference()) { - throw tooManyAttributes(); - } - this.exceptions = booleanValueOf(exceptions); - } - - /** - * Enables or disables run-time type information. - * - * @param rtti - * if true, run-time type information is supported. - * - */ - public void setRtti(boolean rtti) { - if (isReference()) { - throw tooManyAttributes(); - } - this.rtti = booleanValueOf(rtti); - } - - /** - * Enables or disables generation of multithreaded code. Unless specified, - * multithreaded code generation is enabled. - * - * @param multi - * If true, generated code may be multithreaded. - */ - public void setMultithreaded(boolean multithreaded) { - if (isReference()) { - throw tooManyAttributes(); - } - this.multithreaded = booleanValueOf(multithreaded); - } - /** - * Sets compiler type. - * - * - * <table width="100%" border="1"> <thead>Supported compilers </thead> - * <tr> - * <td>gcc (default)</td> - * <td>GCC C++ compiler</td> - * </tr> - * <tr> - * <td>g++</td> - * <td>GCC C++ compiler</td> - * </tr> - * <tr> - * <td>c++</td> - * <td>GCC C++ compiler</td> - * </tr> - * <tr> - * <td>g77</td> - * <td>GNU Fortran compiler</td> - * </tr> - * <tr> - * <td>msvc</td> - * <td>Microsoft Visual C++</td> - * </tr> - * <tr> - * <td>bcc</td> - * <td>Borland C++ Compiler</td> - * </tr> - * <tr> - * <td>msrc</td> - * <td>Microsoft Resource Compiler</td> - * </tr> - * <tr> - * <td>brc</td> - * <td>Borland Resource Compiler</td> - * </tr> - * <tr> - * <td>df</td> - * <td>Compaq Visual Fortran Compiler</td> - * </tr> - * <tr> - * <td>midl</td> - * <td>Microsoft MIDL Compiler</td> - * </tr> - * <tr> - * <td>icl</td> - * <td>Intel C++ compiler for Windows (IA-32)</td> - * </tr> - * <tr> - * <td>ecl</td> - * <td>Intel C++ compiler for Windows (IA-64)</td> - * </tr> - * <tr> - * <td>icc</td> - * <td>Intel C++ compiler for Linux (IA-32)</td> - * </tr> - * <tr> - * <td>ecc</td> - * <td>Intel C++ compiler for Linux (IA-64)</td> - * </tr> - * <tr> - * <td>CC</td> - * <td>Sun ONE C++ compiler</td> - * </tr> - * <tr> - * <td>aCC</td> - * <td>HP aC++ C++ Compiler</td> - * </tr> - * <tr> - * <td>os390</td> - * <td>OS390 C Compiler</td> - * </tr> - * <tr> - * <td>os400</td> - * <td>Icc Compiler</td> - * </tr> - * <tr> - * <td>sunc89</td> - * <td>Sun C89 C Compiler</td> - * </tr> - * <tr> - * <td>xlC</td> - * <td>VisualAge C Compiler</td> - * </tr> - * <tr> - * <td>uic</td> - * <td>Qt user interface compiler</td> - * </tr> - * <tr> - * <td>moc</td> - * <td>Qt meta-object compiler</td> - * </tr> - * <tr> - * <td>wcl</td> - * <td>OpenWatcom C/C++ compiler</td> - * </tr> - * <tr> - * <td>wfl</td> - * <td>OpenWatcom FORTRAN compiler</td> - * </tr> - * </table> - * - */ - public void setName(CompilerEnum name) throws BuildException { - if (isReference()) { - throw tooManyAttributes(); - } - Compiler compiler = name.getCompiler(); - setProcessor(compiler); - } - protected void setProcessor(Processor proc) throws BuildException { - try { - super.setProcessor((Compiler) proc); - } catch (ClassCastException ex) { - throw new BuildException(ex); - } - } - /** - * Enumerated attribute with the values "none", "severe", "default", - * "production", "diagnostic", and "failtask". - */ - public void setWarnings(WarningLevelEnum level) { - warnings = level.getIndex(); - } - /** - * Sets optimization level. - * - * @param value optimization level - */ - public void setOptimize(OptimizationEnum value) { - if (isReference()) { - throw tooManyAttributes(); - } - this.optimization = value; - } -} |