From d980d24f00641d4831ff0dae1289fb7bf2474ac7 Mon Sep 17 00:00:00 2001 From: Sean Evoy Date: Fri, 19 Mar 2004 16:38:49 +0000 Subject: [PATCH] Removed the AbstractToolReference class because there is no longer any need for it with the introduction of a dynamic styrategy for model element creation. I kept the IToolReference interface, though. Moved several public methods into it and changed the clients of those methods so that the interface is used. --- .../plugin.properties | 1 - .../plugin.xml | 2 +- .../core/AbstractToolReference.java | 103 -- .../managedbuilder/core/IToolReference.java | 42 +- .../core/ManagedBuildManager.java | 6 +- .../internal/core/Configuration.java | 11 +- .../internal/core/ToolReference.java | 225 ++- .../plugin.properties | 1 - .../plugin.xml | 1528 ++++++++--------- 9 files changed, 974 insertions(+), 945 deletions(-) delete mode 100644 build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/AbstractToolReference.java diff --git a/build/org.eclipse.cdt.managedbuilder.core/plugin.properties b/build/org.eclipse.cdt.managedbuilder.core/plugin.properties index 0ae8e09fa42..7ebe6ca2355 100644 --- a/build/org.eclipse.cdt.managedbuilder.core/plugin.properties +++ b/build/org.eclipse.cdt.managedbuilder.core/plugin.properties @@ -1,6 +1,5 @@ pluginName=C/C++ Managed Builder Core providerName=Eclipse.org -ExtensionPoint.name=Managed Build Tools GeneratedMakefileCBuilder.name=Generated Makefile Builder ManagedBuildNature.name=Managed Builder Project diff --git a/build/org.eclipse.cdt.managedbuilder.core/plugin.xml b/build/org.eclipse.cdt.managedbuilder.core/plugin.xml index 8d371c2d8ff..adbfc6c5bc8 100644 --- a/build/org.eclipse.cdt.managedbuilder.core/plugin.xml +++ b/build/org.eclipse.cdt.managedbuilder.core/plugin.xml @@ -20,7 +20,7 @@ - + diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/AbstractToolReference.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/AbstractToolReference.java deleted file mode 100644 index d26ee09542e..00000000000 --- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/AbstractToolReference.java +++ /dev/null @@ -1,103 +0,0 @@ -package org.eclipse.cdt.managedbuilder.core; - -/********************************************************************** - * Copyright (c) 2004 TimeSys Corporation and others. - * - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Common Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * TimeSys Corporation - initial API and implementation - **********************************************************************/ - -public abstract class AbstractToolReference implements IToolReference { - - protected ITool parent; - - public AbstractToolReference() { - } - - public AbstractToolReference(ITool parent) { - this.parent = parent; - } - - public boolean references(ITool target) { - if (equals(target)) { - // we are the target - return true; - } - else if (parent instanceof IToolReference) { - // check the reference we are overriding - return ((IToolReference)parent).references(target); - } - else if (target instanceof IToolReference) { - return parent.equals(((IToolReference)target).getTool()); - } - else { - // the real reference - return parent.equals(target); - } - } - - public ITool getTool() { - return parent; - } - - public boolean buildsFileType(String extension) { - return parent.buildsFileType(extension); - } - - public int getNatureFilter() { - return parent.getNatureFilter(); - } - - public IOption getOption(String id) { - return parent.getOption(id); - } - - public IOption[] getOptions() { - return parent.getOptions(); - } - - public String getOutputExtension(String inputExtension) { - return parent.getOutputExtension(inputExtension); - } - - public String getOutputFlag() { - return parent.getOutputFlag(); - } - - public String getOutputPrefix() { - return parent.getOutputPrefix(); - } - - public String getToolCommand() { - return parent.getToolCommand(); - } - - public String getToolFlags() throws BuildException { - return parent.getToolFlags(); - } - - public IOptionCategory getTopOptionCategory() { - return parent.getTopOptionCategory(); - } - - public boolean isHeaderFile(String ext) { - return parent.isHeaderFile(ext); - } - - public boolean producesFileType(String outputExtension) { - return parent.producesFileType(outputExtension); - } - - public String getId() { - return parent.getId(); - } - - public String getName() { - return parent.getName(); - } -} diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/IToolReference.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/IToolReference.java index 8a4fd0bf784..c5268c2ff2a 100644 --- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/IToolReference.java +++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/IToolReference.java @@ -10,8 +10,36 @@ * TimeSys Corporation - initial API and implementation **********************************************************************/ package org.eclipse.cdt.managedbuilder.core; + +import java.util.List; + +import org.eclipse.cdt.managedbuilder.internal.core.OptionReference; + public interface IToolReference extends ITool { + /** + * Answers a reference to the option. If the reference does not exist, + * a new reference is created. + * + * @param option + * @return OptionReference + */ + public OptionReference createOptionReference(IOption option); + + /** + * Answers the list of option references contained in the receiver. + * + * @return List + */ + public List getOptionReferenceList(); + + /** + * Answers the tool that the reference has been created for. + * + * @return + */ + public ITool getTool(); + /** * Answers true if the reference is a reference to the * tool specified in the argument. @@ -21,11 +49,13 @@ public interface IToolReference extends ITool { */ public boolean references(ITool tool); - /** - * Answers the tool that the reference has been created for. - * - * @return - */ - public ITool getTool(); + /** + * Set the tool command in the receiver to be the argument. + * + * @param cmd + * @return true if the command is changed, else false + */ + public boolean setToolCommand(String cmd); + } diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/ManagedBuildManager.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/ManagedBuildManager.java index e2a5a4c4823..c2a46c3a645 100644 --- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/ManagedBuildManager.java +++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/ManagedBuildManager.java @@ -36,8 +36,6 @@ import org.eclipse.cdt.core.parser.IScannerInfoProvider; import org.eclipse.cdt.managedbuilder.internal.core.Configuration; import org.eclipse.cdt.managedbuilder.internal.core.DefaultManagedConfigElement; import org.eclipse.cdt.managedbuilder.internal.core.ManagedBuildInfo; -import org.eclipse.cdt.managedbuilder.internal.core.ToolReference; -import org.eclipse.cdt.managedbuilder.core.ManagedBuilderCorePlugin; import org.eclipse.cdt.managedbuilder.internal.core.Target; import org.eclipse.cdt.managedbuilder.internal.core.Tool; import org.eclipse.core.resources.IFile; @@ -282,9 +280,9 @@ public class ManagedBuildManager extends AbstractCExtension implements IScannerI */ public static void setToolCommand(IConfiguration config, ITool tool, String command) { // The tool may be a reference. - if (tool instanceof ToolReference) { + if (tool instanceof IToolReference) { // If so, just set the command in the reference - ((ToolReference)tool).setToolCommand(command); + ((IToolReference)tool).setToolCommand(command); } else { config.setToolCommand(tool, command); } diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/Configuration.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/Configuration.java index cc93da6fa0d..51fe0901f79 100644 --- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/Configuration.java +++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/Configuration.java @@ -23,6 +23,7 @@ import org.eclipse.cdt.managedbuilder.core.IManagedConfigElement; import org.eclipse.cdt.managedbuilder.core.IOption; import org.eclipse.cdt.managedbuilder.core.ITarget; import org.eclipse.cdt.managedbuilder.core.ITool; +import org.eclipse.cdt.managedbuilder.core.IToolReference; import org.eclipse.cdt.managedbuilder.core.ManagedBuildManager; import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IResource; @@ -225,7 +226,7 @@ public class Configuration extends BuildObject implements IConfiguration { return toolRef.createOptionReference(option); } } else { - ToolReference toolRef = getToolReference(option.getTool()); + IToolReference toolRef = getToolReference(option.getTool()); if (toolRef == null) toolRef = new ToolReference(this, option.getTool()); return toolRef.createOptionReference(option); @@ -299,7 +300,7 @@ public class Configuration extends BuildObject implements IConfiguration { // Replace tools with local overrides for (int i = 0; i < tools.length; ++i) { - ToolReference ref = getToolReference(tools[i]); + IToolReference ref = getToolReference(tools[i]); if (ref != null) tools[i] = ref; } @@ -331,7 +332,7 @@ public class Configuration extends BuildObject implements IConfiguration { List references = new ArrayList(); // Get all the option references I add for this tool - ToolReference toolRef = getToolReference(tool); + IToolReference toolRef = getToolReference(tool); if (toolRef != null) { references.addAll(toolRef.getOptionReferenceList()); } @@ -372,7 +373,7 @@ public class Configuration extends BuildObject implements IConfiguration { * @param tool * @return ToolReference */ - private ToolReference getToolReference(ITool tool) { + private IToolReference getToolReference(ITool tool) { // See if the receiver has a reference to the tool ToolReference ref = null; if (tool == null) return ref; @@ -506,7 +507,7 @@ public class Configuration extends BuildObject implements IConfiguration { // Make sure the command is different if (command != null) { // Does this config have a ref to the tool - ToolReference ref = getToolReference(tool); + IToolReference ref = getToolReference(tool); if (ref == null) { // Then make one ref = new ToolReference(this, tool); diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/ToolReference.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/ToolReference.java index f9461eb2147..0311ece8459 100644 --- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/ToolReference.java +++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/ToolReference.java @@ -14,23 +14,25 @@ import java.util.ArrayList; import java.util.Iterator; import java.util.List; -import org.eclipse.cdt.managedbuilder.core.AbstractToolReference; import org.eclipse.cdt.managedbuilder.core.BuildException; import org.eclipse.cdt.managedbuilder.core.IBuildObject; import org.eclipse.cdt.managedbuilder.core.IConfiguration; import org.eclipse.cdt.managedbuilder.core.IManagedConfigElement; import org.eclipse.cdt.managedbuilder.core.IOption; +import org.eclipse.cdt.managedbuilder.core.IOptionCategory; import org.eclipse.cdt.managedbuilder.core.ITool; +import org.eclipse.cdt.managedbuilder.core.IToolReference; import org.eclipse.cdt.managedbuilder.core.ManagedBuildManager; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; -public class ToolReference extends AbstractToolReference { +public class ToolReference implements IToolReference { private String command; private List optionReferences; private IBuildObject owner; + protected ITool parent; private boolean resolved = true; /** @@ -110,7 +112,7 @@ public class ToolReference extends AbstractToolReference { * @param parent The ITooltool the reference will be based on. */ public ToolReference(BuildObject owner, ITool parent) { - super(parent); + this.parent = parent; this.owner = owner; if (owner instanceof Configuration) { @@ -120,6 +122,27 @@ public class ToolReference extends AbstractToolReference { } } + /* (non-Javadoc) + * @see org.eclipse.cdt.managedbuilder.core.IToolReference#references(org.eclipse.cdt.managedbuilder.core.ITool) + */ + public boolean references(ITool target) { + if (equals(target)) { + // we are the target + return true; + } + else if (parent instanceof IToolReference) { + // check the reference we are overriding + return ((IToolReference)parent).references(target); + } + else if (target instanceof IToolReference) { + return parent.equals(((IToolReference)target).getTool()); + } + else { + // the real reference + return parent.equals(target); + } + } + public void resolveReferences() { if (!resolved) { resolved = true; @@ -155,23 +178,15 @@ public class ToolReference extends AbstractToolReference { getOptionReferenceList().add(optionRef); } - private OptionReference getOptionReference(String id) { - Iterator it = getOptionReferenceList().iterator(); - while (it.hasNext()) { - OptionReference current = (OptionReference)it.next(); - if (current.getId().equals(id)) { - return current; - } - } - return null; + /* (non-Javadoc) + * @see org.eclipse.cdt.managedbuilder.core.ITool#buildsFileType(java.lang.String) + */ + public boolean buildsFileType(String extension) { + return parent.buildsFileType(extension); } - - /** - * Answers a reference to the option. If the reference does not exist, - * a new reference is created. - * - * @param option - * @return OptionReference + + /* (non-Javadoc) + * @see org.eclipse.cdt.managedbuilder.core.IToolReference#createOptionReference(org.eclipse.cdt.managedbuilder.core.IOption) */ public OptionReference createOptionReference(IOption option) { // Check if the option reference already exists @@ -182,6 +197,70 @@ public class ToolReference extends AbstractToolReference { return ref; } + /* (non-Javadoc) + * @return + */ + protected List getAllOptionRefs() { + // First get all the option references this tool reference contains + if (owner instanceof Configuration) { + return ((Configuration)owner).getOptionReferences(parent); + } else if (owner instanceof Target) { + return ((Target)owner).getOptionReferences(parent); + } else { + // this shouldn't happen + return null; + } + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.managedbuilder.core.IBuildObject#getId() + */ + public String getId() { + return parent.getId(); + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.managedbuilder.core.IBuildObject#getName() + */ + public String getName() { + return parent.getName(); + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.managedbuilder.core.ITool#getNatureFilter() + */ + public int getNatureFilter() { + return parent.getNatureFilter(); + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.core.build.managed.ITool#getOption(java.lang.String) + */ + public IOption getOption(String id) { + IOption[] options = getOptions(); + for (int i = 0; i < options.length; i++) { + IOption current = options[i]; + if (current.getId().equals(id)) { + return current; + } + } + return null; + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.managedbuilder.core.ITool#producesFileType(java.lang.String) + */ + public boolean producesFileType(String outputExtension) { + return parent.producesFileType(outputExtension); + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.managedbuilder.core.IToolReference#getTool() + */ + public ITool getTool() { + return parent; + } + /* (non-Javadoc) * @see org.eclipse.cdt.core.build.managed.ITool#getToolCommand() */ @@ -256,34 +335,13 @@ public class ToolReference extends AbstractToolReference { } /* (non-Javadoc) - * @see org.eclipse.cdt.core.build.managed.ITool#getOptions() + * @see org.eclipse.cdt.managedbuilder.core.ITool#getTopOptionCategory() */ - public IOption[] getOptions() { - IOption[] options = parent.getOptions(); - - // Replace with our references - for (int i = 0; i < options.length; ++i) { - OptionReference ref = getOptionReference(options[i]); - if (ref != null) - options[i] = ref; - } - - return options; + public IOptionCategory getTopOptionCategory() { + return parent.getTopOptionCategory(); } - protected List getAllOptionRefs() { - // First get all the option references this tool reference contains - if (owner instanceof Configuration) { - return ((Configuration)owner).getOptionReferences(parent); - } else if (owner instanceof Target) { - return ((Target)owner).getOptionReferences(parent); - } else { - // this shouldn't happen - return null; - } - } - - /* (non-javadoc) + /* (non-Javadoc) * Answers an option reference that overrides the option, or null * * @param option @@ -301,7 +359,26 @@ public class ToolReference extends AbstractToolReference { return null; } - protected List getOptionReferenceList() { + /* (non-Javadoc) + * + * @param id + * @return + */ + private OptionReference getOptionReference(String id) { + Iterator it = getOptionReferenceList().iterator(); + while (it.hasNext()) { + OptionReference current = (OptionReference)it.next(); + if (current.getId().equals(id)) { + return current; + } + } + return null; + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.managedbuilder.core.IToolReference#getOptionReferenceList() + */ + public List getOptionReferenceList() { if (optionReferences == null) { optionReferences = new ArrayList(); optionReferences.clear(); @@ -311,17 +388,47 @@ public class ToolReference extends AbstractToolReference { /* (non-Javadoc) - * @see org.eclipse.cdt.core.build.managed.ITool#getOption(java.lang.String) + * @see org.eclipse.cdt.core.build.managed.ITool#getOptions() */ - public IOption getOption(String id) { - IOption[] options = getOptions(); - for (int i = 0; i < options.length; i++) { - IOption current = options[i]; - if (current.getId().equals(id)) { - return current; - } + public IOption[] getOptions() { + IOption[] options = parent.getOptions(); + + // Replace with our references + for (int i = 0; i < options.length; ++i) { + OptionReference ref = getOptionReference(options[i]); + if (ref != null) + options[i] = ref; } - return null; + + return options; + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.managedbuilder.core.ITool#getOutputExtension(java.lang.String) + */ + public String getOutputExtension(String inputExtension) { + return parent.getOutputExtension(inputExtension); + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.managedbuilder.core.ITool#getOutputFlag() + */ + public String getOutputFlag() { + return parent.getOutputFlag(); + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.managedbuilder.core.ITool#getOutputPrefix() + */ + public String getOutputPrefix() { + return parent.getOutputPrefix(); + } + + /* (non-Javadoc) + * @see org.eclipse.cdt.managedbuilder.core.ITool#isHeaderFile(java.lang.String) + */ + public boolean isHeaderFile(String ext) { + return parent.isHeaderFile(ext); } /** @@ -363,12 +470,9 @@ public class ToolReference extends AbstractToolReference { } } - /** - * Sets the command in the receiver to be the argument. - * - * @param cmd - * @return true if the call results in a chnaged command, else false - */ + /* (non-Javadoc) + * @see org.eclipse.cdt.managedbuilder.core.IToolReference#setToolCommand(java.lang.String) + */ public boolean setToolCommand(String cmd) { if (cmd != null && !cmd.equals(command)) { command = cmd; @@ -393,4 +497,5 @@ public class ToolReference extends AbstractToolReference { return super.toString(); } } + } diff --git a/build/org.eclipse.cdt.managedbuilder.ui/plugin.properties b/build/org.eclipse.cdt.managedbuilder.ui/plugin.properties index 17b2e7a10ae..42f6b93620e 100644 --- a/build/org.eclipse.cdt.managedbuilder.ui/plugin.properties +++ b/build/org.eclipse.cdt.managedbuilder.ui/plugin.properties @@ -11,7 +11,6 @@ MngCCWizard.description=Create a new C++ project and let Eclipse create and mana MngBuildProp.name=C/C++ Build # Build Model Names -Extension.name=Managed Build Tools Description TargetName.cygw=Cygwin TargetName.cygw.exe=Cygwin Executable TargetName.cygw.so=Cygwin Shared Library diff --git a/build/org.eclipse.cdt.managedbuilder.ui/plugin.xml b/build/org.eclipse.cdt.managedbuilder.ui/plugin.xml index cbc19757a15..b02d4f6d41d 100644 --- a/build/org.eclipse.cdt.managedbuilder.ui/plugin.xml +++ b/build/org.eclipse.cdt.managedbuilder.ui/plugin.xml @@ -31,8 +31,8 @@ icon="icons/full/wizban/newmngcc_app.gif" category="org.eclipse.cdt.ui.newCCWizards" class="org.eclipse.cdt.managedbuilder.ui.wizards.NewManagedCCProjectWizard" - finalPerspective="org.eclipse.cdt.ui.CPerspective" project="true" + finalPerspective="org.eclipse.cdt.ui.CPerspective" id="org.eclipse.cdt.managedbuilder.ui.wizards.StdCCWizard"> %MngCCWizard.description @@ -43,8 +43,8 @@ icon="icons/full/wizban/newmngc_app.gif" category="org.eclipse.cdt.ui.newCWizards" class="org.eclipse.cdt.managedbuilder.ui.wizards.NewManagedCProjectWizard" - finalPerspective="org.eclipse.cdt.ui.CPerspective" project="true" + finalPerspective="org.eclipse.cdt.ui.CPerspective" id="org.eclipse.cdt.managedbuilder.ui.wizards.StdCWizard"> %MngCWizard.description @@ -54,8 +54,8 @@ @@ -68,7 +68,7 @@ + valueType="boolean" + id="cygwin.gnu.c.compiler.preprocessor.nostdinc"> + valueType="definedSymbols" + id="cygwin.gnu.c.preprocessor.def.symbols"> + value="_X86_=1" + builtIn="true"> + value="__OPTIMIZE__" + builtIn="true"> + value="__STDC_HOSTED__=1" + builtIn="true"> + value="i386" + builtIn="true"> + value="__i386" + builtIn="true"> + value="__i386__" + builtIn="true"> + value="__tune_i686__" + builtIn="true"> + value="__tune_pentiumpro__" + builtIn="true"> + value="__tune_pentium2__" + builtIn="true"> + value="__tune_pentium3__" + builtIn="true"> + value="__stdcall=__attribute__((__stdcall__))" + builtIn="true"> + value="__fastcall=__attribute__((__fastcall__))" + builtIn="true"> + value="__cdecl=__attribute__((__cdecl__))" + builtIn="true"> + value="_stdcall=__attribute__((__stdcall__))" + builtIn="true"> + value="_fastcall=__attribute__((__fastcall__))" + builtIn="true"> + value="_cdecl=__attribute__((__cdecl__))" + builtIn="true"> + value="__declspec(x)=__attribute__((x))" + builtIn="true"> + value="__CYGWIN32__" + builtIn="true"> + value="unix" + builtIn="true"> + value="__unix__" + builtIn="true"> + value="__unix" + builtIn="true"> + valueType="includePath" + id="cygwin.gnu.c.compiler.general.include.paths"> + value="C:\Cygwin\usr\include" + builtIn="true"> + value="C:\cygwin\usr\include\w32api" + builtIn="true"> + valueType="enumerated" + id="cygwin.gnu.c.compiler.general.optimization.level"> + valueType="string" + id="cygwin.gnu.c.compiler.optimization.flags"> + valueType="enumerated" + id="cygwin.c.compiler.debugging.level"> + valueType="string" + id="cygwin.gnu.c.compiler.debugging.other"> + valueType="boolean" + id="cygwin.gnu.c.compiler.warnings.syntax"> + valueType="string" + id="cygwin.gnu.c.compiler.misc.other"> + valueType="boolean" + id="cygwin.gnu.compiler.preprocessor.nostdinc"> + valueType="definedSymbols" + id="cygwin.preprocessor.def.symbols"> + value="_X86_=1" + builtIn="true"> + value="__OPTIMIZE__" + builtIn="true"> + value="__STDC_HOSTED__=1" + builtIn="true"> + value="i386" + builtIn="true"> + value="__i386" + builtIn="true"> + value="__i386__" + builtIn="true"> + value="__tune_i686__" + builtIn="true"> + value="__tune_pentiumpro__" + builtIn="true"> + value="__tune_pentium2__" + builtIn="true"> + value="__tune_pentium3__" + builtIn="true"> + value="__stdcall=__attribute__((__stdcall__))" + builtIn="true"> + value="__fastcall=__attribute__((__fastcall__))" + builtIn="true"> + value="__cdecl=__attribute__((__cdecl__))" + builtIn="true"> + value="_stdcall=__attribute__((__stdcall__))" + builtIn="true"> + value="_fastcall=__attribute__((__fastcall__))" + builtIn="true"> + value="_cdecl=__attribute__((__cdecl__))" + builtIn="true"> + value="__declspec(x)=__attribute__((x))" + builtIn="true"> + value="__CYGWIN32__" + builtIn="true"> - - - - - - + + + + + + + valueType="includePath" + id="cygwin.compiler.general.include.paths"> - - + value="C:\cygwin\usr\include\c++\3.3.1\i686-pc-cygwin"> + value="C:\cygwin\usr\include\c++\3.3.1\backward" + builtIn="true"> + value="C:\cygwin\lib\gcc-lib\i686-pc-cygwin\3.3.1\include" + builtIn="true"> + value="C:\cygwin\usr\include" + builtIn="true"> + + + valueType="enumerated" + id="cygwin.compiler.general.optimization.level"> + valueType="string" + id="cygwin.compiler.optimization.flags"> + valueType="enumerated" + id="cygwin.compiler.debugging.level"> + valueType="string" + id="cygwin.gnu.compiler.debugging.other"> + valueType="boolean" + id="cygwin.gnu.compiler.warnings.syntax"> + valueType="string" + id="cygwin.compiler.misc.other"> @@ -836,8 +836,8 @@ natureFilter="cnature" name="%ToolName.linker.c" outputFlag="-o" - command="gcc" outputs="exe" + command="gcc" id="cdt.build.tool.cygwin.c.link"> + valueType="boolean" + id="cygwin.gnu.c.link.options.nostart"> + valueType="libs" + id="cygwin.gnu.c.link.libs"> + valueType="string" + id="cygwin.gnu.c.link.ldflags"> + valueType="boolean" + id="cygwin.gnu.linker.options.nostart"> + valueType="libs" + id="cygwin.link.libs"> + valueType="string" + id="cygwin.link.ld.flags"> @@ -1094,9 +1094,9 @@ natureFilter="cnature" name="%ToolName.linker.c" outputFlag="-o" - command="gcc" - outputPrefix="lib" outputs="dll" + outputPrefix="lib" + command="gcc" id="cdt.build.tool.cygwin.c.solink"> + valueType="boolean" + id="cygwin.gnu.c.solink.options.nostart"> + valueType="libs" + id="cygwin.gnu.c.solink.libs"> + valueType="string" + id="cygwin.gnu.c.solink.ldflags"> + valueType="boolean" + id="cygwin.gnu.solink.options.nostart"> + valueType="libs" + id="cygwin.solink.libs"> + valueType="string" + id="cygwin.solink.ld.flags"> @@ -1324,9 +1324,9 @@ natureFilter="ccnature" name="%ToolName.linker.cpp" outputFlag="-o" - command="g++ -shared" - outputPrefix="cyg" outputs="dll" + outputPrefix="cyg" + command="g++ -shared" id="org.eclipse.cdt.build.tool.cygwin.explink"> + valueType="string" + id="cygwin.explink.ld.flags"> @@ -1422,9 +1422,9 @@ + valueType="string" + id="cygwin.ar.flags"> @@ -1452,12 +1452,12 @@ osList="linux"> + valueType="boolean" + id="linux.gnu.c.compiler.preprocessor.nostdinc"> + valueType="definedSymbols" + id="linux.gnu.c.preprocessor.def.symbols"> + value="__ELF__" + builtIn="true"> + value="unix" + builtIn="true"> + value="__gnu_linux__" + builtIn="true"> + value="linux" + builtIn="true"> + value="__unix__" + builtIn="true"> + value="__linux__" + builtIn="true"> + value="__unix" + builtIn="true"> + value="__linux" + builtIn="true"> + value="__OPTIMIZE__" + builtIn="true"> + value="__STDC_HOSTED__=1" + builtIn="true"> + value="_GNU_SOURCE" + builtIn="true"> + value="i386" + builtIn="true"> + value="__i386" + builtIn="true"> + value="__i386__" + builtIn="true"> + value="__tune_i386__" + builtIn="true"> + valueType="includePath" + id="linux.gnu.c.compiler.general.include.paths"> + valueType="enumerated" + id="linux.gnu.c.compiler.general.optimization.level"> + valueType="string" + id="linux.gnu.c.compiler.optimization.flags"> + valueType="enumerated" + id="linux.c.compiler.debugging.level"> + valueType="string" + id="linux.gnu.c.compiler.debugging.other"> + valueType="boolean" + id="linux.gnu.c.compiler.warnings.syntax"> + valueType="string" + id="linux.gnu.c.compiler.misc.other"> + valueType="boolean" + id="linux.gnu.compiler.preprocessor.nostdinc"> + valueType="includePath" + id="linux.gnu.compiler.dirs.incpaths"> + value="/usr/local/include" + builtIn="true"> + value="/usr/include" + builtIn="true"> + valueType="enumerated" + id="linux.gnu.compiler.optimization.level"> + valueType="string" + id="linux.compiler.optimization.flags"> + valueType="enumerated" + id="linux.gnu.compiler.debugging.level"> + valueType="string" + id="linux.gnu.compiler.debugging.other"> + valueType="boolean" + id="linux.gnu.compiler.warnings.syntax"> + valueType="string" + id="linux.gnu.compiler.other.other"> @@ -2115,40 +2115,40 @@ name="%Option.Posix.Linker.NoStartFiles" category="linux.gnu.c.linker.category.general" command="-nostartfiles" - id="linux.gnu.c.link.options.nostart" - valueType="boolean"> + valueType="boolean" + id="linux.gnu.c.link.options.nostart"> + valueType="libs" + id="linux.gnu.c.link.libs"> + valueType="string" + id="linux.gnu.c.link.ldflags"> @@ -2211,40 +2211,40 @@ name="%Option.Posix.Linker.NoStartFiles" category="linux.gnu.linker.category.options" command="-nostartfiles" - id="linux.gnu.linker.options.nostart" - valueType="boolean"> + valueType="boolean" + id="linux.gnu.linker.options.nostart"> + valueType="libs" + id="linux.gnu.linker.libs.libs"> + valueType="string" + id="linux.gnu.linker.libs.flags"> @@ -2353,12 +2353,12 @@ + valueType="boolean" + id="linux.gnu.c.solink.options.nostart"> + valueType="libs" + id="linux.gnu.c.solink.libs"> + valueType="string" + id="linux.gnu.c.solink.ldflags"> + valueType="boolean" + id="linux.gnu.solink.options.nostart"> + valueType="libs" + id="linux.gnu.solink.libs.libs"> + valueType="string" + id="linux.gnu.solink.libs.flags"> @@ -2604,11 +2604,11 @@ + valueType="string" + id="linux.gnu.lib.flags"> @@ -2636,12 +2636,12 @@ osList="solaris"> + valueType="boolean" + id="solaris.gnu.c.compiler.preprocessor.nostdinc"> + valueType="definedSymbols" + id="solaris.gnu.c.preprocessor.def.symbols"> + value="sun" + builtIn="true"> + value="sparc" + builtIn="true"> + value="unix" + builtIn="true"> + value="__svr4__" + builtIn="true"> + value="__SVR4" + builtIn="true"> + value="__GCC_NEW_VARARGS__" + builtIn="true"> + value="__sun__" + builtIn="true"> + value="__sparc__" + builtIn="true"> + value="__unix__" + builtIn="true"> + value="__sun" + builtIn="true"> + value="__sparc" + builtIn="true"> + value="__unix" + builtIn="true"> + value="__OPTIMIZE__" + builtIn="true"> + valueType="includePath" + id="solaris.gnu.c.compiler.general.include.paths"> + valueType="enumerated" + id="solaris.gnu.c.compiler.general.optimization.level"> + valueType="string" + id="solaris.gnu.c.compiler.optimization.flags"> + valueType="enumerated" + id="solaris.c.compiler.debugging.level"> + valueType="string" + id="solaris.gnu.c.compiler.debugging.other"> + valueType="boolean" + id="solaris.gnu.c.compiler.warnings.syntax"> + valueType="string" + id="solaris.gnu.c.compiler.misc.other"> + valueType="boolean" + id="solaris.gnu.compiler.preprocessor.nostdinc"> + valueType="includePath" + id="solaris.gnu.compiler.dirs.incpaths"> + value="/usr/local/include" + builtIn="true"> + value="/usr/include" + builtIn="true"> + valueType="enumerated" + id="solaris.gnu.compiler.optimization.level"> + valueType="string" + id="solaris.compiler.optimization.flags"> + valueType="enumerated" + id="solaris.gnu.compiler.debugging.level"> + valueType="string" + id="solaris.gnu.compiler.debugging.other"> + valueType="boolean" + id="solaris.gnu.compiler.warnings.syntax"> + valueType="string" + id="solaris.gnu.compiler.other.other"> @@ -3276,40 +3276,40 @@ name="%Option.Posix.Linker.NoStartFiles" category="solaris.gnu.c.linker.category.general" command="-nostartfiles" - id="solaris.gnu.c.link.options.nostart" - valueType="boolean"> + valueType="boolean" + id="solaris.gnu.c.link.options.nostart"> + valueType="libs" + id="solaris.gnu.c.link.libs"> + valueType="string" + id="solaris.gnu.c.link.ldflags"> @@ -3372,40 +3372,40 @@ name="%Option.Posix.Linker.NoStartFiles" category="solaris.gnu.linker.category.options" command="-nostartfiles" - id="solaris.gnu.linker.options.nostart" - valueType="boolean"> + valueType="boolean" + id="solaris.gnu.linker.options.nostart"> + valueType="libs" + id="solaris.gnu.linker.libs.libs"> + valueType="string" + id="solaris.gnu.linker.libs.flags"> @@ -3518,12 +3518,12 @@ + valueType="boolean" + id="solaris.gnu.c.solink.options.nostart"> + valueType="libs" + id="solaris.gnu.c.solink.libs"> + valueType="string" + id="solaris.gnu.c.solink.ldflags"> + valueType="boolean" + id="solaris.gnu.solink.options.nostart"> + valueType="libs" + id="solaris.gnu.solink.libs.libs"> + valueType="string" + id="solaris.gnu.solink.libs.flags"> @@ -3769,11 +3769,11 @@ + valueType="string" + id="solaris.gnu.lib.flags">