diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2009-11-26 16:02:31 +0000 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2009-11-26 16:02:31 +0000 |
commit | 52807b1e822658c56e74f5596a2418c9e01dc34d (patch) | |
tree | 187f2eb3f47b136b4a9c2a2e55e3f7466ae4a8c6 /org.rtems.cdt | |
parent | Removed workaround since the tool commands use now absolute paths. (diff) | |
download | rtems-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.xml | 382 | ||||
-rw-r--r-- | org.rtems.cdt/src/org/rtems/cdt/build/CommandLineGenerator.java | 2 |
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")) { |