summaryrefslogtreecommitdiffstats
path: root/org.rtems.cdt
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2009-11-26 16:02:31 +0000
committerSebastian Huber <sebastian.huber@embedded-brains.de>2009-11-26 16:02:31 +0000
commit52807b1e822658c56e74f5596a2418c9e01dc34d (patch)
tree187f2eb3f47b136b4a9c2a2e55e3f7466ae4a8c6 /org.rtems.cdt
parentRemoved workaround since the tool commands use now absolute paths. (diff)
downloadrtems-eclipse-plug-in-52807b1e822658c56e74f5596a2418c9e01dc34d.tar.bz2
Added GCC assembler tool.
Added names for all tools.
Diffstat (limited to 'org.rtems.cdt')
-rw-r--r--org.rtems.cdt/plugin.xml382
-rw-r--r--org.rtems.cdt/src/org/rtems/cdt/build/CommandLineGenerator.java2
2 files changed, 342 insertions, 42 deletions
diff --git a/org.rtems.cdt/plugin.xml b/org.rtems.cdt/plugin.xml
index e26303d..b0ad870 100644
--- a/org.rtems.cdt/plugin.xml
+++ b/org.rtems.cdt/plugin.xml
@@ -155,6 +155,261 @@
</enablement>
</configuration>
+ <!-- Tools -->
+ <tool
+ id="org.rtems.cdt.tool.gcc"
+ isAbstract="true"
+ commandLineGenerator="org.rtems.cdt.build.CommandLineGenerator"
+ errorParsers="org.eclipse.cdt.core.GCCErrorParser"
+ name="RTEMS GCC"
+ natureFilter="both"
+ outputFlag="-o">
+ <supportedProperties>
+ <property id="org.eclipse.cdt.build.core.buildType">
+ <value id="org.eclipse.cdt.build.core.buildType.debug"/>
+ <value id="org.eclipse.cdt.build.core.buildType.release"/>
+ </property>
+ </supportedProperties>
+ <outputType
+ buildVariable="OBJS"
+ id="org.rtems.tool.gcc.output"
+ outputs="o"/>
+ <optionCategory
+ name="Preprocessor"
+ id="org.rtems.cdt.tool.gcc.category.preprocessor"/>
+ <option
+ id="org.rtems.cdt.tool.gcc.option.preprocessorflags"
+ name="Preprocessor flags"
+ category="org.rtems.cdt.tool.gcc.category.preprocessor"
+ valueType="string"/>
+ <option
+ id="org.rtems.cdt.tool.gcc.option.nostdinc"
+ name="Do not search standard system include directories (-nostdinc)"
+ category="org.rtems.cdt.tool.gcc.category.preprocessor"
+ command="-nostdinc"
+ valueType="boolean"
+ defaultValue="false"/>
+ <option
+ id="org.rtems.cdt.tool.gcc.option.i"
+ name="Include paths (-I)"
+ category="org.rtems.cdt.tool.gcc.category.preprocessor"
+ command="-I"
+ valueType="includePath"
+ browseType="directory"/>
+ <option
+ id="org.rtems.cdt.tool.gcc.option.d"
+ name="Defined symbols (-D)"
+ category="org.rtems.cdt.tool.gcc.category.preprocessor"
+ command="-D"
+ valueType="definedSymbols"/>
+ <option
+ id="org.rtems.cdt.tool.gcc.option.u"
+ name="Undefined symbols (-U)"
+ category="org.rtems.cdt.tool.gcc.category.preprocessor"
+ command="-U"
+ valueType="undefDefinedSymbols"/>
+ <optionCategory
+ id="org.rtems.cdt.tool.gcc.category.optimization"
+ name="Optimization"/>
+ <option
+ id="org.rtems.cdt.tool.gcc.option.optimizationflags"
+ name="Optimization flags"
+ category="org.rtems.cdt.tool.gcc.category.optimization"
+ valueType="string"/>
+ <option
+ id="org.rtems.cdt.tool.gcc.option.olevel"
+ name="Optimization level"
+ category="org.rtems.cdt.tool.gcc.category.optimization"
+ valueType="enumerated">
+ <enumeratedOptionValue
+ id="org.rtems.cdt.tool.gcc.option.os"
+ name="Optimize space (-Os)"
+ command="-Os"
+ isDefault="true"/>
+ <enumeratedOptionValue
+ id="org.rtems.cdt.tool.gcc.option.o0"
+ name="None (-O0)"
+ command="-O0"/>
+ <enumeratedOptionValue
+ id="org.rtems.cdt.tool.gcc.option.o1"
+ name="Optimize (-O1)"
+ command="-O1"/>
+ <enumeratedOptionValue
+ id="org.rtems.cdt.tool.gcc.option.o2"
+ name="Optimize more (-O2)"
+ command="-O2"/>
+ <enumeratedOptionValue
+ id="org.rtems.cdt.tool.gcc.option.o3"
+ name="Optimize most (-O3)"
+ command="-O3"/>
+ <enablement
+ type="CONTAINER_ATTRIBUTE"
+ attribute="defaultValue"
+ value="org.rtems.cdt.tool.gcc.option.os"
+ extensionAdjustment="false">
+ <checkBuildProperty
+ property="org.eclipse.cdt.build.core.buildType"
+ value="org.eclipse.cdt.build.core.buildType.release"/>
+ </enablement>
+ <enablement
+ type="CONTAINER_ATTRIBUTE"
+ attribute="defaultValue"
+ value="org.rtems.cdt.tool.gcc.option.o0"
+ extensionAdjustment="false">
+ <checkBuildProperty
+ property="org.eclipse.cdt.build.core.buildType"
+ value="org.eclipse.cdt.build.core.buildType.debug"/>
+ </enablement>
+ </option>
+ <option
+ id="org.rtems.cdt.tool.gcc.option.fnoinline"
+ name="Disable function inlining (-fno-inline)"
+ category="org.rtems.cdt.tool.gcc.category.optimization"
+ command="-fno-inline"
+ valueType="boolean"/>
+ <optionCategory
+ id="org.rtems.cdt.tool.gcc.category.debugging"
+ name="Debugging"/>
+ <option
+ id="org.rtems.cdt.tool.gcc.option.debuggingflags"
+ name="Debugging flags"
+ category="org.rtems.cdt.tool.gcc.category.debugging"
+ valueType="string"/>
+ <option
+ id="org.rtems.cdt.tool.gcc.option.glevel"
+ name="Debug level"
+ category="org.rtems.cdt.tool.gcc.category.debugging"
+ valueType="enumerated">
+ <enumeratedOptionValue
+ id="org.rtems.cdt.tool.gcc.option.gnone"
+ name="None"/>
+ <enumeratedOptionValue
+ id="org.rtems.cdt.tool.gcc.option.g1"
+ name="Minimal (-g1)"
+ command="-g1"/>
+ <enumeratedOptionValue
+ id="org.rtems.cdt.tool.gcc.option.g"
+ name="Default (-g)"
+ command="-g"
+ isDefault="true"/>
+ <enumeratedOptionValue
+ id="org.rtems.cdt.tool.gcc.option.g3"
+ name="Maximal (-g3)"
+ command="-g3"/>
+ </option>
+ <option
+ id="org.rtems.cdt.tool.gcc.option.finstrumentfunctions"
+ name="Instrument function entry and exit with profiling calls (-finstrument-functions)"
+ category="org.rtems.cdt.tool.gcc.category.debugging"
+ command="-finstrument-functions"
+ valueType="boolean"/>
+ <option
+ id="org.rtems.cdt.tool.gcc.option.p"
+ name="Enable function profiling (-p)"
+ category="org.rtems.cdt.tool.gcc.category.debugging"
+ command="-p"
+ valueType="boolean"/>
+ <optionCategory
+ id="org.rtems.cdt.tool.gcc.category.warnings"
+ name="Warnings"/>
+ <option
+ id="org.rtems.cdt.tool.gcc.option.warningflags"
+ name="Warning flags"
+ category="org.rtems.cdt.tool.gcc.category.warnings"
+ valueType="string"/>
+ <option
+ id="org.rtems.cdt.tool.gcc.option.wall"
+ name="Print default warnings (-Wall)"
+ category="org.rtems.cdt.tool.gcc.category.warnings"
+ command="-Wall"
+ valueType="boolean"
+ defaultValue="true"/>
+ <option
+ id="org.rtems.cdt.tool.gcc.option.wextra"
+ name="Print extra (possibly unwanted) warnings (-Wextra)"
+ category="org.rtems.cdt.tool.gcc.category.warnings"
+ command="-Wextra"
+ valueType="boolean"/>
+ <option
+ id="org.rtems.cdt.tool.gcc.option.werror"
+ name="Warnings are errors (-Werror)"
+ category="org.rtems.cdt.tool.gcc.category.warnings"
+ command="-Werror"
+ valueType="boolean"/>
+ <option
+ id="org.rtems.cdt.tool.gcc.option.pedantic"
+ name="Issue warnings needed for strict compliance to the standard (-pedantic)"
+ category="org.rtems.cdt.tool.gcc.category.warnings"
+ command="-pedantic"
+ valueType="boolean"/>
+ <option
+ id="org.rtems.cdt.tool.gcc.option.pedanticerrors"
+ name="Like -pedantic but issue them as errors (-pedantic-errors)"
+ category="org.rtems.cdt.tool.gcc.category.warnings"
+ command="-pedantic-errors"
+ valueType="boolean"/>
+ <option
+ id="org.rtems.cdt.tool.gcc.option.fsyntaxonly"
+ name="Check for syntax errors, then stop (-fsyntax-only)"
+ category="org.rtems.cdt.tool.gcc.category.warnings"
+ command="-fsyntax-only"
+ valueType="boolean"/>
+ <option
+ id="org.rtems.cdt.tool.gcc.option.w"
+ name="Suppress warnings (-w)"
+ category="org.rtems.cdt.tool.gcc.category.warnings"
+ command="-w"
+ valueType="boolean"/>
+ <optionCategory
+ id="org.rtems.cdt.tool.gcc.category.misc"
+ name="Miscellaneous"/>
+ <option
+ id="org.rtems.cdt.tool.gcc.option.otherflags"
+ name="Other flags"
+ category="org.rtems.cdt.tool.gcc.category.misc"
+ valueType="string"/>
+ <option
+ id="org.rtems.cdt.tool.gcc.option.c"
+ name="Compile and assemble, but do not link (-c)"
+ category="org.rtems.cdt.tool.gcc.category.misc"
+ command="-c"
+ valueType="boolean"
+ defaultValue="true"/>
+ <option
+ id="org.rtems.cdt.tool.gcc.option.messagelength0"
+ name="Suppress line-wrapping (-fmessage-length=0)"
+ category="org.rtems.cdt.tool.gcc.category.misc"
+ command="-fmessage-length=0"
+ valueType="boolean"
+ defaultValue="true"/>
+ <option
+ id="org.rtems.cdt.tool.gcc.option.pipe"
+ name="Use pipes rather than intermediate files (-pipe)"
+ category="org.rtems.cdt.tool.gcc.category.misc"
+ command="-pipe"
+ valueType="boolean"
+ defaultValue="true"/>
+ <option
+ id="org.rtems.cdt.tool.gcc.option.savetemps"
+ name="Do not delete intermediate files (-save-temps)"
+ category="org.rtems.cdt.tool.gcc.category.misc"
+ command="-save-temps"
+ valueType="boolean"/>
+ <option
+ id="org.rtems.cdt.tool.gcc.option.v"
+ name="Verbose (-v)"
+ category="org.rtems.cdt.tool.gcc.category.misc"
+ command="-v"
+ valueType="boolean"/>
+ <option
+ id="org.rtems.cdt.tool.gcc.option.b"
+ name="Search paths (-B)"
+ category="org.rtems.cdt.tool.gcc.category.misc"
+ command="-B"
+ valueType="includePath"
+ browseType="directory"/>
+ </tool>
+
<!-- Toolchain (Standard) -->
<toolChain
archList="all"
@@ -175,35 +430,30 @@
id="org.rtems.cdt.builder"
superClass="cdt.managedbuild.target.gnu.builder"/>
<tool
- id="org.rtems.cdt.assembler"
- superClass="cdt.managedbuild.tool.gnu.assembler"
- commandLineGenerator="org.rtems.cdt.build.CommandLineGenerator">
- <inputType
- id="org.rtems.cdt.assembler.input"
- superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
- </tool>
- <tool
+ commandLineGenerator="org.rtems.cdt.build.CommandLineGenerator"
id="org.rtems.cdt.compiler.c"
- superClass="cdt.managedbuild.tool.gnu.c.compiler"
- commandLineGenerator="org.rtems.cdt.build.CommandLineGenerator">
+ name="RTEMS C Compiler"
+ superClass="cdt.managedbuild.tool.gnu.c.compiler">
<inputType
id="org.rtems.cdt.compiler.input.c"
- superClass="cdt.managedbuild.tool.gnu.c.compiler.input"
- scannerConfigDiscoveryProfileId="org.rtems.cdt.RtemsSCDProfileC"/>
+ scannerConfigDiscoveryProfileId="org.rtems.cdt.RtemsSCDProfileC"
+ superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
</tool>
<tool
+ commandLineGenerator="org.rtems.cdt.build.CommandLineGenerator"
id="org.rtems.cdt.compiler.cpp"
- superClass="cdt.managedbuild.tool.gnu.cpp.compiler"
- commandLineGenerator="org.rtems.cdt.build.CommandLineGenerator">
+ name="RTEMS C++ Compiler"
+ superClass="cdt.managedbuild.tool.gnu.cpp.compiler">
<inputType
id="org.rtems.cdt.compiler.cpp.input"
superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"
scannerConfigDiscoveryProfileId="org.rtems.cdt.RtemsSCDProfileCPP"/>
</tool>
<tool
+ commandLineGenerator="org.rtems.cdt.build.CommandLineGenerator"
id="org.rtems.cdt.linker.c"
- superClass="cdt.managedbuild.tool.gnu.c.linker"
- commandLineGenerator="org.rtems.cdt.build.CommandLineGenerator">
+ name="RTEMS Linker"
+ superClass="cdt.managedbuild.tool.gnu.c.linker">
<enablement type="ALL">
<not>
<checkBuildProperty
@@ -213,25 +463,51 @@
</enablement>
</tool>
<tool
- id="org.rtems.cdt.linker.cpp"
- superClass="cdt.managedbuild.tool.gnu.cpp.linker"
- commandLineGenerator="org.rtems.cdt.build.CommandLineGenerator">
+ id="org.rtems.cdt.assembler.gcc"
+ name="RTEMS Assembler"
+ superClass="org.rtems.cdt.tool.gcc">
+ <inputType
+ id="org.rtems.cdt.assembler.gcc.input"
+ dependencyCalculator="org.eclipse.cdt.managedbuilder.makegen.gnu.DefaultGCCDependencyCalculator2"
+ dependencyContentType="org.eclipse.cdt.core.cHeader"
+ dependencyExtensions="h"
+ languageId="org.eclipse.cdt.core.gcc"
+ scannerConfigDiscoveryProfileId="org.rtems.cdt.RtemsSCDProfileC"
+ sourceContentType="org.eclipse.cdt.core.asmSource"
+ sources="s,S">
+ </inputType>
+ </tool>
+ <tool
+ commandLineGenerator="org.rtems.cdt.build.CommandLineGenerator"
+ id="org.rtems.cdt.assembler"
+ name="RTEMS Bare Assembler"
+ superClass="cdt.managedbuild.tool.gnu.assembler">
+ <inputType
+ id="org.rtems.cdt.assembler.input"
+ superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+ </tool>
+ <tool
+ commandLineGenerator="org.rtems.cdt.build.CommandLineGenerator"
+ id="org.rtems.cdt.archiver"
+ name="RTEMS Archiver"
+ superClass="cdt.managedbuild.tool.gnu.archiver">
<enablement type="ALL">
- <not>
<checkBuildProperty
property="org.eclipse.cdt.build.core.buildArtefactType"
value="org.eclipse.cdt.build.core.buildArtefactType.staticLib"/>
- </not>
</enablement>
</tool>
<tool
- id="org.rtems.cdt.archiver"
- superClass="cdt.managedbuild.tool.gnu.archiver"
- commandLineGenerator="org.rtems.cdt.build.CommandLineGenerator">
+ commandLineGenerator="org.rtems.cdt.build.CommandLineGenerator"
+ id="org.rtems.cdt.linker.cpp"
+ name="RTEMS C++ Linker"
+ superClass="cdt.managedbuild.tool.gnu.cpp.linker">
<enablement type="ALL">
+ <not>
<checkBuildProperty
property="org.eclipse.cdt.build.core.buildArtefactType"
value="org.eclipse.cdt.build.core.buildArtefactType.staticLib"/>
+ </not>
</enablement>
</tool>
</toolChain>
@@ -257,35 +533,30 @@
id="org.rtems.cdt.builder.cygwin"
superClass="cdt.managedbuild.target.gnu.builder"/>
<tool
- id="org.rtems.cdt.assembler.cygwin"
- superClass="cdt.managedbuild.tool.gnu.assembler"
- commandLineGenerator="org.rtems.cdt.build.CygwinCommandLineGenerator">
- <inputType
- id="org.rtems.cdt.assembler.cygwin.input"
- superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
- </tool>
- <tool
+ commandLineGenerator="org.rtems.cdt.build.CygwinCommandLineGenerator"
id="org.rtems.cdt.compiler.c.cygwin"
- superClass="cdt.managedbuild.tool.gnu.c.compiler.cygwin"
- commandLineGenerator="org.rtems.cdt.build.CygwinCommandLineGenerator">
+ name="RTEMS C Compiler (Cygwin)"
+ superClass="cdt.managedbuild.tool.gnu.c.compiler.cygwin">
<inputType
id="org.rtems.cdt.compiler.input.c.cygwin"
superClass="cdt.managedbuild.tool.gnu.c.compiler.input.cygwin"
scannerConfigDiscoveryProfileId="org.rtems.cdt.RtemsSCDProfileWinC"/>
</tool>
<tool
+ commandLineGenerator="org.rtems.cdt.build.CygwinCommandLineGenerator"
id="org.rtems.cdt.compiler.cpp.cygwin"
- superClass="cdt.managedbuild.tool.gnu.cpp.compiler.cygwin"
- commandLineGenerator="org.rtems.cdt.build.CygwinCommandLineGenerator">
+ name="RTEMS C++ Compiler (Cygwin)"
+ superClass="cdt.managedbuild.tool.gnu.cpp.compiler.cygwin">
<inputType
id="org.rtems.cdt.compiler.cpp.input.cygwin"
scannerConfigDiscoveryProfileId="org.rtems.cdt.RtemsSCDProfileWinCPP"
superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input.cygwin"/>
</tool>
<tool
+ commandLineGenerator="org.rtems.cdt.build.CygwinCommandLineGenerator"
id="org.rtems.cdt.linker.c.cygwin"
- superClass="cdt.managedbuild.tool.gnu.c.linker.cygwin"
- commandLineGenerator="org.rtems.cdt.build.CygwinCommandLineGenerator">
+ name="RTEMS Linker (Cygwin)"
+ superClass="cdt.managedbuild.tool.gnu.c.linker.cygwin">
<enablement type="ALL">
<not>
<checkBuildProperty
@@ -295,9 +566,10 @@
</enablement>
</tool>
<tool
+ commandLineGenerator="org.rtems.cdt.build.CygwinCommandLineGenerator"
id="org.rtems.cdt.linker.cpp.cygwin"
- superClass="cdt.managedbuild.tool.gnu.cpp.linker.cygwin"
- commandLineGenerator="org.rtems.cdt.build.CygwinCommandLineGenerator">
+ name="RTEMS C++ Linker (Cygwin)"
+ superClass="cdt.managedbuild.tool.gnu.cpp.linker.cygwin">
<enablement type="ALL">
<not>
<checkBuildProperty
@@ -307,9 +579,35 @@
</enablement>
</tool>
<tool
- id="org.rtems.cdt.archiver.cygwin"
- superClass="cdt.managedbuild.tool.gnu.archiver"
+ commandLineGenerator="org.rtems.cdt.build.CygwinCommandLineGenerator"
+ id="org.rtems.cdt.assembler.cygwin"
+ name="RTEMS Bare Assembler (Cygwin)"
+ superClass="cdt.managedbuild.tool.gnu.assembler">
+ <inputType
+ id="org.rtems.cdt.assembler.cygwin.input"
+ superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+ </tool>
+ <tool
+ id="org.rtems.cdt.assembler.gcc.cygwin"
+ name="RTEMS Assembler (Cygwin)"
+ superClass="org.rtems.cdt.tool.gcc"
commandLineGenerator="org.rtems.cdt.build.CygwinCommandLineGenerator">
+ <inputType
+ id="org.rtems.cdt.assembler.gcc.input.cygwin"
+ dependencyCalculator="org.eclipse.cdt.managedbuilder.makegen.gnu.DefaultGCCDependencyCalculator2"
+ dependencyContentType="org.eclipse.cdt.core.cHeader"
+ dependencyExtensions="h"
+ languageId="org.eclipse.cdt.core.gcc"
+ scannerConfigDiscoveryProfileId="org.rtems.cdt.RtemsSCDProfileC"
+ sourceContentType="org.eclipse.cdt.core.asmSource"
+ sources="s,S">
+ </inputType>
+ </tool>
+ <tool
+ commandLineGenerator="org.rtems.cdt.build.CygwinCommandLineGenerator"
+ id="org.rtems.cdt.archiver.cygwin"
+ name="RTEMS Archiver (Cygwin)"
+ superClass="cdt.managedbuild.tool.gnu.archiver">
<enablement type="ALL">
<checkBuildProperty
property="org.eclipse.cdt.build.core.buildArtefactType"
diff --git a/org.rtems.cdt/src/org/rtems/cdt/build/CommandLineGenerator.java b/org.rtems.cdt/src/org/rtems/cdt/build/CommandLineGenerator.java
index 8ea99e1..f4583d2 100644
--- a/org.rtems.cdt/src/org/rtems/cdt/build/CommandLineGenerator.java
+++ b/org.rtems.cdt/src/org/rtems/cdt/build/CommandLineGenerator.java
@@ -56,6 +56,8 @@ public class CommandLineGenerator extends ManagedCommandLineGenerator implements
String toolKey = "gcc";
if (id.contains( "archiver")) {
toolKey = Constants.TOOL_ARCHIVER_KEY;
+ } else if (id.contains( "assembler.gcc")) {
+ toolKey = Constants.TOOL_COMPILER_C_KEY;
} else if (id.contains( "assembler")) {
toolKey = Constants.TOOL_ASSEMBLER_KEY;
} else if (id.contains( "compiler.cpp")) {