[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[cdt-patch] Resend - Fix for bugs 43490 (trivial), 44020 (partial) and 43980
|
I must be getting tired....
Anyway, here's the patch. There shouldn't be any conflicts. 44020 is still
happening with C++ projects, so I will have to stay until I figure it out.
There may 1 more patch tonight.
Sean Evoy
Rational Software - IBM Software Group
Ottawa, Ontario, Canada
Index: ChangeLog
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core.tests/ChangeLog,v
retrieving revision 1.131
diff -u -r1.131 ChangeLog
--- ChangeLog 1 Oct 2003 21:15:45 -0000 1.131
+++ ChangeLog 1 Oct 2003 23:36:16 -0000
@@ -1,3 +1,9 @@
+2003-10-01 Sean Evoy
+ Fix for bug 43980.
+ Updated the test and test plugin to check for nature filter.
+ * plugin.xml
+ * build/org/eclipse/cdt/core/build/managed/tests/ManagedBuildTests.java
+
2003-10-01 Andrew Niefer
added testBug43951 to CompleteParseASTTest
Index: plugin.xml
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core.tests/plugin.xml,v
retrieving revision 1.16
diff -u -r1.16 plugin.xml
--- plugin.xml 1 Oct 2003 20:21:43 -0000 1.16
+++ plugin.xml 1 Oct 2003 23:36:16 -0000
@@ -40,6 +40,7 @@
makeFlags="-k"
osList="win32">
<tool
+ natureFilter="cnature"
sources="foo,bar"
name="Root Tool"
headerExtensions="baz"
@@ -159,6 +160,7 @@
id="sub.config">
</configuration>
<tool
+ natureFilter="both"
sources="yarf"
name="Sub Tool"
headerExtensions="arf,barf"
@@ -202,7 +204,7 @@
</listOptionValue>
<listOptionValue
value=""../includes""
- builIn="false">
+ builtIn="false">
</listOptionValue>
</option>
<option
Index: build/org/eclipse/cdt/core/build/managed/tests/ManagedBuildTests.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core.tests/build/org/eclipse/cdt/core/build/managed/tests/ManagedBuildTests.java,v
retrieving revision 1.13
diff -u -r1.13 ManagedBuildTests.java
--- build/org/eclipse/cdt/core/build/managed/tests/ManagedBuildTests.java 1 Oct 2003 17:10:20 -0000 1.13
+++ build/org/eclipse/cdt/core/build/managed/tests/ManagedBuildTests.java 1 Oct 2003 23:36:16 -0000
@@ -286,11 +286,8 @@
*
*/
public void testConfigurations() throws CoreException, BuildException {
- String rootConfigId = "test.root.1.0";
String rootName = "Root Config";
- String overrideConfigId = "test.root.1.1";
String overrideName = "Root Override Config";
- String completeOverrideConfigId = "test.root.1.2";
String completeOverrideName = "Complete Override Config";
// Open the test project
@@ -303,11 +300,8 @@
IConfiguration[] definedConfigs = rootTarget.getConfigurations();
assertEquals(3, definedConfigs.length);
IConfiguration baseConfig = definedConfigs[0];
- assertEquals(definedConfigs[0].getId(), rootConfigId);
assertEquals(definedConfigs[0].getName(), rootName);
- assertEquals(definedConfigs[1].getId(), overrideConfigId);
assertEquals(definedConfigs[1].getName(), overrideName);
- assertEquals(definedConfigs[2].getId(), completeOverrideConfigId);
assertEquals(definedConfigs[2].getName(), completeOverrideName);
// Create a new configuration and test the rename function
@@ -355,9 +349,7 @@
rootTarget.removeConfiguration(testConfigId);
definedConfigs = rootTarget.getConfigurations();
assertEquals(3, definedConfigs.length);
- assertEquals(definedConfigs[0].getId(), rootConfigId);
assertEquals(definedConfigs[0].getName(), rootName);
- assertEquals(definedConfigs[1].getId(), overrideConfigId);
assertEquals(definedConfigs[1].getName(), overrideName);
}
@@ -522,10 +514,8 @@
// There should be a default configuration defined for the project
ITarget buildTarget = info.getDefaultTarget();
assertNotNull(buildTarget);
- assertEquals(buildTarget.getId(), "test.root.1");
IConfiguration buildConfig = info.getDefaultConfiguration(buildTarget);
assertNotNull(buildConfig);
- assertEquals(buildConfig.getId(), "test.root.1.0");
// The default target should be the same as the one-and-only target in the project
List targets = info.getTargets();
@@ -705,7 +695,8 @@
// The root tool defines one valid header file extension
assertTrue(rootTool.isHeaderFile("baz"));
assertTrue(tools[0].isHeaderFile("baz"));
-
+ assertEquals(ITool.FILTER_C, rootTool.getNatureFilter());
+
// Partially Overriden Configuration
assertEquals("Root Override Config", configs[1].getName());
tools = configs[1].getTools();
@@ -834,7 +825,8 @@
assertEquals("lib", subTool.getOutputPrefix());
assertTrue(subTool.isHeaderFile("arf"));
assertTrue(subTool.isHeaderFile("barf"));
-
+ assertEquals(ITool.FILTER_BOTH, subTool.getNatureFilter());
+
// Do a sanity check on the options
assertEquals("Include Paths", subOpts[0].getName());
assertEquals(IOption.INCLUDE_PATH, subOpts[0].getValueType());
Index: ChangeLog
===================================================================
RCS file: /home/tools/org.eclipse.cdt.managedbuilder.core/ChangeLog,v
retrieving revision 1.11
diff -u -r1.11 ChangeLog
--- ChangeLog 1 Oct 2003 14:25:35 -0000 1.11
+++ ChangeLog 1 Oct 2003 23:36:37 -0000
@@ -1,3 +1,30 @@
+2003-10-01 Sean Evoy
+ Fix for bugs 43490 (trivial), 44020, and 43980.
+ Added a new field to the schema for a tool. The attribute manages a list of
+ project natures that the tool should be filtered against in the build model
+ and UI.
+ * schema/ManagedBuildTools.exsd
+
+ Updated the ITool interface and its mplementors to pay attention to this new
+ attribute when loading from a plugin file. Clients can querry for a numeric
+ constant indicating the filter.
+ * src/org/eclipse/cdt/managedbuilder/core/ITool.java
+ * src/org/eclipse/cdt/managedbuilder/internal/core/Tool.java
+ * src/org/eclipse/cdt/managedbuilder/internal/core/ToolReference.java
+
+ All the methods in managed build manager that access information stored in a tool
+ first check that the tool is valid for the project nature.
+ * src/org/eclipse/cdt/managedbuilder/internal/core/ManagedBuildInfo.java
+
+ Put a safety check in the option reference constructor when reading one in from
+ a project file. I the option reference is to an option not managed by the build
+ model, the constructor does not add itself to the runtime representation of the
+ model.
+ * src/org/eclipse/cdt/managedbuilder/internal/core/OptionReference.java
+
+ In preparation for 44020, each new target created is assigned a truly random ID.
+ * src/org/eclipse/cdt/managedbuilder/internal/core/Target.java
+
2003-09-30 Sean Evoy
Fix for bug 41826.
Index: schema/ManagedBuildTools.exsd
===================================================================
RCS file: /home/tools/org.eclipse.cdt.managedbuilder.core/schema/ManagedBuildTools.exsd,v
retrieving revision 1.5
diff -u -r1.5 ManagedBuildTools.exsd
--- schema/ManagedBuildTools.exsd 1 Oct 2003 14:25:35 -0000 1.5
+++ schema/ManagedBuildTools.exsd 1 Oct 2003 23:36:37 -0000
@@ -118,6 +118,23 @@
</documentation>
</annotation>
</attribute>
+ <attribute name="natureFilter" use="required">
+ <annotation>
+ <documentation>
+ Filter the display (and use) of the tool by the nature of the project. Selecting a value of 'cnature' insures that the tool will be displayed IFF there is a cnature associated with the project. A ccnature will filter this tool out. If 'ccnature' is selected, the tool will only be available for C++ projects. If 'both' is selected, the tool will be displayed when either nature is present.
+ </documentation>
+ </annotation>
+ <simpleType>
+ <restriction base="string">
+ <enumeration value="cnature">
+ </enumeration>
+ <enumeration value="ccnature">
+ </enumeration>
+ <enumeration value="both">
+ </enumeration>
+ </restriction>
+ </simpleType>
+ </attribute>
</complexType>
</element>
Index: src/org/eclipse/cdt/managedbuilder/core/ITool.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/ITool.java,v
retrieving revision 1.2
diff -u -r1.2 ITool.java
--- src/org/eclipse/cdt/managedbuilder/core/ITool.java 1 Oct 2003 14:25:35 -0000 1.2
+++ src/org/eclipse/cdt/managedbuilder/core/ITool.java 1 Oct 2003 23:36:37 -0000
@@ -15,8 +15,9 @@
*/
public interface ITool extends IBuildObject {
// Schema element names
- public static final String TOOL_ELEMENT_NAME = "tool"; //$NON-NLS-1$
public static final String COMMAND = "command"; //$NON-NLS-1$
+ public static final String INTERFACE_EXTS = "headerExtensions"; //$NON-NLS-1$
+ public static final String NATURE = "natureFilter"; //$NON-NLS-1$
public static final String OPTION = "option"; //$NON-NLS-1$
public static final String OPTION_CAT = "optionCategory"; //$NON-NLS-1$
public static final String OPTION_REF = "optionReference"; //$NON-NLS-1$
@@ -24,8 +25,12 @@
public static final String OUTPUT_PREFIX = "outputPrefix"; //$NON-NLS-1$
public static final String OUTPUTS = "outputs"; //$NON-NLS-1$
public static final String SOURCES = "sources"; //$NON-NLS-1$
- public static final String INTERFACE_EXTS = "headerExtensions"; //$NON-NLS-1$
+ public static final String TOOL_ELEMENT_NAME = "tool"; //$NON-NLS-1$
public static final String WHITE_SPACE = " "; //$NON-NLS-1$
+
+ public static final int FILTER_C = 0;
+ public static final int FILTER_CC = 1;
+ public static final int FILTER_BOTH = 2;
/**
* Return <code>true</code> if the receiver builds files with the
@@ -35,6 +40,25 @@
* @return boolean
*/
public boolean buildsFileType(String extension);
+
+ /**
+ * Answers a constant corresponding to the project nature the tool should be used
+ * for. Possible answers are:
+ *
+ * <dl>
+ * <dt>ITool.FILTER_C
+ * <dd>The tool should only be displayed for C projects. <i>Notes:</i> even
+ * though a C++ project has a C nature, this flag will mask the tool for C++
+ * projects.
+ * <dt>ITool.FILTER_CC
+ * <dd>The tool should only be displayed for C++ projects.
+ * <dt>ITool.FILTER_BOTH
+ * <dd>The tool should be displayed for projects with both natures.
+ * </dl>
+ *
+ * @return int
+ */
+ public int getNatureFilter();
/**
* Get a particular option.
Index: src/org/eclipse/cdt/managedbuilder/internal/core/Configuration.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/Configuration.java,v
retrieving revision 1.3
diff -u -r1.3 Configuration.java
--- src/org/eclipse/cdt/managedbuilder/internal/core/Configuration.java 29 Sep 2003 01:42:26 -0000 1.3
+++ src/org/eclipse/cdt/managedbuilder/internal/core/Configuration.java 1 Oct 2003 23:36:37 -0000
@@ -15,12 +15,16 @@
import java.util.Iterator;
import java.util.List;
+import org.eclipse.cdt.core.CCProjectNature;
+import org.eclipse.cdt.core.CProjectNature;
import org.eclipse.cdt.managedbuilder.core.BuildException;
import org.eclipse.cdt.managedbuilder.core.IConfiguration;
import org.eclipse.cdt.managedbuilder.core.IOption;
import org.eclipse.cdt.managedbuilder.core.ITarget;
import org.eclipse.cdt.managedbuilder.core.ITool;
+import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IConfigurationElement;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
@@ -189,8 +193,50 @@
? parent.getTools()
: target.getTools();
+ // Validate that the tools correspond to the nature
+ IProject project = (IProject)target.getOwner();
+ if (project != null) {
+ List validTools = new ArrayList();
+
+ // The target is associated with a real project
+ for (int i = 0; i < tools.length; ++i) {
+ ITool tool = tools[i];
+ // Make sure the tool filter and project nature agree
+ switch (tool.getNatureFilter()) {
+ case ITool.FILTER_C:
+ try {
+ if (project.hasNature(CProjectNature.C_NATURE_ID) && !project.hasNature(CCProjectNature.CC_NATURE_ID)) {
+ validTools.add(tool);
+ }
+ } catch (CoreException e) {
+ continue;
+ }
+ break;
+ case ITool.FILTER_CC:
+ try {
+ if (project.hasNature(CCProjectNature.CC_NATURE_ID)) {
+ validTools.add(tool);
+ }
+ } catch (CoreException e) {
+ continue;
+ }
+ break;
+ case ITool.FILTER_BOTH:
+ validTools.add(tool);
+ break;
+ }
+ }
+ // Now put the valid tools back into the array
+ tools = (ITool[]) validTools.toArray(new ITool[validTools.size()]);
+ }
+
// Replace tools with local overrides
for (int i = 0; i < tools.length; ++i) {
+ ITool tool = tools[i];
+ if (tool == null) {
+ // May have been filtered out
+ continue;
+ }
ToolReference ref = getToolReference(tools[i]);
if (ref != null)
tools[i] = ref;
Index: src/org/eclipse/cdt/managedbuilder/internal/core/ManagedBuildInfo.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/ManagedBuildInfo.java,v
retrieving revision 1.6
diff -u -r1.6 ManagedBuildInfo.java
--- src/org/eclipse/cdt/managedbuilder/internal/core/ManagedBuildInfo.java 1 Oct 2003 14:25:35 -0000 1.6
+++ src/org/eclipse/cdt/managedbuilder/internal/core/ManagedBuildInfo.java 1 Oct 2003 23:36:37 -0000
@@ -25,8 +25,12 @@
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.core.CCProjectNature;
+import org.eclipse.cdt.core.CProjectNature;
import org.eclipse.cdt.core.parser.IScannerInfo;
+import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.Path;
import org.w3c.dom.Document;
@@ -34,7 +38,8 @@
import org.w3c.dom.Node;
public class ManagedBuildInfo implements IManagedBuildInfo, IScannerInfo {
-
+
+ // Local variables
private boolean isDirty;
private IResource owner;
private Map targetMap;
@@ -97,13 +102,32 @@
* @see org.eclipse.cdt.core.build.managed.IManagedBuildInfo#buildsFileType(java.lang.String)
*/
public boolean buildsFileType(String srcExt) {
+ // Make sure the owner is treated as a project for the duration
+ IProject project = (IProject)owner;
+
// Check to see if there is a rule to build a file with this extension
IConfiguration config = getDefaultConfiguration(getDefaultTarget());
ITool[] tools = config.getTools();
for (int index = 0; index < tools.length; index++) {
ITool tool = tools[index];
- if (tool.buildsFileType(srcExt)) {
- return true;
+ try {
+ // Make sure the tool is right for the project
+ switch (tool.getNatureFilter()) {
+ case ITool.FILTER_C:
+ if (project.hasNature(CProjectNature.C_NATURE_ID) && !project.hasNature(CCProjectNature.CC_NATURE_ID)) {
+ return tool.buildsFileType(srcExt);
+ }
+ break;
+ case ITool.FILTER_CC:
+ if (project.hasNature(CCProjectNature.CC_NATURE_ID)) {
+ return tool.buildsFileType(srcExt);
+ }
+ break;
+ case ITool.FILTER_BOTH:
+ return tool.buildsFileType(srcExt);
+ }
+ } catch (CoreException e) {
+ continue;
}
}
return false;
@@ -183,12 +207,33 @@
* @see org.eclipse.cdt.core.build.managed.IScannerInfo#getDefinedSymbols()
*/
public Map getDefinedSymbols() {
+ IProject project = (IProject)owner;
// Return the defined symbols for the default configuration
HashMap symbols = new HashMap();
IConfiguration config = getDefaultConfiguration(getDefaultTarget());
ITool[] tools = config.getTools();
for (int i = 0; i < tools.length; i++) {
ITool tool = tools[i];
+ try {
+ // Make sure the tool is right for the project
+ switch (tool.getNatureFilter()) {
+ case ITool.FILTER_C:
+ if (!project.hasNature(CProjectNature.C_NATURE_ID) || project.hasNature(CCProjectNature.CC_NATURE_ID)) {
+ continue;
+ }
+ break;
+ case ITool.FILTER_CC:
+ if (!project.hasNature(CCProjectNature.CC_NATURE_ID)) {
+ continue;
+ }
+ break;
+ case ITool.FILTER_BOTH:
+ break;
+ }
+ } catch (CoreException e) {
+ continue;
+ }
+ // Now extract the valid tool's options
IOption[] opts = tool.getOptions();
for (int j = 0; j < opts.length; j++) {
IOption option = opts[j];
@@ -229,20 +274,36 @@
* @see org.eclipse.cdt.core.build.managed.IManagedBuildInfo#getFlagsForSource(java.lang.String)
*/
public String getFlagsForSource(String extension) {
+ IProject project = (IProject)owner;
+
// Get all the tools for the current config
IConfiguration config = getDefaultConfiguration(getDefaultTarget());
ITool[] tools = config.getTools();
for (int index = 0; index < tools.length; index++) {
ITool tool = tools[index];
if (tool.buildsFileType(extension)) {
- String flags = new String();
try {
- flags = tool.getToolFlags();
+ // Make sure the tool is right for the project
+ switch (tool.getNatureFilter()) {
+ case ITool.FILTER_C:
+ if (project.hasNature(CProjectNature.C_NATURE_ID) && !project.hasNature(CCProjectNature.CC_NATURE_ID)) {
+ return tool.getToolFlags();
+ }
+ break;
+ case ITool.FILTER_CC:
+ if (project.hasNature(CCProjectNature.CC_NATURE_ID)) {
+ return tool.getToolFlags();
+ }
+ break;
+ case ITool.FILTER_BOTH:
+ return tool.getToolFlags();
+ }
+ } catch (CoreException e) {
+ continue;
} catch (BuildException e) {
// Give it your best shot with the next tool
continue;
}
- return flags;
}
}
return null;
@@ -252,8 +313,9 @@
* @see org.eclipse.cdt.core.build.managed.IManagedBuildInfo#getToolFlags(java.lang.String)
*/
public String getFlagsForTarget(String extension) {
+ IProject project = (IProject)owner;
// Treat null extensions as an empty string
- String ext = extension == null ? new String() : extension;
+ String ext = extension == null ? new String() : extension;
// Get all the tools for the current config
IConfiguration config = getDefaultConfiguration(getDefaultTarget());
@@ -261,14 +323,28 @@
for (int index = 0; index < tools.length; index++) {
ITool tool = tools[index];
if (tool.producesFileType(ext)) {
- String flags = new String();
try {
- flags = tool.getToolFlags();
+ // Make sure the tool is right for the project
+ switch (tool.getNatureFilter()) {
+ case ITool.FILTER_C:
+ if (project.hasNature(CProjectNature.C_NATURE_ID) && !project.hasNature(CCProjectNature.CC_NATURE_ID)) {
+ return tool.getToolFlags();
+ }
+ break;
+ case ITool.FILTER_CC:
+ if (project.hasNature(CCProjectNature.CC_NATURE_ID)) {
+ return tool.getToolFlags();
+ }
+ break;
+ case ITool.FILTER_BOTH:
+ return tool.getToolFlags();
+ }
+ } catch (CoreException e) {
+ continue;
} catch (BuildException e) {
- // Somehow the model is out of sync for this item. Keep iterating
+ // Give it your best shot with the next tool
continue;
}
- return flags;
}
}
return null;
@@ -278,6 +354,8 @@
* @see org.eclipse.cdt.core.build.managed.IScannerInfo#getIncludePaths()
*/
public String[] getIncludePaths() {
+ IProject project = (IProject)owner;
+
// Return the include paths for the default configuration
ArrayList paths = new ArrayList();
IConfiguration config = getDefaultConfiguration(getDefaultTarget());
@@ -285,6 +363,26 @@
ITool[] tools = config.getTools();
for (int i = 0; i < tools.length; i++) {
ITool tool = tools[i];
+ try {
+ // Make sure the tool is right for the project
+ switch (tool.getNatureFilter()) {
+ case ITool.FILTER_C:
+ if (!project.hasNature(CProjectNature.C_NATURE_ID) || project.hasNature(CCProjectNature.CC_NATURE_ID)) {
+ continue;
+ }
+ break;
+ case ITool.FILTER_CC:
+ if (!project.hasNature(CCProjectNature.CC_NATURE_ID)) {
+ continue;
+ }
+ break;
+ case ITool.FILTER_BOTH:
+ break;
+ }
+ } catch (CoreException e) {
+ continue;
+ }
+ // The tool checks out for this project, get its options
IOption[] opts = tool.getOptions();
for (int j = 0; j < opts.length; j++) {
IOption option = opts[j];
@@ -318,12 +416,34 @@
* @see org.eclipse.cdt.core.build.managed.IManagedBuildInfo#getLibsForTarget(java.lang.String)
*/
public String[] getLibsForTarget(String extension) {
+ IProject project = (IProject)owner;
+
ArrayList libs = new ArrayList();
// Get all the tools for the current config
IConfiguration config = getDefaultConfiguration(getDefaultTarget());
ITool[] tools = config.getTools();
for (int index = 0; index < tools.length; index++) {
ITool tool = tools[index];
+ try {
+ // Make sure the tool is right for the project
+ switch (tool.getNatureFilter()) {
+ case ITool.FILTER_C:
+ if (!project.hasNature(CProjectNature.C_NATURE_ID) || project.hasNature(CCProjectNature.CC_NATURE_ID)) {
+ continue;
+ }
+ break;
+ case ITool.FILTER_CC:
+ if (!project.hasNature(CCProjectNature.CC_NATURE_ID)) {
+ continue;
+ }
+ break;
+ case ITool.FILTER_BOTH:
+ break;
+ }
+ } catch (CoreException e) {
+ continue;
+ }
+ // The tool is OK for this project nature
if (tool.producesFileType(extension)) {
IOption[] opts = tool.getOptions();
// Look for the lib option type
@@ -398,14 +518,30 @@
* @see org.eclipse.cdt.core.build.managed.IManagedBuildInfo#getOutputExtension(java.lang.String)
*/
public String getOutputExtension(String resourceExtension) {
+ IProject project = (IProject)owner;
// Get all the tools for the current config
IConfiguration config = getDefaultConfiguration(getDefaultTarget());
ITool[] tools = config.getTools();
for (int index = 0; index < tools.length; index++) {
ITool tool = tools[index];
- String output = tool.getOutputExtension(resourceExtension);
- if (output != null) {
- return output;
+ try {
+ // Make sure the tool is right for the project
+ switch (tool.getNatureFilter()) {
+ case ITool.FILTER_C:
+ if (project.hasNature(CProjectNature.C_NATURE_ID) && !project.hasNature(CCProjectNature.CC_NATURE_ID)) {
+ return tool.getOutputExtension(resourceExtension);
+ }
+ break;
+ case ITool.FILTER_CC:
+ if (project.hasNature(CCProjectNature.CC_NATURE_ID)) {
+ return tool.getOutputExtension(resourceExtension);
+ }
+ break;
+ case ITool.FILTER_BOTH:
+ return tool.getOutputExtension(resourceExtension);
+ }
+ } catch (CoreException e) {
+ continue;
}
}
return null;
@@ -415,6 +551,7 @@
* @see org.eclipse.cdt.core.build.managed.IManagedBuildInfo#getOutputFlag()
*/
public String getOutputFlag(String outputExt) {
+ IProject project = (IProject)owner;
// Treat null extension as an empty string
String ext = outputExt == null ? new String() : outputExt;
@@ -424,6 +561,26 @@
ITool[] tools = config.getTools();
for (int index = 0; index < tools.length; index++) {
ITool tool = tools[index];
+ try {
+ // Make sure the tool is right for the project
+ switch (tool.getNatureFilter()) {
+ case ITool.FILTER_C:
+ if (!project.hasNature(CProjectNature.C_NATURE_ID) || project.hasNature(CCProjectNature.CC_NATURE_ID)) {
+ continue;
+ }
+ break;
+ case ITool.FILTER_CC:
+ if (!project.hasNature(CCProjectNature.CC_NATURE_ID)) {
+ continue;
+ }
+ break;
+ case ITool.FILTER_BOTH:
+ break;
+ }
+ } catch (CoreException e) {
+ continue;
+ }
+ // It's OK
if (tool.producesFileType(ext)) {
flags = tool.getOutputFlag();
}
@@ -435,6 +592,7 @@
* @see org.eclipse.cdt.core.build.managed.IManagedBuildInfo#getOutputPrefix(java.lang.String)
*/
public String getOutputPrefix(String outputExtension) {
+ IProject project = (IProject)owner;
// Treat null extensions as empty string
String ext = outputExtension == null ? new String() : outputExtension;
@@ -444,6 +602,25 @@
ITool[] tools = config.getTools();
for (int index = 0; index < tools.length; index++) {
ITool tool = tools[index];
+ try {
+ // Make sure the tool is right for the project
+ switch (tool.getNatureFilter()) {
+ case ITool.FILTER_C:
+ if (!project.hasNature(CProjectNature.C_NATURE_ID) || project.hasNature(CCProjectNature.CC_NATURE_ID)) {
+ continue;
+ }
+ break;
+ case ITool.FILTER_CC:
+ if (!project.hasNature(CCProjectNature.CC_NATURE_ID)) {
+ continue;
+ }
+ break;
+ case ITool.FILTER_BOTH:
+ break;
+ }
+ } catch (CoreException e) {
+ continue;
+ }
if (tool.producesFileType(ext)) {
flags = tool.getOutputPrefix();
}
@@ -473,13 +650,33 @@
* @see org.eclipse.cdt.core.build.managed.IManagedBuildInfo#getToolForSource(java.lang.String)
*/
public String getToolForSource(String extension) {
+ IProject project = (IProject)owner;
+
// Get all the tools for the current config
IConfiguration config = getDefaultConfiguration(getDefaultTarget());
ITool[] tools = config.getTools();
for (int index = 0; index < tools.length; index++) {
ITool tool = tools[index];
if (tool.buildsFileType(extension)) {
- return tool.getToolCommand();
+ try {
+ // Make sure the tool is right for the project
+ switch (tool.getNatureFilter()) {
+ case ITool.FILTER_C:
+ if (project.hasNature(CProjectNature.C_NATURE_ID) && !project.hasNature(CCProjectNature.CC_NATURE_ID)) {
+ return tool.getToolCommand();
+ }
+ break;
+ case ITool.FILTER_CC:
+ if (project.hasNature(CCProjectNature.CC_NATURE_ID)) {
+ return tool.getToolCommand();
+ }
+ break;
+ case ITool.FILTER_BOTH:
+ return tool.getToolCommand();
+ }
+ } catch (CoreException e) {
+ continue;
+ }
}
}
return null;
@@ -489,6 +686,8 @@
* @see org.eclipse.cdt.core.build.managed.IManagedBuildInfo#getToolInvocation(java.lang.String)
*/
public String getToolForTarget(String extension) {
+ IProject project = (IProject)owner;
+
// Treat a null argument as an empty string
String ext = extension == null ? new String() : extension;
// Get all the tools for the current config
@@ -497,7 +696,25 @@
for (int index = 0; index < tools.length; index++) {
ITool tool = tools[index];
if (tool.producesFileType(ext)) {
- return tool.getToolCommand();
+ try {
+ // Make sure the tool is right for the project
+ switch (tool.getNatureFilter()) {
+ case ITool.FILTER_C:
+ if (project.hasNature(CProjectNature.C_NATURE_ID) && !project.hasNature(CCProjectNature.CC_NATURE_ID)) {
+ return tool.getToolCommand();
+ }
+ break;
+ case ITool.FILTER_CC:
+ if (project.hasNature(CCProjectNature.CC_NATURE_ID)) {
+ return tool.getToolCommand();
+ }
+ break;
+ case ITool.FILTER_BOTH:
+ return tool.getToolCommand();
+ }
+ } catch (CoreException e) {
+ continue;
+ }
}
}
return null;
@@ -507,12 +724,33 @@
* @see org.eclipse.cdt.managedbuilder.core.IManagedBuildInfo#getUserObjectsForTarget(java.lang.String)
*/
public String[] getUserObjectsForTarget(String extension) {
+ IProject project = (IProject)owner;
ArrayList objs = new ArrayList();
// Get all the tools for the current config
IConfiguration config = getDefaultConfiguration(getDefaultTarget());
ITool[] tools = config.getTools();
for (int index = 0; index < tools.length; index++) {
ITool tool = tools[index];
+ try {
+ // Make sure the tool is right for the project
+ switch (tool.getNatureFilter()) {
+ case ITool.FILTER_C:
+ if (!project.hasNature(CProjectNature.C_NATURE_ID) || project.hasNature(CCProjectNature.CC_NATURE_ID)) {
+ continue;
+ }
+ break;
+ case ITool.FILTER_CC:
+ if (!project.hasNature(CCProjectNature.CC_NATURE_ID)) {
+ continue;
+ }
+ break;
+ case ITool.FILTER_BOTH:
+ break;
+ }
+ } catch (CoreException e) {
+ continue;
+ }
+ // The tool is OK for this project nature
if (tool.producesFileType(extension)) {
IOption[] opts = tool.getOptions();
// Look for the user object option type
@@ -543,13 +781,31 @@
* @see org.eclipse.cdt.managedbuilder.core.IManagedBuildInfo#isHeaderFile(java.lang.String)
*/
public boolean isHeaderFile(String ext) {
+ IProject project = (IProject)owner;
+
// Check to see if there is a rule to build a file with this extension
IConfiguration config = getDefaultConfiguration(getDefaultTarget());
ITool[] tools = config.getTools();
for (int index = 0; index < tools.length; index++) {
ITool tool = tools[index];
- if (tool.isHeaderFile(ext)) {
- return true;
+ try {
+ // Make sure the tool is right for the project
+ switch (tool.getNatureFilter()) {
+ case ITool.FILTER_C:
+ if (project.hasNature(CProjectNature.C_NATURE_ID) && !project.hasNature(CCProjectNature.CC_NATURE_ID)) {
+ return tool.isHeaderFile(ext);
+ }
+ break;
+ case ITool.FILTER_CC:
+ if (project.hasNature(CCProjectNature.CC_NATURE_ID)) {
+ return tool.isHeaderFile(ext);
+ }
+ break;
+ case ITool.FILTER_BOTH:
+ return tool.isHeaderFile(ext);
+ }
+ } catch (CoreException e) {
+ continue;
}
}
return false;
Index: src/org/eclipse/cdt/managedbuilder/internal/core/OptionReference.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/OptionReference.java,v
retrieving revision 1.3
diff -u -r1.3 OptionReference.java
--- src/org/eclipse/cdt/managedbuilder/internal/core/OptionReference.java 26 Sep 2003 19:54:24 -0000 1.3
+++ src/org/eclipse/cdt/managedbuilder/internal/core/OptionReference.java 1 Oct 2003 23:36:38 -0000
@@ -120,6 +120,12 @@
this.owner = owner;
option = owner.getTool().getOption(element.getAttribute(ID));
+ // Bail now if there's no option for the reference
+ if (option == null) {
+ return;
+ }
+
+ // Hook the reference up
owner.addOptionReference(this);
// value
Index: src/org/eclipse/cdt/managedbuilder/internal/core/Target.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/Target.java,v
retrieving revision 1.4
diff -u -r1.4 Target.java
--- src/org/eclipse/cdt/managedbuilder/internal/core/Target.java 26 Sep 2003 00:20:12 -0000 1.4
+++ src/org/eclipse/cdt/managedbuilder/internal/core/Target.java 1 Oct 2003 23:36:38 -0000
@@ -16,6 +16,7 @@
import java.util.Iterator;
import java.util.List;
import java.util.Map;
+import java.util.Random;
import java.util.StringTokenizer;
import org.eclipse.cdt.managedbuilder.core.IConfiguration;
@@ -66,7 +67,13 @@
// Copy the parent's identity
this.parent = parent;
- setId(parent.getId() + ".1");
+ Random r = new Random();
+ r.setSeed(System.currentTimeMillis());
+ int id = r.nextInt();
+ if (id < 0) {
+ id *= -1;
+ }
+ setId(owner.getName() + "." + parent.getId() + "." + id);
setName(parent.getName());
this.artifactName = parent.getArtifactName();
this.binaryParserId = parent.getBinaryParserId();
Index: src/org/eclipse/cdt/managedbuilder/internal/core/Tool.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/Tool.java,v
retrieving revision 1.3
diff -u -r1.3 Tool.java
--- src/org/eclipse/cdt/managedbuilder/internal/core/Tool.java 1 Oct 2003 14:25:35 -0000 1.3
+++ src/org/eclipse/cdt/managedbuilder/internal/core/Tool.java 1 Oct 2003 23:36:38 -0000
@@ -41,6 +41,7 @@
private String command;
private List inputExtensions;
private List interfaceExtensions;
+ private int natureFilter;
private Map optionMap;
private List options;
private String outputExtension;
@@ -71,6 +72,18 @@
// name
setName(element.getAttribute(ITool.NAME));
+ // Get the nature filter
+ String nature = element.getAttribute(NATURE);
+ if (nature == null || "both".equals(nature)) {
+ natureFilter = FILTER_BOTH;
+ } else if ("cnature".equals(nature)) {
+ natureFilter = FILTER_C;
+ } else if ("ccnature".equals(nature)) {
+ natureFilter = FILTER_CC;
+ } else {
+ natureFilter = FILTER_BOTH;
+ }
+
// Get the supported input file extension
String inputs = element.getAttribute(ITool.SOURCES) == null ?
new String() :
@@ -348,6 +361,13 @@
myOptions.trimToSize();
return (IOption[])myOptions.toArray(new IOption[myOptions.size()]);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.cdt.managedbuilder.core.ITool#getNatureFilter()
+ */
+ public int getNatureFilter() {
+ return natureFilter;
}
/* (non-Javadoc)
Index: src/org/eclipse/cdt/managedbuilder/internal/core/ToolReference.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/ToolReference.java,v
retrieving revision 1.3
diff -u -r1.3 ToolReference.java
--- src/org/eclipse/cdt/managedbuilder/internal/core/ToolReference.java 1 Oct 2003 14:25:35 -0000 1.3
+++ src/org/eclipse/cdt/managedbuilder/internal/core/ToolReference.java 1 Oct 2003 23:36:38 -0000
@@ -232,6 +232,7 @@
* @see org.eclipse.cdt.core.build.managed.ITool#getOutputFlag()
*/
public String getOutputFlag() {
+ // The tool reference does not override this value
return parent.getOutputFlag();
}
@@ -239,6 +240,7 @@
* @see org.eclipse.cdt.core.build.managed.ITool#getOutputPrefix()
*/
public String getOutputPrefix() {
+ // The tool reference does not override this value
return parent.getOutputPrefix();
}
@@ -253,6 +255,7 @@
* @see org.eclipse.cdt.core.build.managed.ITool#getTopOptionCategory()
*/
public IOptionCategory getTopOptionCategory() {
+ // The tool reference does not override this value
return parent.getTopOptionCategory();
}
@@ -260,6 +263,7 @@
* @see org.eclipse.cdt.managedbuilder.core.ITool#isHeaderFile(java.lang.String)
*/
public boolean isHeaderFile(String ext) {
+ // The tool reference does not override this value
return parent.isHeaderFile(ext);
}
@@ -267,6 +271,7 @@
* @see org.eclipse.cdt.core.build.managed.ITool#producesFileType(java.lang.String)
*/
public boolean producesFileType(String outputExtension) {
+ // The tool reference does not override this value
return parent.producesFileType(outputExtension);
}
@@ -279,6 +284,7 @@
* @see org.eclipse.cdt.core.build.managed.IBuildObject#getId()
*/
public String getId() {
+ // The tool reference does not override this value
return parent.getId();
}
@@ -286,23 +292,17 @@
* @see org.eclipse.cdt.core.build.managed.IBuildObject#getName()
*/
public String getName() {
+ // The tool reference does not override this value
return parent.getName();
}
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.build.managed.IBuildObject#setId(java.lang.String)
- */
- public void setId(String id) {
- // Not allowed
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.cdt.core.build.managed.IBuildObject#setName(java.lang.String)
+ /**
+ * Answers <code>true</code> if the reference is a reference to the
+ * tool specified in the argument.
+ *
+ * @param target the tool that should be tested
+ * @return boolean
*/
- public void setName(String name) {
- // Not allowed
- }
-
public boolean references(ITool target) {
if (equals(target)) {
// we are the target
@@ -367,10 +367,19 @@
* @see org.eclipse.cdt.core.build.managed.ITool#handlesFileType(java.lang.String)
*/
public boolean buildsFileType(String extension) {
+ // The tool reference does not override this value
return parent.buildsFileType(extension);
}
/* (non-Javadoc)
+ * @see org.eclipse.cdt.managedbuilder.core.ITool#getNatureFilter()
+ */
+ public int getNatureFilter() {
+ // The tool reference does not override this value
+ return parent.getNatureFilter();
+ }
+
+ /* (non-Javadoc)
* @see org.eclipse.cdt.core.build.managed.ITool#getOption(java.lang.String)
*/
public IOption getOption(String id) {
@@ -382,6 +391,7 @@
* @see org.eclipse.cdt.core.build.managed.ITool#getOutput(java.lang.String)
*/
public String getOutputExtension(String inputExtension) {
+ // The tool reference does not override this value
return parent.getOutputExtension(inputExtension);
}
Index: ChangeLog
===================================================================
RCS file: /home/tools/org.eclipse.cdt.managedbuilder.ui/ChangeLog,v
retrieving revision 1.7
diff -u -r1.7 ChangeLog
--- ChangeLog 1 Oct 2003 14:25:31 -0000 1.7
+++ ChangeLog 1 Oct 2003 23:36:58 -0000
@@ -1,3 +1,19 @@
+2003-10-01 Sean Evoy
+ Fix for bugs 43490 (trivial), 44020, and 43980.
+ A massive change has occurred in the plugin file. I added new C tools that apply
+ only to projects with C natures. I also added option overrides in the default
+ configurations for these new tools. The trivial fix for the new C project wizard
+ involved changing the icon entry in the plugin file.
+ * plugin.xml
+
+ In preparation for 44020, each new configuration created is assigned a truly
+ random ID.
+ * src/org/eclipse/cdt/managedbuilder/ui/wizards/NewManagedProjectWizard.java
+ * src/org/eclipse/cdt/managedbuilder/ui/properties/BuildPropertyPage.java
+
+ Removed a tooltip that was not being populated properly.
+ * src/org/eclipse/cdt/managedbuilder/ui/wizards/CProjectPlatformPage.java
+
2003-09-30 Sean Evoy
Fix for bug 41826.
Index: plugin.properties
===================================================================
RCS file: /home/tools/org.eclipse.cdt.managedbuilder.ui/plugin.properties,v
retrieving revision 1.4
diff -u -r1.4 plugin.properties
--- plugin.properties 26 Sep 2003 19:54:33 -0000 1.4
+++ plugin.properties 1 Oct 2003 23:36:58 -0000
@@ -11,9 +11,11 @@
ConfigName.Rel=Release
ConfigName.Dbg=Debug
ToolName.preprocessor = Preprocessor
-ToolName.compiler = Compiler
+ToolName.compiler.c = C Compiler
+ToolName.compiler.cpp = C++ Compiler
ToolName.archiver = Archiver
-ToolName.linker = Linker
+ToolName.linker.c = C Linker
+ToolName.linker.cpp = C++ Linker
OptionCategory.Preproc = Preprocessor
OptionCategory.Dirs = Directories
OptionCategory.General = General
@@ -36,6 +38,7 @@
Option.Posix.Verbose=Verbose (-v)
Option.OtherFlags=Other flags
+Option.Posix.Ansi=Support ANSI programs (-ansi)
Option.Posix.Linker.NoStartFiles=Do not use standard start files (-nostartfiles)
Option.Posix.Linker.NoDefLibs=Do not use default libraries (-nodefaultlibs)
Index: plugin.xml
===================================================================
RCS file: /home/tools/org.eclipse.cdt.managedbuilder.ui/plugin.xml,v
retrieving revision 1.9
diff -u -r1.9 plugin.xml
--- plugin.xml 1 Oct 2003 20:21:51 -0000 1.9
+++ plugin.xml 1 Oct 2003 23:36:59 -0000
@@ -37,7 +37,7 @@
</wizard>
<wizard
name="%MngCWizard.name"
- icon="icons/full/wizban/newmngcc_app.gif"
+ icon="icons/full/wizban/newmngc_app.gif"
category="org.eclipse.cdt.ui.newCWizards"
class="org.eclipse.cdt.managedbuilder.ui.wizards.NewManagedCProjectWizard"
project="true"
@@ -77,52 +77,46 @@
makeFlags="-k"
osList="win32">
<tool
- sources="c,cc,cpp,cxx,C"
- name="%ToolName.compiler"
- headerExtensions="h,H,hpp"
+ natureFilter="cnature"
+ sources="c"
+ name="%ToolName.compiler.c"
+ headerExtensions="h"
outputFlag="-o"
outputs="o"
- command="g++"
- id="org.eclipse.cdt.build.tool.cygwin.compiler">
+ command="gcc"
+ id="cdt.build.tool.cygwin.gnu.c.compiler">
<optionCategory
- owner="org.eclipse.cdt.build.tool.cygwin.compiler"
+ owner="cdt.build.tool.cygwin.gnu.c.compiler"
name="%OptionCategory.Preproc"
- id="cygwin.compiler.category.preprocessor">
+ id="cygwin.gnu.c.compiler.category.preprocessor">
</optionCategory>
<option
defaultValue="false"
name="%Option.Posix.Nostdinc"
- category="cygwin.compiler.category.preprocessor"
+ category="cygwin.gnu.c.compiler.category.preprocessor"
command="-nostdinc"
valueType="boolean"
- id="cygwin.gnu.compiler.preprocessor.nostdinc">
+ id="cygwin.gnu.c.compiler.preprocessor.nostdinc">
</option>
<option
defaultValue="false"
name="%Option.Posix.PreprocOnly"
- category="cygwin.compiler.category.preprocessor"
+ category="cygwin.gnu.c.compiler.category.preprocessor"
command="-E"
valueType="boolean"
- id="cygwin.gnu.compiler.preprocessor.preprocess">
- </option>
- <option
- name="Answers (-A)"
- category="cygwin.compiler.category.preprocessor"
- command="-A"
- valueType="stringList"
- id="cygwin.gnu.preprocessor.answers">
+ id="cygwin.gnu.c.compiler.preprocessor.preprocess">
</option>
<optionCategory
- owner="org.eclipse.cdt.build.tool.cygwin.compiler"
+ owner="cdt.build.tool.cygwin.gnu.c.compiler"
name="Symbols"
- id="cygwin.gnu.compiler.category.symbols">
+ id="cygwin.gnu.c.compiler.category.symbols">
</optionCategory>
<option
name="%Option.Posix.DefSym"
- category="cygwin.gnu.compiler.category.symbols"
+ category="cygwin.gnu.c.compiler.category.symbols"
command="-D"
valueType="definedSymbols"
- id="cygwin.preprocessor.def.symbols">
+ id="cygwin.gnu.c.preprocessor.def.symbols">
<listOptionValue
value="_X86_=1"
builtIn="true">
@@ -214,380 +208,951 @@
</option>
<option
name="%Option.Posix.UndefSym"
- category="cygwin.gnu.compiler.category.symbols"
+ category="cygwin.gnu.c.compiler.category.symbols"
command="-U"
valueType="stringList"
- id="cygwin.preprocessor.undef.symbol">
+ id="cygwin.gnu.c.preprocessor.undef.symbol">
</option>
<optionCategory
- owner="org.eclipse.cdt.build.tool.cygwin.compiler"
+ owner="cdt.build.tool.cygwin.gnu.c.compiler"
name="%OptionCategory.Dirs"
- id="cygwin.gnu.compiler.category.dirs">
+ id="cygwin.gnu.c.compiler.category.dirs">
</optionCategory>
<option
name="Include Paths"
- category="cygwin.gnu.compiler.category.dirs"
+ category="cygwin.gnu.c.compiler.category.dirs"
command="-I"
valueType="includePath"
- id="cygwin.compiler.general.include.paths">
+ id="cygwin.gnu.c.compiler.general.include.paths">
<listOptionValue
value="C:\cygwin\usr\include\w32api"
builtIn="true">
</listOptionValue>
</option>
<optionCategory
- owner="org.eclipse.cdt.build.tool.cygwin.compiler"
+ owner="cdt.build.tool.cygwin.gnu.c.compiler"
name="%OptionCategory.Optimize"
- id="cygwin.gnu.compiler.category.optimization">
+ id="cygwin.gnu.c.compiler.category.optimization">
</optionCategory>
<option
name="Optimization Level"
- category="cygwin.gnu.compiler.category.optimization"
+ category="cygwin.gnu.c.compiler.category.optimization"
valueType="enumerated"
- id="cygwin.compiler.general.optimization.level">
+ id="cygwin.gnu.c.compiler.general.optimization.level">
<enumeratedOptionValue
name="%Option.Posix.Optimize.None"
isDefault="false"
command="-O0"
- id="cygwin.optimization.level.none">
+ id="cygwin.gnu.c.optimization.level.none">
</enumeratedOptionValue>
<enumeratedOptionValue
name="%Option.Posix.Optimize.Optimize"
command="-O1"
- id="cygwin.optimization.level.optimize">
+ id="cygwin.gnu.c.optimization.level.optimize">
</enumeratedOptionValue>
<enumeratedOptionValue
name="%Option.Posix.Optimize.More"
isDefault="true"
command="-O2"
- id="cygwin.optimization.level.more">
+ id="cygwin.gnu.c.optimization.level.more">
</enumeratedOptionValue>
<enumeratedOptionValue
name="%Option.Posix.Optimize.Most"
command="-O3"
- id="cygwin.optimization.level.most">
+ id="cygwin.gnu.c.optimization.level.most">
</enumeratedOptionValue>
</option>
<option
name="Other optimization flags"
- category="cygwin.gnu.compiler.category.optimization"
+ category="cygwin.gnu.c.compiler.category.optimization"
valueType="string"
- id="cygwin.compiler.optimization.flags">
+ id="cygwin.gnu.c.compiler.optimization.flags">
</option>
<optionCategory
- owner="org.eclipse.cdt.build.tool.cygwin.compiler"
+ owner="cdt.build.tool.cygwin.gnu.c.compiler"
name="%OptionCategory.Debug"
- id="cygwin.gnu.compiler.category.debug">
+ id="cygwin.gnu.c.compiler.category.debug">
</optionCategory>
<option
name="Debug Level"
- category="cygwin.gnu.compiler.category.debug"
+ category="cygwin.gnu.c.compiler.category.debug"
valueType="enumerated"
- id="cygwin.compiler.debugging.level">
+ id="cygwin.c.compiler.debugging.level">
<enumeratedOptionValue
name="None"
isDefault="false"
- id="cygwin.debugging.level.none">
+ id="cygwin.gnu.c.debugging.level.none">
</enumeratedOptionValue>
<enumeratedOptionValue
name="Minimal (-g1)"
command="-g1"
- id="cygwin.debugging.level.minimal">
+ id="cygwin.gnu.c.debugging.level.minimal">
</enumeratedOptionValue>
<enumeratedOptionValue
name="Default (-g)"
isDefault="true"
command="-g"
- id="cygwin.debugging.level.default">
+ id="cygwin.gnu.c.debugging.level.default">
</enumeratedOptionValue>
<enumeratedOptionValue
name="Maximum (-g3)"
isDefault="false"
command="-g3"
- id="cygwin.debugging.level.max">
+ id="cygwin.gnu.c.debugging.level.max">
</enumeratedOptionValue>
</option>
<option
+ defaultValue="-gstabs"
name="Other debugging flags"
- category="cygwin.gnu.compiler.category.debug"
+ category="cygwin.gnu.c.compiler.category.debug"
valueType="string"
- id="cygwin.gnu.compiler.debugging.other">
+ id="cygwin.gnu.c.compiler.debugging.other">
</option>
<option
defaultValue="false"
- name="Generate prof information (-p)"
- category="cygwin.gnu.compiler.category.debug"
- command="-p"
+ name="Generate gprof information (-pg)"
+ category="cygwin.gnu.c.compiler.category.debug"
+ command="-pg"
valueType="boolean"
- id="cygwin.gnu.compiler.debugging.prof">
+ id="cygwin.gnu.c.compiler.debugging.gprof">
</option>
<option
defaultValue="false"
- name="Generate gprof information (-pg)"
- category="cygwin.gnu.compiler.category.debug"
- command="-pg"
+ name="Generate prof information (-p)"
+ category="cygwin.gnu.c.compiler.category.debug"
+ command="-p"
valueType="boolean"
- id="cygwin.gnu.compiler.debugging.gprof">
+ id="cygwin.gnu.c.compiler.debugging.prof">
</option>
<optionCategory
- owner="org.eclipse.cdt.build.tool.cygwin.compiler"
+ owner="cdt.build.tool.cygwin.gnu.c.compiler"
name="%OptionCategory.Warn"
- id="cygwin.compiler.category.warnings">
+ id="cygwin.c.compiler.category.warnings">
</optionCategory>
<option
defaultValue="false"
name="Check syntax only (-fsyntax-only)"
- category="cygwin.compiler.category.warnings"
+ category="cygwin.c.compiler.category.warnings"
command="-fsyntax-only"
valueType="boolean"
- id="cygwin.gnu.compiler.warnings.syntax">
+ id="cygwin.gnu.c.compiler.warnings.syntax">
</option>
<option
defaultValue="false"
name="Pedantic (-pedantic)"
- category="cygwin.compiler.category.warnings"
+ category="cygwin.c.compiler.category.warnings"
command="-pedantic"
valueType="boolean"
- id="cygwin.gnu.compiler.warnings.pedantic">
+ id="cygwin.gnu.c.compiler.warnings.pedantic">
</option>
<option
defaultValue="false"
name="Pedantic warnings as errors (-pedantic-errors)"
- category="cygwin.compiler.category.warnings"
+ category="cygwin.c.compiler.category.warnings"
command="-pedantic-errors"
valueType="boolean"
- id="cygwin.gnu.compiler.warnings.pedantic.error">
+ id="cygwin.gnu.c.compiler.warnings.pedantic.error">
</option>
<option
defaultValue="false"
name="Inhibit all warnings (-w)"
- category="cygwin.compiler.category.warnings"
+ category="cygwin.c.compiler.category.warnings"
command="-w"
valueType="boolean"
- id="cygwin.gnu.compiler.warnings.nowarn">
+ id="cygwin.gnu.c.compiler.warnings.nowarn">
</option>
<option
defaultValue="true"
name="All warnings (-Wall)"
- category="cygwin.compiler.category.warnings"
+ category="cygwin.c.compiler.category.warnings"
command="-Wall"
valueType="boolean"
- id="cygwin.gnu.compiler.warnings.allwarn">
+ id="cygwin.gnu.c.compiler.warnings.allwarn">
</option>
<option
defaultValue="false"
name="Warnings as errors (-werror)"
- category="cygwin.compiler.category.warnings"
+ category="cygwin.c.compiler.category.warnings"
command="-werror"
valueType="boolean"
- id="cygwin.gnu.compiler.warnings.toerrors">
+ id="cygwin.gnu.c.compiler.warnings.toerrors">
</option>
<optionCategory
- owner="cdt.build.tool.linux.gnu.compiler"
+ owner="cdt.build.tool.cygwin.gnu.c.compiler"
name="%OptionCategory.Misc"
- id="cygwin.compiler.category.other">
+ id="cygwin.c.compiler.category.other">
</optionCategory>
<option
defaultValue="-c"
name="%Option.OtherFlags"
- category="cygwin.compiler.category.other"
+ category="cygwin.c.compiler.category.other"
valueType="string"
- id="cygwin.compiler.misc.other">
+ id="cygwin.gnu.c.compiler.misc.other">
</option>
<option
defaultValue="false"
name="%Option.Posix.Verbose"
- category="cygwin.compiler.category.other"
+ category="cygwin.c.compiler.category.other"
command="-v"
valueType="boolean"
- id="cygwin.compiler.misc.verbose">
+ id="cygwin.gnu.c.compiler.misc.verbose">
+ </option>
+ <option
+ defaultValue="false"
+ name="%Option.Posix.Ansi"
+ category="cygwin.c.compiler.category.other"
+ command="-ansi"
+ valueType="boolean"
+ id="cygwin.gnu.c.compiler.misc.ansi">
</option>
</tool>
- </target>
- <target
- isTest="false"
- name="Cygwin Executable"
- parent="cygwin"
- binaryParser="org.eclipse.cdt.core.PE"
- defaultExtension="exe"
- isAbstract="false"
- id="cygwin.exec">
- <configuration
- name="%ConfigName.Rel"
- id="cygwin.exec.release">
- <toolReference
- id="org.eclipse.cdt.build.tool.cygwin.compiler">
- <optionReference
- defaultValue="Optimize most (-O3)"
- command="-O3"
- id="cygwin.compiler.general.optimization.level">
- </optionReference>
- <optionReference
- defaultValue="None"
- id="cygwin.compiler.debugging.level">
- </optionReference>
- </toolReference>
- </configuration>
- <configuration
- name="%ConfigName.Dbg"
- id="cygwin.exec.debug">
- <toolReference
- id="org.eclipse.cdt.build.tool.cygwin.compiler">
- <optionReference
- defaultValue="None (-O0)"
- command="-O0"
- id="cygwin.compiler.general.optimization.level">
- </optionReference>
- <optionReference
- defaultValue="Maximum (-g3)"
- command="-g3"
- id="cygwin.compiler.debugging.level">
- </optionReference>
- </toolReference>
- </configuration>
<tool
- name="%ToolName.linker"
+ natureFilter="ccnature"
+ sources="c,cc,cpp,cxx,C"
+ name="%ToolName.compiler.cpp"
+ headerExtensions="h,H,hpp"
outputFlag="-o"
- outputs="exe"
+ outputs="o"
command="g++"
- id="org.eclipse.cdt.build.tool.cygwin.link">
+ id="org.eclipse.cdt.build.tool.cygwin.compiler">
<optionCategory
- owner="org.eclipse.cdt.build.tool.cygwin.link"
- name="%OptionCategory.General"
- id="cygwin.linker.category.general">
+ owner="org.eclipse.cdt.build.tool.cygwin.compiler"
+ name="%OptionCategory.Preproc"
+ id="cygwin.compiler.category.preprocessor">
</optionCategory>
<option
defaultValue="false"
- name="%Option.Posix.Linker.NoStartFiles"
- category="cygwin.linker.category.general"
- command="-nostartfiles"
- valueType="boolean"
- id="linux.gnu.linker.options.nostart">
- </option>
- <option
- defaultValue="false"
- name="%Option.Posix.Linker.NoDefLibs"
- category="cygwin.linker.category.general"
- command="-nodefaultlibs"
- valueType="boolean"
- id="cygwin.gnu.linker.options.nodeflibs">
- </option>
- <option
- defaultValue="false"
- name="%Option.Posix.Linker.NoStdLibs"
- category="cygwin.linker.category.general"
- command="-nostdlib"
- valueType="boolean"
- id="cygwin.gnu.linker.options.nostdlibs">
- </option>
- <option
- defaultValue="false"
- name="%Option.Posix.Linker.Strip"
- category="linux.gnu.linker.category.options"
- command="-s"
+ name="%Option.Posix.Nostdinc"
+ category="cygwin.compiler.category.preprocessor"
+ command="-nostdinc"
valueType="boolean"
- id="cygwin.gnu.linker.options.strip">
+ id="cygwin.gnu.compiler.preprocessor.nostdinc">
</option>
<option
defaultValue="false"
- name="%Option.Posix.Linker.Static"
- category="cygwin.linker.category.general"
- command="-static"
+ name="%Option.Posix.PreprocOnly"
+ category="cygwin.compiler.category.preprocessor"
+ command="-E"
valueType="boolean"
- id="cygwin.gnu.linker.options.noshared">
- </option>
- <optionCategory
- owner="org.eclipse.cdt.build.tool.cygwin.link"
- name="%OptionCategory.Libs"
- id="cygwin.gnu.linker.category.libs">
- </optionCategory>
- <option
- name="%Option.Posix.Libs"
- category="cygwin.gnu.linker.category.libs"
- command="-l"
- valueType="libs"
- id="cygwin.link.libs">
- </option>
- <option
- name="%Option.Posix.Libsearch"
- category="cygwin.gnu.linker.category.libs"
- command="-L"
- valueType="stringList"
- id="cygwin.link.ld.paths">
+ id="cygwin.gnu.compiler.preprocessor.preprocess">
</option>
<optionCategory
- owner="org.eclipse.cdt.build.tool.cygwin.link"
- name="%OptionCategory.Misc"
- id="cygwin.gnu.linker.category.other">
+ owner="org.eclipse.cdt.build.tool.cygwin.compiler"
+ name="Symbols"
+ id="cygwin.gnu.compiler.category.symbols">
</optionCategory>
<option
- name="Linker Flags"
- category="cygwin.gnu.linker.category.other"
- valueType="string"
- id="cygwin.link.ld.flags">
- </option>
- <option
- name="%Option.Posix.Linker.XLinker"
- category="cygwin.gnu.linker.category.other"
- command="-Xlinker"
- valueType="stringList"
- id="cygwin.gnu.linker.options.other">
- </option>
- <option
- name="%Option.Posix.UserObjs"
- category="cygwin.gnu.linker.category.other"
- valueType="userObjs"
- id="cygwin.gnu.link.ld.userobjs">
- </option>
- </tool>
- </target>
- <target
- isTest="false"
- name="Cygwin Shared Library"
- parent="cygwin"
- binaryParser="org.eclipse.cdt.core.PE"
- defaultExtension="dll"
- isAbstract="false"
- id="cygwin.so">
- <configuration
- name="%ConfigName.Rel"
- id="cygwin.so.release">
- <toolReference
- id="org.eclipse.cdt.build.tool.cygwin.compiler">
- <optionReference
- defaultValue="Optimize most (-O3)"
- command="-O3"
- id="cygwin.compiler.general.optimization.level">
- </optionReference>
- <optionReference
- defaultValue="None"
- id="cygwin.compiler.debugging.level">
- </optionReference>
- </toolReference>
- </configuration>
- <configuration
- name="%ConfigName.Dbg"
- id="cygwin.so.debug">
- <toolReference
- id="org.eclipse.cdt.build.tool.cygwin.compiler">
- <optionReference
- defaultValue="None (-O0)"
- command="-O0"
- id="cygwin.compiler.general.optimization.level">
- </optionReference>
- <optionReference
- defaultValue="Maximum (-g3)"
- command="-g3"
+ name="%Option.Posix.DefSym"
+ category="cygwin.gnu.compiler.category.symbols"
+ command="-D"
+ valueType="definedSymbols"
+ id="cygwin.preprocessor.def.symbols">
+ <listOptionValue
+ value="_X86_=1"
+ builtIn="true">
+ </listOptionValue>
+ <listOptionValue
+ value="__OPTIMIZE__"
+ builtIn="true">
+ </listOptionValue>
+ <listOptionValue
+ value="__STDC_HOSTED__=1"
+ builtIn="true">
+ </listOptionValue>
+ <listOptionValue
+ value="i386"
+ builtIn="true">
+ </listOptionValue>
+ <listOptionValue
+ value="__i386"
+ builtIn="true">
+ </listOptionValue>
+ <listOptionValue
+ value="__i386__"
+ builtIn="true">
+ </listOptionValue>
+ <listOptionValue
+ value="__tune_i686__"
+ builtIn="true">
+ </listOptionValue>
+ <listOptionValue
+ value="__tune_pentiumpro__"
+ builtIn="true">
+ </listOptionValue>
+ <listOptionValue
+ value="__tune_pentium2__"
+ builtIn="true">
+ </listOptionValue>
+ <listOptionValue
+ value="__tune_pentium3__"
+ builtIn="true">
+ </listOptionValue>
+ <listOptionValue
+ value="__stdcall=__attribute__((__stdcall__))"
+ builtIn="true">
+ </listOptionValue>
+ <listOptionValue
+ value="__fastcall=__attribute__((__fastcall__))"
+ builtIn="true">
+ </listOptionValue>
+ <listOptionValue
+ value="__cdecl=__attribute__((__cdecl__))"
+ builtIn="true">
+ </listOptionValue>
+ <listOptionValue
+ value="_stdcall=__attribute__((__stdcall__))"
+ builtIn="true">
+ </listOptionValue>
+ <listOptionValue
+ value="_fastcall=__attribute__((__fastcall__))"
+ builtIn="true">
+ </listOptionValue>
+ <listOptionValue
+ value="_cdecl=__attribute__((__cdecl__))"
+ builtIn="true">
+ </listOptionValue>
+ <listOptionValue
+ value="__declspec(x)=__attribute__((x))"
+ builtIn="true">
+ </listOptionValue>
+ <listOptionValue
+ value="__CYGWIN32__"
+ builtIn="true">
+ </listOptionValue>
+ <listOptionValue
+ value="__CYGWIN__"
+ builtIn="true">
+ </listOptionValue>
+ <listOptionValue
+ value="unix"
+ builtIn="true">
+ </listOptionValue>
+ <listOptionValue
+ value="__unix__"
+ builtIn="true">
+ </listOptionValue>
+ <listOptionValue
+ value="__unix"
+ builtIn="true">
+ </listOptionValue>
+ </option>
+ <option
+ name="%Option.Posix.UndefSym"
+ category="cygwin.gnu.compiler.category.symbols"
+ command="-U"
+ valueType="stringList"
+ id="cygwin.preprocessor.undef.symbol">
+ </option>
+ <optionCategory
+ owner="org.eclipse.cdt.build.tool.cygwin.compiler"
+ name="%OptionCategory.Dirs"
+ id="cygwin.gnu.compiler.category.dirs">
+ </optionCategory>
+ <option
+ name="Include Paths"
+ category="cygwin.gnu.compiler.category.dirs"
+ command="-I"
+ valueType="includePath"
+ id="cygwin.compiler.general.include.paths">
+ <listOptionValue
+ value="C:\cygwin\usr\include\w32api"
+ builtIn="true">
+ </listOptionValue>
+ </option>
+ <optionCategory
+ owner="org.eclipse.cdt.build.tool.cygwin.compiler"
+ name="%OptionCategory.Optimize"
+ id="cygwin.gnu.compiler.category.optimization">
+ </optionCategory>
+ <option
+ name="Optimization Level"
+ category="cygwin.gnu.compiler.category.optimization"
+ valueType="enumerated"
+ id="cygwin.compiler.general.optimization.level">
+ <enumeratedOptionValue
+ name="%Option.Posix.Optimize.None"
+ isDefault="false"
+ command="-O0"
+ id="cygwin.optimization.level.none">
+ </enumeratedOptionValue>
+ <enumeratedOptionValue
+ name="%Option.Posix.Optimize.Optimize"
+ command="-O1"
+ id="cygwin.optimization.level.optimize">
+ </enumeratedOptionValue>
+ <enumeratedOptionValue
+ name="%Option.Posix.Optimize.More"
+ isDefault="true"
+ command="-O2"
+ id="cygwin.optimization.level.more">
+ </enumeratedOptionValue>
+ <enumeratedOptionValue
+ name="%Option.Posix.Optimize.Most"
+ command="-O3"
+ id="cygwin.optimization.level.most">
+ </enumeratedOptionValue>
+ </option>
+ <option
+ name="Other optimization flags"
+ category="cygwin.gnu.compiler.category.optimization"
+ valueType="string"
+ id="cygwin.compiler.optimization.flags">
+ </option>
+ <optionCategory
+ owner="org.eclipse.cdt.build.tool.cygwin.compiler"
+ name="%OptionCategory.Debug"
+ id="cygwin.gnu.compiler.category.debug">
+ </optionCategory>
+ <option
+ name="Debug Level"
+ category="cygwin.gnu.compiler.category.debug"
+ valueType="enumerated"
+ id="cygwin.compiler.debugging.level">
+ <enumeratedOptionValue
+ name="None"
+ isDefault="false"
+ id="cygwin.debugging.level.none">
+ </enumeratedOptionValue>
+ <enumeratedOptionValue
+ name="Minimal (-g1)"
+ command="-g1"
+ id="cygwin.debugging.level.minimal">
+ </enumeratedOptionValue>
+ <enumeratedOptionValue
+ name="Default (-g)"
+ isDefault="true"
+ command="-g"
+ id="cygwin.debugging.level.default">
+ </enumeratedOptionValue>
+ <enumeratedOptionValue
+ name="Maximum (-g3)"
+ isDefault="false"
+ command="-g3"
+ id="cygwin.debugging.level.max">
+ </enumeratedOptionValue>
+ </option>
+ <option
+ defaultValue="-gstabs"
+ name="Other debugging flags"
+ category="cygwin.gnu.compiler.category.debug"
+ valueType="string"
+ id="cygwin.gnu.compiler.debugging.other">
+ </option>
+ <option
+ defaultValue="false"
+ name="Generate prof information (-p)"
+ category="cygwin.gnu.compiler.category.debug"
+ command="-p"
+ valueType="boolean"
+ id="cygwin.gnu.compiler.debugging.prof">
+ </option>
+ <option
+ defaultValue="false"
+ name="Generate gprof information (-pg)"
+ category="cygwin.gnu.compiler.category.debug"
+ command="-pg"
+ valueType="boolean"
+ id="cygwin.gnu.compiler.debugging.gprof">
+ </option>
+ <optionCategory
+ owner="org.eclipse.cdt.build.tool.cygwin.compiler"
+ name="%OptionCategory.Warn"
+ id="cygwin.compiler.category.warnings">
+ </optionCategory>
+ <option
+ defaultValue="false"
+ name="Check syntax only (-fsyntax-only)"
+ category="cygwin.compiler.category.warnings"
+ command="-fsyntax-only"
+ valueType="boolean"
+ id="cygwin.gnu.compiler.warnings.syntax">
+ </option>
+ <option
+ defaultValue="false"
+ name="Pedantic (-pedantic)"
+ category="cygwin.compiler.category.warnings"
+ command="-pedantic"
+ valueType="boolean"
+ id="cygwin.gnu.compiler.warnings.pedantic">
+ </option>
+ <option
+ defaultValue="false"
+ name="Pedantic warnings as errors (-pedantic-errors)"
+ category="cygwin.compiler.category.warnings"
+ command="-pedantic-errors"
+ valueType="boolean"
+ id="cygwin.gnu.compiler.warnings.pedantic.error">
+ </option>
+ <option
+ defaultValue="false"
+ name="Inhibit all warnings (-w)"
+ category="cygwin.compiler.category.warnings"
+ command="-w"
+ valueType="boolean"
+ id="cygwin.gnu.compiler.warnings.nowarn">
+ </option>
+ <option
+ defaultValue="true"
+ name="All warnings (-Wall)"
+ category="cygwin.compiler.category.warnings"
+ command="-Wall"
+ valueType="boolean"
+ id="cygwin.gnu.compiler.warnings.allwarn">
+ </option>
+ <option
+ defaultValue="false"
+ name="Warnings as errors (-werror)"
+ category="cygwin.compiler.category.warnings"
+ command="-werror"
+ valueType="boolean"
+ id="cygwin.gnu.compiler.warnings.toerrors">
+ </option>
+ <optionCategory
+ owner="cdt.build.tool.linux.gnu.compiler"
+ name="%OptionCategory.Misc"
+ id="cygwin.compiler.category.other">
+ </optionCategory>
+ <option
+ defaultValue="-c"
+ name="%Option.OtherFlags"
+ category="cygwin.compiler.category.other"
+ valueType="string"
+ id="cygwin.compiler.misc.other">
+ </option>
+ <option
+ defaultValue="false"
+ name="%Option.Posix.Verbose"
+ category="cygwin.compiler.category.other"
+ command="-v"
+ valueType="boolean"
+ id="cygwin.compiler.misc.verbose">
+ </option>
+ </tool>
+ </target>
+ <target
+ isTest="false"
+ name="Cygwin Executable"
+ parent="cygwin"
+ binaryParser="org.eclipse.cdt.core.PE"
+ defaultExtension="exe"
+ isAbstract="false"
+ id="cygwin.exec">
+ <configuration
+ name="%ConfigName.Rel"
+ id="cygwin.exec.release">
+ <toolReference
+ id="org.eclipse.cdt.build.tool.cygwin.compiler">
+ <optionReference
+ defaultValue="Optimize most (-O3)"
+ command="-O3"
+ id="cygwin.compiler.general.optimization.level">
+ </optionReference>
+ <optionReference
+ defaultValue="None"
+ id="cygwin.compiler.debugging.level">
+ </optionReference>
+ </toolReference>
+ <toolReference
+ id="cdt.build.tool.cygwin.gnu.c.compiler">
+ <optionReference
+ defaultValue="Optimize most (-O3)"
+ id="cygwin.gnu.c.compiler.general.optimization.level">
+ </optionReference>
+ <optionReference
+ defaultValue="None"
+ id="cygwin.c.compiler.debugging.level">
+ </optionReference>
+ </toolReference>
+ </configuration>
+ <configuration
+ name="%ConfigName.Dbg"
+ id="cygwin.exec.debug">
+ <toolReference
+ id="org.eclipse.cdt.build.tool.cygwin.compiler">
+ <optionReference
+ defaultValue="None (-O0)"
+ command="-O0"
+ id="cygwin.compiler.general.optimization.level">
+ </optionReference>
+ <optionReference
+ defaultValue="Maximum (-g3)"
+ command="-g3"
+ id="cygwin.compiler.debugging.level">
+ </optionReference>
+ </toolReference>
+ <toolReference
+ id="cdt.build.tool.cygwin.gnu.c.compiler">
+ <optionReference
+ defaultValue="None (-O0)"
+ id="cygwin.gnu.c.compiler.general.optimization.level">
+ </optionReference>
+ <optionReference
+ defaultValue="Maximum (-g3)"
+ id="cygwin.c.compiler.debugging.level">
+ </optionReference>
+ </toolReference>
+ </configuration>
+ <tool
+ natureFilter="cnature"
+ name="%ToolName.linker.c"
+ outputFlag="-o"
+ outputs="exe"
+ command="gcc"
+ id="cdt.build.tool.cygwin.c.link">
+ <optionCategory
+ owner="cdt.build.tool.cygwin.c.link"
+ name="%OptionCategory.General"
+ id="cygwin.gnu.c.linker.category.general">
+ </optionCategory>
+ <option
+ defaultValue="false"
+ name="%Option.Posix.Linker.NoStartFiles"
+ category="cygwin.gnu.c.linker.category.general"
+ command="-nostartfiles"
+ valueType="boolean"
+ id="cygwin.gnu.c.link.options.nostart">
+ </option>
+ <option
+ defaultValue="false"
+ name="%Option.Posix.Linker.NoDefLibs"
+ category="cygwin.gnu.c.linker.category.general"
+ command="-nodefaultlibs"
+ valueType="boolean"
+ id="cygwin.gnu.c.link.options.nodeflibs">
+ </option>
+ <option
+ defaultValue="false"
+ name="%Option.Posix.Linker.NoStdLibs"
+ category="cygwin.gnu.c.linker.category.general"
+ command="-nostdlib"
+ valueType="boolean"
+ id="cygwin.gnu.c.link.options.nostdlibs">
+ </option>
+ <option
+ defaultValue="false"
+ name="%Option.Posix.Linker.Strip"
+ category="cygwin.gnu.c.linker.category.general"
+ command="-s"
+ valueType="boolean"
+ id="cygwin.gnu.c.link.options.strip">
+ </option>
+ <option
+ defaultValue="false"
+ name="%Option.Posix.Linker.Static"
+ category="cygwin.gnu.c.linker.category.general"
+ command="-static"
+ valueType="boolean"
+ id="cygwin.gnu.c.link.options.noshared">
+ </option>
+ <optionCategory
+ owner="cdt.build.tool.cygwin.c.link"
+ name="%OptionCategory.Libs"
+ id="cygwin.gnu.c.linker.category.libs">
+ </optionCategory>
+ <option
+ name="%Option.Posix.Libs"
+ category="cygwin.gnu.c.linker.category.libs"
+ command="-l"
+ valueType="libs"
+ id="cygwin.gnu.c.link.libs">
+ </option>
+ <option
+ name="%Option.Posix.Libsearch"
+ category="cygwin.gnu.c.linker.category.libs"
+ command="-L"
+ valueType="stringList"
+ id="cygwin.gnu.c.link.paths">
+ </option>
+ <optionCategory
+ owner="cdt.build.tool.cygwin.c.link"
+ name="%OptionCategory.Misc"
+ id="cygwin.gnu.c.linker.category.other">
+ </optionCategory>
+ <option
+ name="Linker Flags"
+ category="cygwin.gnu.c.linker.category.other"
+ valueType="string"
+ id="cygwin.gnu.c.link.ldflags">
+ </option>
+ <option
+ name="%Option.Posix.Linker.XLinker"
+ category="cygwin.gnu.c.linker.category.other"
+ command="-Xlinker"
+ valueType="stringList"
+ id="cygwin.gnu.c.link.options.other">
+ </option>
+ <option
+ name="%Option.Posix.UserObjs"
+ category="cygwin.gnu.c.linker.category.other"
+ valueType="userObjs"
+ id="cygwin.gnu.c.link.ld.userobjs">
+ </option>
+ </tool>
+ <tool
+ natureFilter="ccnature"
+ name="%ToolName.linker.cpp"
+ outputFlag="-o"
+ outputs="exe"
+ command="g++"
+ id="org.eclipse.cdt.build.tool.cygwin.link">
+ <optionCategory
+ owner="org.eclipse.cdt.build.tool.cygwin.link"
+ name="%OptionCategory.General"
+ id="cygwin.linker.category.general">
+ </optionCategory>
+ <option
+ defaultValue="false"
+ name="%Option.Posix.Linker.NoStartFiles"
+ category="cygwin.linker.category.general"
+ command="-nostartfiles"
+ valueType="boolean"
+ id="cygwin.gnu.linker.options.nostart">
+ </option>
+ <option
+ defaultValue="false"
+ name="%Option.Posix.Linker.NoDefLibs"
+ category="cygwin.linker.category.general"
+ command="-nodefaultlibs"
+ valueType="boolean"
+ id="cygwin.gnu.linker.options.nodeflibs">
+ </option>
+ <option
+ defaultValue="false"
+ name="%Option.Posix.Linker.NoStdLibs"
+ category="cygwin.linker.category.general"
+ command="-nostdlib"
+ valueType="boolean"
+ id="cygwin.gnu.linker.options.nostdlibs">
+ </option>
+ <option
+ defaultValue="false"
+ name="%Option.Posix.Linker.Strip"
+ category="cygwin.linker.category.general"
+ command="-s"
+ valueType="boolean"
+ id="cygwin.gnu.linker.options.strip">
+ </option>
+ <option
+ defaultValue="false"
+ name="%Option.Posix.Linker.Static"
+ category="cygwin.linker.category.general"
+ command="-static"
+ valueType="boolean"
+ id="cygwin.gnu.linker.options.noshared">
+ </option>
+ <optionCategory
+ owner="org.eclipse.cdt.build.tool.cygwin.link"
+ name="%OptionCategory.Libs"
+ id="cygwin.gnu.linker.category.libs">
+ </optionCategory>
+ <option
+ name="%Option.Posix.Libs"
+ category="cygwin.gnu.linker.category.libs"
+ command="-l"
+ valueType="libs"
+ id="cygwin.link.libs">
+ </option>
+ <option
+ name="%Option.Posix.Libsearch"
+ category="cygwin.gnu.linker.category.libs"
+ command="-L"
+ valueType="stringList"
+ id="cygwin.link.ld.paths">
+ </option>
+ <optionCategory
+ owner="org.eclipse.cdt.build.tool.cygwin.link"
+ name="%OptionCategory.Misc"
+ id="cygwin.gnu.linker.category.other">
+ </optionCategory>
+ <option
+ name="Linker Flags"
+ category="cygwin.gnu.linker.category.other"
+ valueType="string"
+ id="cygwin.link.ld.flags">
+ </option>
+ <option
+ name="%Option.Posix.Linker.XLinker"
+ category="cygwin.gnu.linker.category.other"
+ command="-Xlinker"
+ valueType="stringList"
+ id="cygwin.gnu.linker.options.other">
+ </option>
+ <option
+ name="%Option.Posix.UserObjs"
+ category="cygwin.gnu.linker.category.other"
+ valueType="userObjs"
+ id="cygwin.gnu.link.ld.userobjs">
+ </option>
+ </tool>
+ </target>
+ <target
+ isTest="false"
+ name="Cygwin Shared Library"
+ parent="cygwin"
+ binaryParser="org.eclipse.cdt.core.PE"
+ defaultExtension="dll"
+ isAbstract="false"
+ id="cygwin.so">
+ <configuration
+ name="%ConfigName.Rel"
+ id="cygwin.so.release">
+ <toolReference
+ id="org.eclipse.cdt.build.tool.cygwin.compiler">
+ <optionReference
+ defaultValue="Optimize most (-O3)"
+ command="-O3"
+ id="cygwin.compiler.general.optimization.level">
+ </optionReference>
+ <optionReference
+ defaultValue="None"
+ id="cygwin.compiler.debugging.level">
+ </optionReference>
+ </toolReference>
+ <toolReference
+ id="cdt.build.tool.cygwin.gnu.c.compiler">
+ <optionReference
+ defaultValue="Optimize most (-O3)"
+ id="cygwin.gnu.c.compiler.general.optimization.level">
+ </optionReference>
+ <optionReference
+ defaultValue="None"
+ id="cygwin.c.compiler.debugging.level">
+ </optionReference>
+ </toolReference>
+ </configuration>
+ <configuration
+ name="%ConfigName.Dbg"
+ id="cygwin.so.debug">
+ <toolReference
+ id="org.eclipse.cdt.build.tool.cygwin.compiler">
+ <optionReference
+ defaultValue="None (-O0)"
+ command="-O0"
+ id="cygwin.compiler.general.optimization.level">
+ </optionReference>
+ <optionReference
+ defaultValue="Maximum (-g3)"
+ command="-g3"
id="cygwin.compiler.debugging.level">
</optionReference>
</toolReference>
+ <toolReference
+ id="cdt.build.tool.cygwin.gnu.c.compiler">
+ <optionReference
+ defaultValue="None (-O0)"
+ id="cygwin.gnu.c.compiler.general.optimization.level">
+ </optionReference>
+ <optionReference
+ defaultValue="Maximum (-g3)"
+ id="cygwin.c.compiler.debugging.level">
+ </optionReference>
+ </toolReference>
</configuration>
<tool
- name="%ToolName.linker"
+ natureFilter="cnature"
+ name="%ToolName.linker.c"
+ outputFlag="-o"
+ outputs="dll"
+ outputPrefix="lib"
+ command="gcc"
+ id="cdt.build.tool.cygwin.c.solink">
+ <optionCategory
+ owner="cdt.build.tool.cygwin.c.solink"
+ name="%OptionCategory.General"
+ id="cygwin.gnu.c.solink.category.general">
+ </optionCategory>
+ <option
+ defaultValue="false"
+ name="%Option.Posix.Linker.NoStartFiles"
+ category="cygwin.gnu.c.solink.category.general"
+ command="-nostartfiles"
+ valueType="boolean"
+ id="cygwin.gnu.c.solink.options.nostart">
+ </option>
+ <option
+ defaultValue="false"
+ name="%Option.Posix.Linker.NoDefLibs"
+ category="cygwin.gnu.c.solink.category.general"
+ command="-nodefaultlibs"
+ valueType="boolean"
+ id="cygwin.gnu.c.solink.options.nodeflibs">
+ </option>
+ <option
+ defaultValue="false"
+ name="%Option.Posix.Linker.NoStdLibs"
+ category="cygwin.gnu.c.solink.category.general"
+ command="-nostdlib"
+ valueType="boolean"
+ id="cygwin.gnu.c.solink.options.nostdlibs">
+ </option>
+ <option
+ defaultValue="false"
+ name="%Option.Posix.Linker.Strip"
+ category="cygwin.gnu.c.solink.category.general"
+ command="-s"
+ valueType="boolean"
+ id="cygwin.gnu.c.solink.options.strip">
+ </option>
+ <option
+ defaultValue="false"
+ name="%Option.Posix.Linker.Static"
+ category="cygwin.gnu.c.solink.category.general"
+ command="-static"
+ valueType="boolean"
+ id="cygwin.gnu.c.solink.options.noshared">
+ </option>
+ <optionCategory
+ owner="cdt.build.tool.cygwin.c.solink"
+ name="%OptionCategory.Libs"
+ id="cygwin.gnu.c.solink.category.libs">
+ </optionCategory>
+ <option
+ name="%Option.Posix.Libs"
+ category="cygwin.gnu.c.solink.category.libs"
+ command="-l"
+ valueType="libs"
+ id="cygwin.gnu.c.solink.libs">
+ </option>
+ <option
+ name="%Option.Posix.Libsearch"
+ category="cygwin.gnu.c.solink.category.libs"
+ command="-L"
+ valueType="stringList"
+ id="cygwin.gnu.c.solink.paths">
+ </option>
+ <optionCategory
+ owner="cdt.build.tool.cygwin.c.solink"
+ name="%OptionCategory.Misc"
+ id="cygwin.gnu.c.solink.category.other">
+ </optionCategory>
+ <option
+ defaultValue="-shared"
+ name="Linker Flags"
+ category="cygwin.gnu.c.solink.category.other"
+ valueType="string"
+ id="cygwin.gnu.c.solink.ldflags">
+ </option>
+ <option
+ name="%Option.Posix.Linker.XLinker"
+ category="cygwin.gnu.c.solink.category.other"
+ command="-Xlinker"
+ valueType="stringList"
+ id="cygwin.gnu.c.solink.options.other">
+ </option>
+ <option
+ name="%Option.Posix.UserObjs"
+ category="cygwin.gnu.c.solink.category.other"
+ valueType="userObjs"
+ id="cygwin.gnu.c.solink.userobjs">
+ </option>
+ </tool>
+ <tool
+ natureFilter="ccnature"
+ name="%ToolName.linker.cpp"
outputFlag="-o"
outputs="dll"
outputPrefix="lib"
- command="g++ -shared"
+ command="g++"
id="org.eclipse.cdt.build.tool.cygwin.solink">
<optionCategory
owner="org.eclipse.cdt.build.tool.cygwin.solink"
@@ -600,7 +1165,7 @@
category="cygwin.gnu.solink.category.general"
command="-nostartfiles"
valueType="boolean"
- id="linux.gnu.solink.options.nostart">
+ id="cygwin.gnu.solink.options.nostart">
</option>
<option
defaultValue="false"
@@ -651,7 +1216,7 @@
id="cygwin.gnu.solink.category.other">
</optionCategory>
<option
- defaultValue=""
+ defaultValue="-shared"
name="Linker Flags"
category="cygwin.gnu.solink.category.other"
valueType="string"
@@ -714,7 +1279,8 @@
</toolReference>
</configuration>
<tool
- name="%ToolName.linker"
+ natureFilter="ccnature"
+ name="%ToolName.linker.cpp"
outputFlag="-o"
outputs="dll"
outputPrefix="cyg"
@@ -771,6 +1337,17 @@
id="cygwin.compiler.debugging.level">
</optionReference>
</toolReference>
+ <toolReference
+ id="cdt.build.tool.cygwin.gnu.c.compiler">
+ <optionReference
+ defaultValue="Optimize most (-O3)"
+ id="cygwin.gnu.c.compiler.general.optimization.level">
+ </optionReference>
+ <optionReference
+ defaultValue="None"
+ id="cygwin.c.compiler.debugging.level">
+ </optionReference>
+ </toolReference>
</configuration>
<configuration
name="%ConfigName.Dbg"
@@ -788,40 +1365,350 @@
id="cygwin.compiler.debugging.level">
</optionReference>
</toolReference>
+ <toolReference
+ id="cdt.build.tool.cygwin.gnu.c.compiler">
+ <optionReference
+ defaultValue="None (-O0)"
+ id="cygwin.gnu.c.compiler.general.optimization.level">
+ </optionReference>
+ <optionReference
+ defaultValue="Maximum (-g3)"
+ id="cygwin.c.compiler.debugging.level">
+ </optionReference>
+ </toolReference>
</configuration>
<tool
+ natureFilter="both"
name="%ToolName.archiver"
outputs="a"
outputPrefix="lib"
command="ar"
id="org.eclipse.cdt.build.tool.cygwin.ar">
<optionCategory
- owner="org.eclipse.cdt.build.tool.cygwin.ar"
- name="%OptionCategory.General"
- id="cygwin.ar.category.general">
+ owner="org.eclipse.cdt.build.tool.cygwin.ar"
+ name="%OptionCategory.General"
+ id="cygwin.ar.category.general">
+ </optionCategory>
+ <option
+ defaultValue="-r"
+ name="Archiver Flags"
+ category="cygwin.ar.category.general"
+ valueType="string"
+ id="cygwin.ar.flags">
+ </option>
+ </tool>
+ </target>
+ <target
+ name="Linux"
+ id="linux.gnu"
+ cleanCommand="rm -rf"
+ isTest="false"
+ isAbstract="true"
+ makeCommand="make"
+ binaryParser="org.eclipse.cdt.core.ELF"
+ makeFlags="-k"
+ osList="linux">
+ <tool
+ natureFilter="cnature"
+ sources="c"
+ name="%ToolName.compiler.c"
+ headerExtensions="h"
+ outputFlag="-o"
+ outputs="o"
+ command="gcc"
+ id="cdt.build.tool.linux.gnu.c.compiler">
+ <optionCategory
+ owner="cdt.build.tool.linux.gnu.c.compiler"
+ name="%OptionCategory.Preproc"
+ id="linux.gnu.c.compiler.category.preprocessor">
+ </optionCategory>
+ <option
+ defaultValue="false"
+ name="%Option.Posix.Nostdinc"
+ category="linux.gnu.c.compiler.category.preprocessor"
+ command="-nostdinc"
+ valueType="boolean"
+ id="linux.gnu.c.compiler.preprocessor.nostdinc">
+ </option>
+ <option
+ defaultValue="false"
+ name="%Option.Posix.PreprocOnly"
+ category="linux.gnu.c.compiler.category.preprocessor"
+ command="-E"
+ valueType="boolean"
+ id="linux.gnu.c.compiler.preprocessor.preprocess">
+ </option>
+ <optionCategory
+ owner="cdt.build.tool.linux.gnu.c.compiler"
+ name="Symbols"
+ id="linux.gnu.c.compiler.category.symbols">
+ </optionCategory>
+ <option
+ name="%Option.Posix.DefSym"
+ category="linux.gnu.c.compiler.category.symbols"
+ command="-D"
+ valueType="definedSymbols"
+ id="linux.gnu.c.preprocessor.def.symbols">
+ <listOptionValue
+ value="__ELF__"
+ builtIn="true">
+ </listOptionValue>
+ <listOptionValue
+ value="unix"
+ builtIn="true">
+ </listOptionValue>
+ <listOptionValue
+ value="__gnu_linux__"
+ builtIn="true">
+ </listOptionValue>
+ <listOptionValue
+ value="linux"
+ builtIn="true">
+ </listOptionValue>
+ <listOptionValue
+ value="__unix__"
+ builtIn="true">
+ </listOptionValue>
+ <listOptionValue
+ value="__linux__"
+ builtIn="true">
+ </listOptionValue>
+ <listOptionValue
+ value="__unix"
+ builtIn="true">
+ </listOptionValue>
+ <listOptionValue
+ value="__linux"
+ builtIn="true">
+ </listOptionValue>
+ <listOptionValue
+ value="__OPTIMIZE__"
+ builtIn="true">
+ </listOptionValue>
+ <listOptionValue
+ value="__STDC_HOSTED__=1"
+ builtIn="true">
+ </listOptionValue>
+ <listOptionValue
+ value="_GNU_SOURCE"
+ builtIn="true">
+ </listOptionValue>
+ <listOptionValue
+ value="i386"
+ builtIn="true">
+ </listOptionValue>
+ <listOptionValue
+ value="__i386"
+ builtIn="true">
+ </listOptionValue>
+ <listOptionValue
+ value="__i386__"
+ builtIn="true">
+ </listOptionValue>
+ <listOptionValue
+ value="__tune_i386__"
+ builtIn="true">
+ </listOptionValue>
+ </option>
+ <option
+ name="%Option.Posix.UndefSym"
+ category="linux.gnu.c.compiler.category.symbols"
+ command="-U"
+ valueType="stringList"
+ id="linux.gnu.c.preprocessor.undef.symbol">
+ </option>
+ <optionCategory
+ owner="cdt.build.tool.linux.gnu.c.compiler"
+ name="%OptionCategory.Dirs"
+ id="linux.gnu.c.compiler.category.dirs">
+ </optionCategory>
+ <option
+ name="Include Paths"
+ category="linux.gnu.c.compiler.category.dirs"
+ command="-I"
+ valueType="includePath"
+ id="linux.gnu.c.compiler.general.include.paths">
+ </option>
+ <optionCategory
+ owner="cdt.build.tool.linux.gnu.c.compiler"
+ name="%OptionCategory.Optimize"
+ id="linux.gnu.c.compiler.category.optimization">
+ </optionCategory>
+ <option
+ name="Optimization Level"
+ category="linux.gnu.c.compiler.category.optimization"
+ valueType="enumerated"
+ id="linux.gnu.c.compiler.general.optimization.level">
+ <enumeratedOptionValue
+ name="%Option.Posix.Optimize.None"
+ isDefault="false"
+ command="-O0"
+ id="linux.gnu.c.optimization.level.none">
+ </enumeratedOptionValue>
+ <enumeratedOptionValue
+ name="%Option.Posix.Optimize.Optimize"
+ command="-O1"
+ id="linux.gnu.c.optimization.level.optimize">
+ </enumeratedOptionValue>
+ <enumeratedOptionValue
+ name="%Option.Posix.Optimize.More"
+ isDefault="true"
+ command="-O2"
+ id="linux.gnu.c.optimization.level.more">
+ </enumeratedOptionValue>
+ <enumeratedOptionValue
+ name="%Option.Posix.Optimize.Most"
+ command="-O3"
+ id="linux.gnu.c.optimization.level.most">
+ </enumeratedOptionValue>
+ </option>
+ <option
+ name="Other optimization flags"
+ category="linux.gnu.c.compiler.category.optimization"
+ valueType="string"
+ id="linux.gnu.c.compiler.optimization.flags">
+ </option>
+ <optionCategory
+ owner="cdt.build.tool.linux.gnu.c.compiler"
+ name="%OptionCategory.Debug"
+ id="linux.gnu.c.compiler.category.debug">
+ </optionCategory>
+ <option
+ name="Debug Level"
+ category="linux.gnu.c.compiler.category.debug"
+ valueType="enumerated"
+ id="linux.c.compiler.debugging.level">
+ <enumeratedOptionValue
+ name="None"
+ isDefault="false"
+ id="linux.gnu.c.debugging.level.none">
+ </enumeratedOptionValue>
+ <enumeratedOptionValue
+ name="Minimal (-g1)"
+ command="-g1"
+ id="linux.gnu.c.debugging.level.minimal">
+ </enumeratedOptionValue>
+ <enumeratedOptionValue
+ name="Default (-g)"
+ isDefault="true"
+ command="-g"
+ id="linux.gnu.c.debugging.level.default">
+ </enumeratedOptionValue>
+ <enumeratedOptionValue
+ name="Maximum (-g3)"
+ isDefault="false"
+ command="-g3"
+ id="linux.gnu.c.debugging.level.max">
+ </enumeratedOptionValue>
+ </option>
+ <option
+ name="Other debugging flags"
+ category="linux.gnu.c.compiler.category.debug"
+ valueType="string"
+ id="linux.gnu.c.compiler.debugging.other">
+ </option>
+ <option
+ defaultValue="false"
+ name="Generate gprof information (-pg)"
+ category="linux.gnu.c.compiler.category.debug"
+ command="-pg"
+ valueType="boolean"
+ id="linux.gnu.c.compiler.debugging.gprof">
+ </option>
+ <option
+ defaultValue="false"
+ name="Generate prof information (-p)"
+ category="linux.gnu.c.compiler.category.debug"
+ command="-p"
+ valueType="boolean"
+ id="linux.gnu.c.compiler.debugging.prof">
+ </option>
+ <optionCategory
+ owner="cdt.build.tool.linux.gnu.c.compiler"
+ name="%OptionCategory.Warn"
+ id="linux.c.compiler.category.warnings">
+ </optionCategory>
+ <option
+ defaultValue="false"
+ name="Check syntax only (-fsyntax-only)"
+ category="linux.c.compiler.category.warnings"
+ command="-fsyntax-only"
+ valueType="boolean"
+ id="linux.gnu.c.compiler.warnings.syntax">
+ </option>
+ <option
+ defaultValue="false"
+ name="Pedantic (-pedantic)"
+ category="linux.c.compiler.category.warnings"
+ command="-pedantic"
+ valueType="boolean"
+ id="linux.gnu.c.compiler.warnings.pedantic">
+ </option>
+ <option
+ defaultValue="false"
+ name="Pedantic warnings as errors (-pedantic-errors)"
+ category="linux.c.compiler.category.warnings"
+ command="-pedantic-errors"
+ valueType="boolean"
+ id="linux.gnu.c.compiler.warnings.pedantic.error">
+ </option>
+ <option
+ defaultValue="false"
+ name="Inhibit all warnings (-w)"
+ category="linux.c.compiler.category.warnings"
+ command="-w"
+ valueType="boolean"
+ id="linux.gnu.c.compiler.warnings.nowarn">
+ </option>
+ <option
+ defaultValue="true"
+ name="All warnings (-Wall)"
+ category="linux.c.compiler.category.warnings"
+ command="-Wall"
+ valueType="boolean"
+ id="linux.gnu.c.compiler.warnings.allwarn">
+ </option>
+ <option
+ defaultValue="false"
+ name="Warnings as errors (-werror)"
+ category="linux.c.compiler.category.warnings"
+ command="-werror"
+ valueType="boolean"
+ id="linux.gnu.c.compiler.warnings.toerrors">
+ </option>
+ <optionCategory
+ owner="cdt.build.tool.linux.gnu.c.compiler"
+ name="%OptionCategory.Misc"
+ id="linux.c.compiler.category.other">
</optionCategory>
<option
- defaultValue="-r"
- name="Archiver Flags"
- category="cygwin.ar.category.general"
+ defaultValue="-c"
+ name="%Option.OtherFlags"
+ category="linux.c.compiler.category.other"
valueType="string"
- id="cygwin.ar.flags">
+ id="linux.gnu.c.compiler.misc.other">
+ </option>
+ <option
+ defaultValue="false"
+ name="%Option.Posix.Verbose"
+ category="linux.c.compiler.category.other"
+ command="-v"
+ valueType="boolean"
+ id="linux.gnu.c.compiler.misc.verbose">
+ </option>
+ <option
+ defaultValue="false"
+ name="%Option.Posix.Ansi"
+ category="linux.c.compiler.category.other"
+ command="-ansi"
+ valueType="boolean"
+ id="linux.gnu.c.compiler.misc.ansi">
</option>
</tool>
- </target>
- <target
- name="Linux"
- id="linux.gnu"
- cleanCommand="rm -rf"
- isTest="false"
- isAbstract="true"
- makeCommand="make"
- binaryParser="org.eclipse.cdt.core.ELF"
- makeFlags="-k"
- osList="linux">
<tool
+ natureFilter="ccnature"
sources="c,C,cc,cxx,cpp"
- name="%ToolName.compiler"
+ name="%ToolName.compiler.cpp"
headerExtensions="h,H,hpp"
outputFlag="-o"
outputs="o"
@@ -1131,6 +2018,17 @@
id="linux.gnu.compiler.debugging.level">
</optionReference>
</toolReference>
+ <toolReference
+ id="cdt.build.tool.linux.gnu.c.compiler">
+ <optionReference
+ defaultValue="Optimize most (-O3)"
+ id="linux.gnu.c.compiler.general.optimization.level">
+ </optionReference>
+ <optionReference
+ defaultValue="None"
+ id="linux.c.compiler.debugging.level">
+ </optionReference>
+ </toolReference>
</configuration>
<configuration
name="%ConfigName.Dbg"
@@ -1146,10 +2044,118 @@
id="linux.gnu.compiler.debugging.level">
</optionReference>
</toolReference>
+ <toolReference
+ id="cdt.build.tool.linux.gnu.c.compiler">
+ <optionReference
+ defaultValue="None (-O0)"
+ id="linux.gnu.c.compiler.general.optimization.level">
+ </optionReference>
+ <optionReference
+ defaultValue="Maximum (-g3)"
+ id="linux.c.compiler.debugging.level">
+ </optionReference>
+ </toolReference>
</configuration>
<tool
+ natureFilter="cnature"
+ sources="o"
+ name="%ToolName.linker.c"
+ outputFlag="-o"
+ command="gcc"
+ id="cdt.build.tool.linux.c.link">
+ <optionCategory
+ owner="cdt.build.tool.linux.c.link"
+ name="%OptionCategory.General"
+ id="linux.gnu.c.linker.category.general">
+ </optionCategory>
+ <option
+ defaultValue="false"
+ name="%Option.Posix.Linker.NoStartFiles"
+ category="linux.gnu.c.linker.category.general"
+ command="-nostartfiles"
+ valueType="boolean"
+ id="linux.gnu.c.link.options.nostart">
+ </option>
+ <option
+ defaultValue="false"
+ name="%Option.Posix.Linker.NoDefLibs"
+ category="linux.gnu.c.linker.category.general"
+ command="-nodefaultlibs"
+ valueType="boolean"
+ id="linux.gnu.c.link.options.nodeflibs">
+ </option>
+ <option
+ defaultValue="false"
+ name="%Option.Posix.Linker.NoStdLibs"
+ category="linux.gnu.c.linker.category.general"
+ command="-nostdlib"
+ valueType="boolean"
+ id="linux.gnu.c.link.options.nostdlibs">
+ </option>
+ <option
+ defaultValue="false"
+ name="%Option.Posix.Linker.Strip"
+ category="linux.gnu.c.linker.category.options"
+ command="-s"
+ valueType="boolean"
+ id="linux.gnu.c.link.options.strip">
+ </option>
+ <option
+ defaultValue="false"
+ name="%Option.Posix.Linker.Static"
+ category="linux.gnu.c.linker.category.general"
+ command="-static"
+ valueType="boolean"
+ id="linux.gnu.c.link.options.noshared">
+ </option>
+ <optionCategory
+ owner="cdt.build.tool.linux.c.link"
+ name="%OptionCategory.Libs"
+ id="linux.gnu.c.linker.category.libs">
+ </optionCategory>
+ <option
+ name="%Option.Posix.Libs"
+ category="linux.gnu.c.linker.category.libs"
+ command="-l"
+ valueType="libs"
+ id="linux.gnu.c.link.libs">
+ </option>
+ <option
+ name="%Option.Posix.Libsearch"
+ category="linux.gnu.c.linker.category.libs"
+ command="-L"
+ valueType="stringList"
+ id="linux.gnu.c.link.paths">
+ </option>
+ <optionCategory
+ owner="cdt.build.tool.linux.c.link"
+ name="%OptionCategory.Misc"
+ id="linux.gnu.c.linker.category.other">
+ </optionCategory>
+ <option
+ name="Linker Flags"
+ category="linux.gnu.c.linker.category.other"
+ valueType="string"
+ id="linux.gnu.c.link.ldflags">
+ </option>
+ <option
+ name="%Option.Posix.Linker.XLinker"
+ category="linux.gnu.c.linker.category.other"
+ command="-Xlinker"
+ valueType="stringList"
+ id="linux.gnu.c.link.options.other">
+ </option>
+ <option
+ name="%Option.Posix.UserObjs"
+ category="linux.gnu.c.linker.category.other"
+ valueType="userObjs"
+ id="linux.gnu.c.link.ld.userobjs">
+ </option>
+ </tool>
+ <tool
+ natureFilter="ccnature"
sources="o"
- name="%ToolName.linker"
+ name="%ToolName.linker.cpp"
outputFlag="-o"
command="g++"
id="cdt.build.tool.linux.gnu.link">
@@ -1205,89 +2211,211 @@
</optionCategory>
<option
name="%Option.Posix.Libs"
- category="linux.gnu.linker.category.libs"
+ category="linux.gnu.linker.category.libs"
+ command="-l"
+ valueType="libs"
+ id="linux.gnu.linker.libs.libs">
+ </option>
+ <option
+ name="%Option.Posix.Libsearch"
+ category="linux.gnu.linker.category.libs"
+ command="-L"
+ valueType="stringList"
+ id="linux.gnu.linker.libs.paths">
+ </option>
+ <optionCategory
+ owner="cdt.build.tool.linux.gnu.link"
+ name="%OptionCategory.Misc"
+ id="linux.gnu.linker.category.other">
+ </optionCategory>
+ <option
+ name="%Option.Posix.Linker.Flags"
+ category="linux.gnu.linker.category.other"
+ valueType="string"
+ id="linux.gnu.linker.libs.flags">
+ </option>
+ <option
+ name="%Option.Posix.Linker.XLinker"
+ category="linux.gnu.linker.category.other"
+ command="-Xlinker"
+ valueType="stringList"
+ id="linux.gnu.linker.options.other">
+ </option>
+ <option
+ name="%Option.Posix.UserObjs"
+ category="linux.gnu.linker.category.other"
+ valueType="userObjs"
+ id="linux.gnu.linker.userobjs">
+ </option>
+ </tool>
+ </target>
+ <target
+ isTest="false"
+ name="Linux Shared Library"
+ parent="linux.gnu"
+ binaryParser="org.eclipse.cdt.core.ELF"
+ defaultExtension="so"
+ isAbstract="false"
+ id="linux.gnu.so">
+ <configuration
+ name="%ConfigName.Rel"
+ id="linux.gnu.so.release">
+ <toolReference
+ id="cdt.build.tool.linux.gnu.compiler">
+ <optionReference
+ defaultValue="Optimize most (-O3)"
+ id="linux.gnu.compiler.optimization.level">
+ </optionReference>
+ <optionReference
+ defaultValue="None"
+ id="linux.gnu.compiler.debugging.level">
+ </optionReference>
+ </toolReference>
+ <toolReference
+ id="cdt.build.tool.linux.gnu.c.compiler">
+ <optionReference
+ defaultValue="Optimize most (-O3)"
+ id="linux.gnu.c.compiler.general.optimization.level">
+ </optionReference>
+ <optionReference
+ defaultValue="None"
+ id="linux.c.compiler.debugging.level">
+ </optionReference>
+ </toolReference>
+ </configuration>
+ <configuration
+ name="%ConfigName.Dbg"
+ id="linux.gnu.so.debug">
+ <toolReference
+ id="cdt.build.tool.linux.gnu.compiler">
+ <optionReference
+ defaultValue="None (-O0)"
+ id="linux.gnu.compiler.optimization.level">
+ </optionReference>
+ <optionReference
+ defaultValue="Maximum (-g3)"
+ id="linux.gnu.compiler.debugging.level">
+ </optionReference>
+ </toolReference>
+ <toolReference
+ id="cdt.build.tool.linux.gnu.c.compiler">
+ <optionReference
+ defaultValue="None (-O0)"
+ id="linux.gnu.c.compiler.general.optimization.level">
+ </optionReference>
+ <optionReference
+ defaultValue="Maximum (-g3)"
+ id="linux.gnu.c.compiler.general.optimization.level">
+ </optionReference>
+ </toolReference>
+ </configuration>
+ <tool
+ natureFilter="cnature"
+ sources="o"
+ name="%ToolName.linker.c"
+ outputFlag="-o"
+ outputs="so"
+ outputPrefix="lib"
+ command="gcc"
+ id="cdt.build.tool.linux.gnu.c.solink">
+ <optionCategory
+ owner="cdt.build.tool.linux.gnu.c.solink"
+ name="%OptionCategory.General"
+ id="linux.gnu.c.solink.category.general">
+ </optionCategory>
+ <option
+ defaultValue="false"
+ name="%Option.Posix.Linker.NoStartFiles"
+ category="linux.gnu.c.solink.category.general"
+ command="-nostartfiles"
+ valueType="boolean"
+ id="linux.gnu.c.solink.options.nostart">
+ </option>
+ <option
+ defaultValue="false"
+ name="%Option.Posix.Linker.NoDefLibs"
+ category="linux.gnu.c.solink.category.general"
+ command="-nodefaultlibs"
+ valueType="boolean"
+ id="linux.gnu.c.solink.options.nodeflibs">
+ </option>
+ <option
+ defaultValue="false"
+ name="%Option.Posix.Linker.NoStdLibs"
+ category="linux.gnu.c.solink.category.general"
+ command="-nostdlib"
+ valueType="boolean"
+ id="linux.gnu.c.solink.options.nostdlibs">
+ </option>
+ <option
+ defaultValue="false"
+ name="%Option.Posix.Linker.Strip"
+ category="linux.gnu.c.solink.category.general"
+ command="-s"
+ valueType="boolean"
+ id="linux.gnu.c.solink.options.strip">
+ </option>
+ <option
+ defaultValue="false"
+ name="%Option.Posix.Linker.Static"
+ category="linux.gnu.c.solink.category.general"
+ command="-static"
+ valueType="boolean"
+ id="linux.gnu.c.solink.options.noshared">
+ </option>
+ <optionCategory
+ owner="cdt.build.tool.linux.gnu.c.solink"
+ name="%OptionCategory.Libs"
+ id="linux.gnu.c.solink.category.libs">
+ </optionCategory>
+ <option
+ name="%Option.Posix.Libs"
+ category="linux.gnu.c.solink.category.libs"
command="-l"
valueType="libs"
- id="linux.gnu.linker.libs.libs">
+ id="linux.gnu.c.solink.libs">
</option>
<option
name="%Option.Posix.Libsearch"
- category="linux.gnu.linker.category.libs"
+ category="linux.gnu.c.solink.category.libs"
command="-L"
valueType="stringList"
- id="linux.gnu.linker.libs.paths">
+ id="linux.gnu.c.solink.paths">
</option>
<optionCategory
- owner="cdt.build.tool.linux.gnu.link"
+ owner="cdt.build.tool.linux.gnu.c.solink"
name="%OptionCategory.Misc"
- id="linux.gnu.linker.category.other">
+ id="linux.gnu.c.solink.category.other">
</optionCategory>
<option
- name="%Option.Posix.Linker.Flags"
- category="linux.gnu.linker.category.other"
+ defaultValue="-shared"
+ name="Linker Flags"
+ category="linux.gnu.c.solink.category.other"
valueType="string"
- id="linux.gnu.linker.libs.flags">
+ id="linux.gnu.c.solink.ldflags">
</option>
<option
name="%Option.Posix.Linker.XLinker"
- category="linux.gnu.linker.category.other"
+ category="linux.gnu.c.solink.category.other"
command="-Xlinker"
valueType="stringList"
- id="linux.gnu.linker.options.other">
+ id="linux.gnu.c.solink.options.other">
</option>
<option
name="%Option.Posix.UserObjs"
- category="linux.gnu.linker.category.other"
+ category="linux.gnu.c.solink.category.other"
valueType="userObjs"
- id="linux.gnu.linker.userobjs">
+ id="linux.gnu.c.solink.userobjs">
</option>
</tool>
- </target>
- <target
- isTest="false"
- name="Linux Shared Library"
- parent="linux.gnu"
- binaryParser="org.eclipse.cdt.core.ELF"
- defaultExtension="so"
- isAbstract="false"
- id="linux.gnu.so">
- <configuration
- name="%ConfigName.Rel"
- id="linux.gnu.so.release">
- <toolReference
- id="cdt.build.tool.linux.gnu.compiler">
- <optionReference
- defaultValue="Optimize most (-O3)"
- id="linux.gnu.compiler.optimization.level">
- </optionReference>
- <optionReference
- defaultValue="None"
- id="linux.gnu.compiler.debugging.level">
- </optionReference>
- </toolReference>
- </configuration>
- <configuration
- name="%ConfigName.Dbg"
- id="linux.gnu.so.debug">
- <toolReference
- id="cdt.build.tool.linux.gnu.compiler">
- <optionReference
- defaultValue="None (-O0)"
- id="linux.gnu.compiler.optimization.level">
- </optionReference>
- <optionReference
- defaultValue="Maximum (-g3)"
- id="linux.gnu.compiler.debugging.level">
- </optionReference>
- </toolReference>
- </configuration>
<tool
+ natureFilter="ccnature"
sources="o"
- name="%ToolName.linker"
+ name="%ToolName.linker.cpp"
outputFlag="-o"
outputs="so"
outputPrefix="lib"
- command="g++ -shared"
+ command="g++"
id="cdt.build.tool.linux.gnu.solink">
<optionCategory
owner="cdt.build.tool.linux.gnu.solink"
@@ -1351,6 +2479,7 @@
id="linux.gnu.solink.category.other">
</optionCategory>
<option
+ defaultValue="-shared"
name="%Option.Posix.Linker.Flags"
category="linux.gnu.solink.category.other"
valueType="string"
@@ -1393,6 +2522,17 @@
id="linux.gnu.compiler.debugging.level">
</optionReference>
</toolReference>
+ <toolReference
+ id="cdt.build.tool.linux.gnu.c.compiler">
+ <optionReference
+ defaultValue="Optimize most (-O3)"
+ id="linux.gnu.c.compiler.general.optimization.level">
+ </optionReference>
+ <optionReference
+ defaultValue="None"
+ id="linux.c.compiler.debugging.level">
+ </optionReference>
+ </toolReference>
</configuration>
<configuration
name="%ConfigName.Dbg"
@@ -1408,8 +2548,20 @@
id="linux.gnu.compiler.debugging.level">
</optionReference>
</toolReference>
+ <toolReference
+ id="cdt.build.tool.linux.gnu.c.compiler">
+ <optionReference
+ defaultValue="None (-O0)"
+ id="linux.gnu.c.compiler.general.optimization.level">
+ </optionReference>
+ <optionReference
+ defaultValue="Maximum (-g3)"
+ id="linux.c.compiler.debugging.level">
+ </optionReference>
+ </toolReference>
</configuration>
<tool
+ natureFilter="both"
sources="o"
name="%ToolName.archiver"
outputs="a"
@@ -1417,32 +2569,322 @@
command="ar"
id="cdt.build.tool.linux.gnu.lib">
<optionCategory
- owner="cdt.build.tool.linux.gnu.lib"
- name="%OptionCategory.General"
- id="linux.gnu.lib.category.general">
+ owner="cdt.build.tool.linux.gnu.lib"
+ name="%OptionCategory.General"
+ id="linux.gnu.lib.category.general">
+ </optionCategory>
+ <option
+ defaultValue="-r"
+ name="Archiver Flags"
+ category="linux.gnu.lib.category.general"
+ valueType="string"
+ id="linux.gnu.lib.flags">
+ </option>
+ </tool>
+ </target>
+ <target
+ name="Solaris"
+ id="solaris.gnu"
+ cleanCommand="rm -rf"
+ isTest="false"
+ isAbstract="true"
+ makeCommand="make"
+ binaryParser="org.eclipse.cdt.core.ELF"
+ makeFlags="-k"
+ osList="solaris">
+ <tool
+ natureFilter="cnature"
+ sources="c"
+ name="%ToolName.compiler.c"
+ headerExtensions="h"
+ outputFlag="-o"
+ outputs="o"
+ command="gcc"
+ id="cdt.build.tool.solaris.gnu.c.compiler">
+ <optionCategory
+ owner="cdt.build.tool.solaris.gnu.c.compiler"
+ name="%OptionCategory.Preproc"
+ id="solaris.gnu.c.compiler.category.preprocessor">
+ </optionCategory>
+ <option
+ defaultValue="false"
+ name="%Option.Posix.Nostdinc"
+ category="solaris.gnu.c.compiler.category.preprocessor"
+ command="-nostdinc"
+ valueType="boolean"
+ id="solaris.gnu.c.compiler.preprocessor.nostdinc">
+ </option>
+ <option
+ defaultValue="false"
+ name="%Option.Posix.PreprocOnly"
+ category="solaris.gnu.c.compiler.category.preprocessor"
+ command="-E"
+ valueType="boolean"
+ id="solaris.gnu.c.compiler.preprocessor.preprocess">
+ </option>
+ <optionCategory
+ owner="cdt.build.tool.solaris.gnu.c.compiler"
+ name="Symbols"
+ id="solaris.gnu.c.compiler.category.symbols">
+ </optionCategory>
+ <option
+ name="%Option.Posix.DefSym"
+ category="solaris.gnu.c.compiler.category.symbols"
+ command="-D"
+ valueType="definedSymbols"
+ id="solaris.gnu.c.preprocessor.def.symbols">
+ <listOptionValue
+ value="sun"
+ builtIn="true">
+ </listOptionValue>
+ <listOptionValue
+ value="sparc"
+ builtIn="true">
+ </listOptionValue>
+ <listOptionValue
+ value="unix"
+ builtIn="true">
+ </listOptionValue>
+ <listOptionValue
+ value="__svr4__"
+ builtIn="true">
+ </listOptionValue>
+ <listOptionValue
+ value="__SVR4"
+ builtIn="true">
+ </listOptionValue>
+ <listOptionValue
+ value="__GCC_NEW_VARARGS__"
+ builtIn="true">
+ </listOptionValue>
+ <listOptionValue
+ value="__sun__"
+ builtIn="true">
+ </listOptionValue>
+ <listOptionValue
+ value="__sparc__"
+ builtIn="true">
+ </listOptionValue>
+ <listOptionValue
+ value="__unix__"
+ builtIn="true">
+ </listOptionValue>
+ <listOptionValue
+ value="__sun"
+ builtIn="true">
+ </listOptionValue>
+ <listOptionValue
+ value="__sparc"
+ builtIn="true">
+ </listOptionValue>
+ <listOptionValue
+ value="__unix"
+ builtIn="true">
+ </listOptionValue>
+ <listOptionValue
+ value="__OPTIMIZE__"
+ builtIn="true">
+ </listOptionValue>
+ </option>
+ <option
+ name="%Option.Posix.UndefSym"
+ category="solaris.gnu.c.compiler.category.symbols"
+ command="-U"
+ valueType="stringList"
+ id="solaris.gnu.c.preprocessor.undef.symbol">
+ </option>
+ <optionCategory
+ owner="cdt.build.tool.solaris.gnu.c.compiler"
+ name="%OptionCategory.Dirs"
+ id="solaris.gnu.c.compiler.category.dirs">
+ </optionCategory>
+ <option
+ name="Include Paths"
+ category="solaris.gnu.c.compiler.category.dirs"
+ command="-I"
+ valueType="includePath"
+ id="solaris.gnu.c.compiler.general.include.paths">
+ </option>
+ <optionCategory
+ owner="cdt.build.tool.solaris.gnu.c.compiler"
+ name="%OptionCategory.Optimize"
+ id="solaris.gnu.c.compiler.category.optimization">
+ </optionCategory>
+ <option
+ name="Optimization Level"
+ category="solaris.gnu.c.compiler.category.optimization"
+ valueType="enumerated"
+ id="solaris.gnu.c.compiler.general.optimization.level">
+ <enumeratedOptionValue
+ name="%Option.Posix.Optimize.None"
+ isDefault="false"
+ command="-O0"
+ id="solaris.gnu.c.optimization.level.none">
+ </enumeratedOptionValue>
+ <enumeratedOptionValue
+ name="%Option.Posix.Optimize.Optimize"
+ command="-O1"
+ id="solaris.gnu.c.optimization.level.optimize">
+ </enumeratedOptionValue>
+ <enumeratedOptionValue
+ name="%Option.Posix.Optimize.More"
+ isDefault="true"
+ command="-O2"
+ id="solaris.gnu.c.optimization.level.more">
+ </enumeratedOptionValue>
+ <enumeratedOptionValue
+ name="%Option.Posix.Optimize.Most"
+ command="-O3"
+ id="solaris.gnu.c.optimization.level.most">
+ </enumeratedOptionValue>
+ </option>
+ <option
+ name="Other optimization flags"
+ category="solaris.gnu.c.compiler.category.optimization"
+ valueType="string"
+ id="solaris.gnu.c.compiler.optimization.flags">
+ </option>
+ <optionCategory
+ owner="cdt.build.tool.solaris.gnu.c.compiler"
+ name="%OptionCategory.Debug"
+ id="solaris.gnu.c.compiler.category.debug">
+ </optionCategory>
+ <option
+ name="Debug Level"
+ category="solaris.gnu.c.compiler.category.debug"
+ valueType="enumerated"
+ id="solaris.c.compiler.debugging.level">
+ <enumeratedOptionValue
+ name="None"
+ isDefault="false"
+ id="solaris.gnu.c.debugging.level.none">
+ </enumeratedOptionValue>
+ <enumeratedOptionValue
+ name="Minimal (-g1)"
+ command="-g1"
+ id="solaris.gnu.c.debugging.level.minimal">
+ </enumeratedOptionValue>
+ <enumeratedOptionValue
+ name="Default (-g)"
+ isDefault="true"
+ command="-g"
+ id="solaris.gnu.c.debugging.level.default">
+ </enumeratedOptionValue>
+ <enumeratedOptionValue
+ name="Maximum (-g3)"
+ isDefault="false"
+ command="-g3"
+ id="solaris.gnu.c.debugging.level.max">
+ </enumeratedOptionValue>
+ </option>
+ <option
+ name="Other debugging flags"
+ category="solaris.gnu.c.compiler.category.debug"
+ valueType="string"
+ id="solaris.gnu.c.compiler.debugging.other">
+ </option>
+ <option
+ defaultValue="false"
+ name="Generate gprof information (-pg)"
+ category="solaris.gnu.c.compiler.category.debug"
+ command="-pg"
+ valueType="boolean"
+ id="solaris.gnu.c.compiler.debugging.gprof">
+ </option>
+ <option
+ defaultValue="false"
+ name="Generate prof information (-p)"
+ category="solaris.gnu.c.compiler.category.debug"
+ command="-p"
+ valueType="boolean"
+ id="solaris.gnu.c.compiler.debugging.prof">
+ </option>
+ <optionCategory
+ owner="cdt.build.tool.solaris.gnu.c.compiler"
+ name="%OptionCategory.Warn"
+ id="solaris.c.compiler.category.warnings">
</optionCategory>
<option
- defaultValue="-r"
- name="Archiver Flags"
- category="linux.gnu.lib.category.general"
+ defaultValue="false"
+ name="Check syntax only (-fsyntax-only)"
+ category="solaris.c.compiler.category.warnings"
+ command="-fsyntax-only"
+ valueType="boolean"
+ id="solaris.gnu.c.compiler.warnings.syntax">
+ </option>
+ <option
+ defaultValue="false"
+ name="Pedantic (-pedantic)"
+ category="solaris.c.compiler.category.warnings"
+ command="-pedantic"
+ valueType="boolean"
+ id="solaris.gnu.c.compiler.warnings.pedantic">
+ </option>
+ <option
+ defaultValue="false"
+ name="Pedantic warnings as errors (-pedantic-errors)"
+ category="solaris.c.compiler.category.warnings"
+ command="-pedantic-errors"
+ valueType="boolean"
+ id="solaris.gnu.c.compiler.warnings.pedantic.error">
+ </option>
+ <option
+ defaultValue="false"
+ name="Inhibit all warnings (-w)"
+ category="solaris.c.compiler.category.warnings"
+ command="-w"
+ valueType="boolean"
+ id="solaris.gnu.c.compiler.warnings.nowarn">
+ </option>
+ <option
+ defaultValue="true"
+ name="All warnings (-Wall)"
+ category="solaris.c.compiler.category.warnings"
+ command="-Wall"
+ valueType="boolean"
+ id="solaris.gnu.c.compiler.warnings.allwarn">
+ </option>
+ <option
+ defaultValue="false"
+ name="Warnings as errors (-werror)"
+ category="solaris.c.compiler.category.warnings"
+ command="-werror"
+ valueType="boolean"
+ id="solaris.gnu.c.compiler.warnings.toerrors">
+ </option>
+ <optionCategory
+ owner="cdt.build.tool.solaris.gnu.c.compiler"
+ name="%OptionCategory.Misc"
+ id="solaris.c.compiler.category.other">
+ </optionCategory>
+ <option
+ defaultValue="-c"
+ name="%Option.OtherFlags"
+ category="solaris.c.compiler.category.other"
valueType="string"
- id="linux.gnu.lib.flags">
+ id="solaris.gnu.c.compiler.misc.other">
+ </option>
+ <option
+ defaultValue="false"
+ name="%Option.Posix.Verbose"
+ category="solaris.c.compiler.category.other"
+ command="-v"
+ valueType="boolean"
+ id="solaris.gnu.c.compiler.misc.verbose">
+ </option>
+ <option
+ defaultValue="false"
+ name="%Option.Posix.Ansi"
+ category="solaris.c.compiler.category.other"
+ command="-ansi"
+ valueType="boolean"
+ id="solaris.gnu.c.compiler.misc.ansi">
</option>
</tool>
- </target>
- <target
- name="Solaris"
- id="solaris.gnu"
- cleanCommand="rm -rf"
- isTest="false"
- isAbstract="true"
- makeCommand="make"
- binaryParser="org.eclipse.cdt.core.ELF"
- makeFlags="-k"
- osList="solaris">
<tool
+ natureFilter="ccnature"
sources="c,C,cc,cxx,cpp"
- name="%ToolName.compiler"
+ name="%ToolName.compiler.cpp"
headerExtensions="h,H,hpp"
outputFlag="-o"
outputs="o"
@@ -1737,6 +3179,17 @@
id="solaris.gnu.compiler.debugging.level">
</optionReference>
</toolReference>
+ <toolReference
+ id="cdt.build.tool.solaris.gnu.c.compiler">
+ <optionReference
+ defaultValue="Optimize most (-O3)"
+ id="solaris.gnu.c.compiler.general.optimization.level">
+ </optionReference>
+ <optionReference
+ defaultValue="None"
+ id="solaris.c.compiler.debugging.level">
+ </optionReference>
+ </toolReference>
</configuration>
<configuration
name="%ConfigName.Dbg"
@@ -1752,10 +3205,118 @@
id="solaris.gnu.compiler.debugging.level">
</optionReference>
</toolReference>
+ <toolReference
+ id="cdt.build.tool.solaris.gnu.c.compiler">
+ <optionReference
+ defaultValue="None (-O0)"
+ id="solaris.gnu.c.compiler.general.optimization.level">
+ </optionReference>
+ <optionReference
+ defaultValue="Maximum (-g3)"
+ id="solaris.c.compiler.debugging.level">
+ </optionReference>
+ </toolReference>
</configuration>
<tool
+ natureFilter="cnature"
+ sources="o"
+ name="%ToolName.linker.c"
+ outputFlag="-o"
+ command="gcc"
+ id="cdt.build.tool.solaris.gnu.c.link">
+ <optionCategory
+ owner="cdt.build.tool.solaris.gnu.c.link"
+ name="%OptionCategory.General"
+ id="solaris.gnu.c.linker.category.general">
+ </optionCategory>
+ <option
+ defaultValue="false"
+ name="%Option.Posix.Linker.NoStartFiles"
+ category="solaris.gnu.c.linker.category.general"
+ command="-nostartfiles"
+ valueType="boolean"
+ id="solaris.gnu.c.link.options.nostart">
+ </option>
+ <option
+ defaultValue="false"
+ name="%Option.Posix.Linker.NoDefLibs"
+ category="solaris.gnu.c.linker.category.general"
+ command="-nodefaultlibs"
+ valueType="boolean"
+ id="solaris.gnu.c.link.options.nodeflibs">
+ </option>
+ <option
+ defaultValue="false"
+ name="%Option.Posix.Linker.NoStdLibs"
+ category="solaris.gnu.c.linker.category.general"
+ command="-nostdlib"
+ valueType="boolean"
+ id="solaris.gnu.c.link.options.nostdlibs">
+ </option>
+ <option
+ defaultValue="false"
+ name="%Option.Posix.Linker.Strip"
+ category="solaris.gnu.c.linker.category.options"
+ command="-s"
+ valueType="boolean"
+ id="solaris.gnu.c.link.options.strip">
+ </option>
+ <option
+ defaultValue="false"
+ name="%Option.Posix.Linker.Static"
+ category="solaris.gnu.c.linker.category.general"
+ command="-static"
+ valueType="boolean"
+ id="solaris.gnu.c.link.options.noshared">
+ </option>
+ <optionCategory
+ owner="cdt.build.tool.solaris.gnu.c.link"
+ name="%OptionCategory.Libs"
+ id="solaris.gnu.c.linker.category.libs">
+ </optionCategory>
+ <option
+ name="%Option.Posix.Libs"
+ category="solaris.gnu.c.linker.category.libs"
+ command="-l"
+ valueType="libs"
+ id="solaris.gnu.c.link.libs">
+ </option>
+ <option
+ name="%Option.Posix.Libsearch"
+ category="solaris.gnu.c.linker.category.libs"
+ command="-L"
+ valueType="stringList"
+ id="solaris.gnu.c.link.paths">
+ </option>
+ <optionCategory
+ owner="cdt.build.tool.solaris.gnu.c.link"
+ name="%OptionCategory.Misc"
+ id="solaris.gnu.c.linker.category.other">
+ </optionCategory>
+ <option
+ name="Linker Flags"
+ category="solaris.gnu.c.linker.category.other"
+ valueType="string"
+ id="solaris.gnu.c.link.ldflags">
+ </option>
+ <option
+ name="%Option.Posix.Linker.XLinker"
+ category="solaris.gnu.c.linker.category.other"
+ command="-Xlinker"
+ valueType="stringList"
+ id="solaris.gnu.c.link.options.other">
+ </option>
+ <option
+ name="%Option.Posix.UserObjs"
+ category="solaris.gnu.c.linker.category.other"
+ valueType="userObjs"
+ id="solaris.gnu.c.link.ld.userobjs">
+ </option>
+ </tool>
+ <tool
+ natureFilter="ccnature"
sources="o"
- name="%ToolName.linker"
+ name="%ToolName.linker.cpp"
outputFlag="-o"
command="g++"
id="cdt.build.tool.solaris.gnu.link">
@@ -1870,6 +3431,21 @@
defaultValue="None"
id="solaris.gnu.compiler.debugging.level">
</optionReference>
+ <optionReference
+ defaultValue="-c -fPIC"
+ id="solaris.gnu.compiler.other.other">
+ </optionReference>
+ </toolReference>
+ <toolReference
+ id="cdt.build.tool.solaris.gnu.c.compiler">
+ <optionReference
+ defaultValue="Optimize most (-O3)"
+ id="solaris.gnu.c.compiler.general.optimization.level">
+ </optionReference>
+ <optionReference
+ defaultValue="None"
+ id="solaris.c.compiler.debugging.level">
+ </optionReference>
</toolReference>
</configuration>
<configuration
@@ -1886,14 +3462,125 @@
id="solaris.gnu.compiler.debugging.level">
</optionReference>
</toolReference>
+ <toolReference
+ id="cdt.build.tool.solaris.gnu.c.compiler">
+ <optionReference
+ defaultValue="None (-O0)"
+ id="solaris.gnu.c.compiler.general.optimization.level">
+ </optionReference>
+ <optionReference
+ defaultValue="Maximum (-g3)"
+ id="solaris.c.compiler.debugging.level">
+ </optionReference>
+ </toolReference>
</configuration>
<tool
+ natureFilter="cnature"
sources="o"
- name="%ToolName.linker"
+ name="%ToolName.linker.c"
outputFlag="-o"
outputs="so"
outputPrefix="lib"
- command="g++ -shared"
+ command="gcc"
+ id="cdt.build.tool.solaris.gnu.c.solink">
+ <optionCategory
+ owner="cdt.build.tool.solaris.gnu.c.solink"
+ name="%OptionCategory.General"
+ id="solaris.gnu.c.solink.category.general">
+ </optionCategory>
+ <option
+ defaultValue="false"
+ name="%Option.Posix.Linker.NoStartFiles"
+ category="solaris.gnu.c.solink.category.general"
+ command="-nostartfiles"
+ valueType="boolean"
+ id="solaris.gnu.c.solink.options.nostart">
+ </option>
+ <option
+ defaultValue="false"
+ name="%Option.Posix.Linker.NoDefLibs"
+ category="solaris.gnu.c.solink.category.general"
+ command="-nodefaultlibs"
+ valueType="boolean"
+ id="solaris.gnu.c.solink.options.nodeflibs">
+ </option>
+ <option
+ defaultValue="false"
+ name="%Option.Posix.Linker.NoStdLibs"
+ category="solaris.gnu.c.solink.category.general"
+ command="-nostdlib"
+ valueType="boolean"
+ id="solaris.gnu.c.solink.options.nostdlibs">
+ </option>
+ <option
+ defaultValue="false"
+ name="%Option.Posix.Linker.Strip"
+ category="solaris.gnu.c.solink.category.general"
+ command="-s"
+ valueType="boolean"
+ id="solaris.gnu.c.solink.options.strip">
+ </option>
+ <option
+ defaultValue="false"
+ name="%Option.Posix.Linker.Static"
+ category="solaris.gnu.c.solink.category.general"
+ command="-static"
+ valueType="boolean"
+ id="solaris.gnu.c.solink.options.noshared">
+ </option>
+ <optionCategory
+ owner="cdt.build.tool.solaris.gnu.c.solink"
+ name="%OptionCategory.Libs"
+ id="solaris.gnu.c.solink.category.libs">
+ </optionCategory>
+ <option
+ name="%Option.Posix.Libs"
+ category="solaris.gnu.c.solink.category.libs"
+ command="-l"
+ valueType="libs"
+ id="solaris.gnu.c.solink.libs">
+ </option>
+ <option
+ name="%Option.Posix.Libsearch"
+ category="solaris.gnu.c.solink.category.libs"
+ command="-L"
+ valueType="stringList"
+ id="solaris.gnu.c.solink.paths">
+ </option>
+ <optionCategory
+ owner="cdt.build.tool.solaris.gnu.c.solink"
+ name="%OptionCategory.Misc"
+ id="solaris.gnu.c.solink.category.other">
+ </optionCategory>
+ <option
+ defaultValue="-shared -fPIC"
+ name="Linker Flags"
+ category="solaris.gnu.c.solink.category.other"
+ valueType="string"
+ id="solaris.gnu.c.solink.ldflags">
+ </option>
+ <option
+ name="%Option.Posix.Linker.XLinker"
+ category="solaris.gnu.c.solink.category.other"
+ command="-Xlinker"
+ valueType="stringList"
+ id="solaris.gnu.c.solink.options.other">
+ </option>
+ <option
+ name="%Option.Posix.UserObjs"
+ category="solaris.gnu.c.solink.category.other"
+ valueType="userObjs"
+ id="solaris.gnu.c.solink.userobjs">
+ </option>
+ </tool>
+ <tool
+ natureFilter="ccnature"
+ sources="o"
+ name="%ToolName.linker.cpp"
+ outputFlag="-o"
+ outputs="so"
+ outputPrefix="lib"
+ command="g++"
id="cdt.build.tool.solaris.gnu.solink">
<optionCategory
owner="cdt.build.tool.solaris.gnu.solink"
@@ -1957,6 +3644,7 @@
id="solaris.gnu.solink.category.other">
</optionCategory>
<option
+ defaultValue="-shared -fPIC"
name="%Option.Posix.Linker.Flags"
category="solaris.gnu.solink.category.other"
valueType="string"
@@ -1999,6 +3687,17 @@
id="solaris.gnu.compiler.debugging.level">
</optionReference>
</toolReference>
+ <toolReference
+ id="cdt.build.tool.solaris.gnu.c.compiler">
+ <optionReference
+ defaultValue="Optimize most (-O3)"
+ id="solaris.gnu.c.compiler.general.optimization.level">
+ </optionReference>
+ <optionReference
+ defaultValue="None"
+ id="solaris.c.compiler.debugging.level">
+ </optionReference>
+ </toolReference>
</configuration>
<configuration
name="%ConfigName.Dbg"
@@ -2014,8 +3713,20 @@
id="solaris.gnu.compiler.debugging.level">
</optionReference>
</toolReference>
+ <toolReference
+ id="cdt.build.tool.solaris.gnu.c.compiler">
+ <optionReference
+ defaultValue="None (-O0)"
+ id="solaris.gnu.c.compiler.general.optimization.level">
+ </optionReference>
+ <optionReference
+ defaultValue="Maximum (-g3)"
+ id="solaris.c.compiler.debugging.level">
+ </optionReference>
+ </toolReference>
</configuration>
<tool
+ natureFilter="both"
sources="o"
name="%ToolName.archiver"
outputs="a"
Index: src/org/eclipse/cdt/managedbuilder/ui/properties/BuildPropertyPage.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/properties/BuildPropertyPage.java,v
retrieving revision 1.2
diff -u -r1.2 BuildPropertyPage.java
--- src/org/eclipse/cdt/managedbuilder/ui/properties/BuildPropertyPage.java 24 Sep 2003 14:20:49 -0000 1.2
+++ src/org/eclipse/cdt/managedbuilder/ui/properties/BuildPropertyPage.java 1 Oct 2003 23:36:59 -0000
@@ -17,6 +17,7 @@
import java.util.List;
import java.util.ListIterator;
import java.util.Map;
+import java.util.Random;
import java.util.Set;
import java.util.SortedMap;
@@ -478,13 +479,17 @@
SortedMap newConfigs = manageDialog.getNewConfigs();
Set keys = newConfigs.keySet();
Iterator keyIter = keys.iterator();
- int index = selectedTarget.getConfigurations().length;
+ Random r = new Random();
+ r.setSeed(System.currentTimeMillis());
while (keyIter.hasNext()) {
String name = (String) keyIter.next();
IConfiguration parent = (IConfiguration) newConfigs.get(name);
if (parent != null) {
- ++index;
- String newId = parent.getId() + "." + index;
+ int id = r.nextInt();
+ if (id < 0) {
+ id *= -1;
+ }
+ String newId = parent.getId() + "." + id;
IConfiguration newConfig = selectedTarget.createConfiguration(parent, newId);
newConfig.setName(name);
// Update the config lists
Index: src/org/eclipse/cdt/managedbuilder/ui/wizards/CProjectPlatformPage.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/wizards/CProjectPlatformPage.java,v
retrieving revision 1.3
diff -u -r1.3 CProjectPlatformPage.java
--- src/org/eclipse/cdt/managedbuilder/ui/wizards/CProjectPlatformPage.java 26 Sep 2003 00:20:04 -0000 1.3
+++ src/org/eclipse/cdt/managedbuilder/ui/wizards/CProjectPlatformPage.java 1 Oct 2003 23:36:59 -0000
@@ -91,7 +91,7 @@
platformLabel.setLayoutData(new GridData());
platformSelection = ControlFactory.createSelectCombo(composite, targetNames, null);
- platformSelection.setToolTipText(ManagedBuilderUIPlugin.getResourceString(PLATFORM_TIP));
+// platformSelection.setToolTipText(ManagedBuilderUIPlugin.getResourceString(PLATFORM_TIP));
platformSelection.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event e) {
handleTargetSelection();
Index: src/org/eclipse/cdt/managedbuilder/ui/wizards/NewManagedProjectWizard.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.managedbuilder.ui/src/org/eclipse/cdt/managedbuilder/ui/wizards/NewManagedProjectWizard.java,v
retrieving revision 1.2
diff -u -r1.2 NewManagedProjectWizard.java
--- src/org/eclipse/cdt/managedbuilder/ui/wizards/NewManagedProjectWizard.java 22 Sep 2003 02:31:53 -0000 1.2
+++ src/org/eclipse/cdt/managedbuilder/ui/wizards/NewManagedProjectWizard.java 1 Oct 2003 23:36:59 -0000
@@ -11,6 +11,8 @@
* IBM Rational Software - Initial API and implementation
* **********************************************************************/
+import java.util.Random;
+
import org.eclipse.cdt.core.CCorePlugin;
import org.eclipse.cdt.core.ICDescriptor;
import org.eclipse.cdt.managedbuilder.core.BuildException;
@@ -108,14 +110,19 @@
ITarget parent = targetConfigurationPage.getSelectedTarget();
newTarget = ManagedBuildManager.createTarget(newProject, parent);
if (newTarget != null) {
- // TODO add name entry field to project
String artifactName = newProject.getName();
artifactName += parent.getDefaultExtension().length() == 0 ? "" : "." + parent.getDefaultExtension();
newTarget.setBuildArtifact(artifactName);
IConfiguration [] selectedConfigs = targetConfigurationPage.getSelectedConfigurations();
+ Random r = new Random();
+ r.setSeed(System.currentTimeMillis());
for (int i = 0; i < selectedConfigs.length; i++) {
IConfiguration config = selectedConfigs[i];
- newTarget.createConfiguration(config, config.getId() + "." + i);
+ int id = r.nextInt();
+ if (id < 0) {
+ id *= -1;
+ }
+ newTarget.createConfiguration(config, config.getId() + "." + id);
}
// Now add the first config in the list as the default
IConfiguration[] newConfigs = newTarget.getConfigurations();