summaryrefslogblamecommitdiffstats
path: root/org.rtems.cdt.toolchain2/plugin.xml
blob: 05d2b3a612bd2d62d40a298bd97f89a628ba7e9f (plain) (tree)
1
2
3
4
5
6
7
8
9


                                      





                           
 

                                                                            

        


                                                    
                                                             

                                                                                
                                                                                           







                                                                                                                                     
                                                                   




                                                                                                                       
                                                             

                                                                                
                                                                                           







                                                                                                                                     
                                                                   




                                                                                                                       
                                                             

                                                                                
                                                                                           







                                                                                                                                     
                                                                   







                                                                                                                       
                                                                  







                                                                                                                                     
                                                                         







                                                                                                                       
                                                                  







                                                                                                                                     
                                                                         







                                                                                                                       
                                                                  







                                                                                                                                     
                                                                         


                                                                                                                       
 



                                                                      

                            













                                                                                  

                                   
                

                                                                                      
                                        
                                  
                        

                                                                                                










                                                                 





                                                                               
                                                                
                                                                               
                      
                                                     



                                                                                               
                                              
                                                                  
                                                                               
                      
                                                       



                                                                                                 









































                                                                                                                    
                                                                                            
                                                                                                          
                                                                                          











                                                                 
                                                               
                                                                                     

                

                                                                       
                                                                                     

                                                            
                                                                                
                                                                                                  



                                                                         
                                                                                     

                                                              
                                                                                                  
                                                                                    



                                                                     
                                                                                     










                                                                                     
                                                                                     










                                                                                     
                                                                                     







                                                                                     
                           

                                                                                
                                          
                                    
                       
                                        
                                                    
                                                  
                      
                                                     


                                                       








                                                              

                    
 
                              


                                                                  
                                                 
                                                              

                                                          
 












                                                                           
                                                                     
               
 












                                                                                   

                                                                           
                                                                                


                                                                        
                 


                       
         
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.2"?>
<!--
   Copyright (c) 2008
   Embedded Brains GmbH
   Obere Lagerstr. 30
   D-82178 Puchheim
   Germany
   rtems@embedded-brains.de

   The license and distribution terms for this file may be found in the file
   LICENSE in this distribution or at http://www.rtems.com/license/LICENSE.
-->
<plugin>
   <!-- Scanner Configuration Discovery Profiles -->
   <extension
         id="RtemsSCDProfile"
         name="RTEMS Scanner Configuration Discovery Profile"
         point="org.eclipse.cdt.make.core.ScannerConfigurationDiscoveryProfile">
      <scannerInfoCollector
            class="org.eclipse.cdt.make.internal.core.scannerconfig2.PerProjectSICollector"
            scope="project"/>
      <buildOutputProvider>
         <open/>
         <scannerInfoConsoleParser class="org.eclipse.cdt.managedbuilder.internal.scannerconfig.ManagedGCCScannerInfoConsoleParser"/>
      </buildOutputProvider>
      <scannerInfoProvider providerId="specsFile">
         <run
               arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}"
               class="org.rtems.cdt.build.RunScannerInfoProvider"/>
         <scannerInfoConsoleParser class="org.eclipse.cdt.make.internal.core.scannerconfig.gnu.GCCSpecsConsoleParser"/>
      </scannerInfoProvider>
   </extension>
   <extension
         id="RtemsSCDProfileC"
         name="RTEMS Scanner Configuration Discovery Profile"
         point="org.eclipse.cdt.make.core.ScannerConfigurationDiscoveryProfile">
      <scannerInfoCollector
            class="org.eclipse.cdt.make.internal.core.scannerconfig2.PerProjectSICollector"
            scope="project"/>
      <buildOutputProvider>
         <open/>
         <scannerInfoConsoleParser class="org.eclipse.cdt.managedbuilder.internal.scannerconfig.ManagedGCCScannerInfoConsoleParser"/>
      </buildOutputProvider>
      <scannerInfoProvider providerId="specsFile">
         <run
               arguments="-E -P -v -dD ${plugin_state_location}/specs.c"
               class="org.rtems.cdt.build.RunScannerInfoProvider"/>
         <scannerInfoConsoleParser class="org.eclipse.cdt.make.internal.core.scannerconfig.gnu.GCCSpecsConsoleParser"/>
      </scannerInfoProvider>
   </extension>
   <extension
         id="RtemsSCDProfileCPP"
         name="RTEMS Scanner Configuration Discovery Profile"
         point="org.eclipse.cdt.make.core.ScannerConfigurationDiscoveryProfile">
      <scannerInfoCollector
            class="org.eclipse.cdt.make.internal.core.scannerconfig2.PerProjectSICollector"
            scope="project"/>
      <buildOutputProvider>
         <open/>
         <scannerInfoConsoleParser class="org.eclipse.cdt.managedbuilder.internal.scannerconfig.ManagedGCCScannerInfoConsoleParser"/>
      </buildOutputProvider>
      <scannerInfoProvider providerId="specsFile">
         <run
               arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp"
               class="org.rtems.cdt.build.RunScannerInfoProvider"/>
         <scannerInfoConsoleParser class="org.eclipse.cdt.make.internal.core.scannerconfig.gnu.GCCSpecsConsoleParser"/>
      </scannerInfoProvider>
   </extension>
   <extension
         id="RtemsSCDProfileWin"
         name="RTEMS Scanner Configuration Discovery Profile (Windows)"
         point="org.eclipse.cdt.make.core.ScannerConfigurationDiscoveryProfile">
      <scannerInfoCollector
            class="org.rtems.cdt.build.CygwinScannerInfoCollector"
            scope="project"/>
      <buildOutputProvider>
         <open/>
         <scannerInfoConsoleParser class="org.eclipse.cdt.managedbuilder.internal.scannerconfig.ManagedGCCScannerInfoConsoleParser"/>
      </buildOutputProvider>
      <scannerInfoProvider providerId="specsFile">
         <run
               arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}"
               class="org.rtems.cdt.build.CygwinRunScannerInfoProvider"/>
         <scannerInfoConsoleParser class="org.eclipse.cdt.make.internal.core.scannerconfig.gnu.GCCSpecsConsoleParser"/>
      </scannerInfoProvider>
   </extension>
   <extension
         id="RtemsSCDProfileWinC"
         name="RTEMS Scanner Configuration Discovery Profile (Windows)"
         point="org.eclipse.cdt.make.core.ScannerConfigurationDiscoveryProfile">
      <scannerInfoCollector
            class="org.rtems.cdt.build.CygwinScannerInfoCollector"
            scope="project"/>
      <buildOutputProvider>
         <open/>
         <scannerInfoConsoleParser class="org.eclipse.cdt.managedbuilder.internal.scannerconfig.ManagedGCCScannerInfoConsoleParser"/>
      </buildOutputProvider>
      <scannerInfoProvider providerId="specsFile">
         <run
               arguments="-E -P -v -dD ${plugin_state_location}/specs.c"
               class="org.rtems.cdt.build.CygwinRunScannerInfoProvider"/>
         <scannerInfoConsoleParser class="org.eclipse.cdt.make.internal.core.scannerconfig.gnu.GCCSpecsConsoleParser"/>
      </scannerInfoProvider>
   </extension>
   <extension
         id="RtemsSCDProfileWinCPP"
         name="RTEMS Scanner Configuration Discovery Profile (Windows)"
         point="org.eclipse.cdt.make.core.ScannerConfigurationDiscoveryProfile">
      <scannerInfoCollector
            class="org.rtems.cdt.build.CygwinScannerInfoCollector"
            scope="project"/>
      <buildOutputProvider>
         <open/>
         <scannerInfoConsoleParser class="org.eclipse.cdt.managedbuilder.internal.scannerconfig.ManagedGCCScannerInfoConsoleParser"/>
      </buildOutputProvider>
      <scannerInfoProvider providerId="specsFile">
         <run
               arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp"
               class="org.rtems.cdt.build.CygwinRunScannerInfoProvider"/>
         <scannerInfoConsoleParser class="org.eclipse.cdt.make.internal.core.scannerconfig.gnu.GCCSpecsConsoleParser"/>
      </scannerInfoProvider>
   </extension>

   <!-- Build Definitions -->
   <extension
         id="org.rtems.cdt.build"
         point="org.eclipse.cdt.managedbuilder.core.buildDefinitions">

      <!-- Configuration -->
      <configuration
            id="org.rtems.cdt.config.base"
            name="RTEMS Configuration"
            cleanCommand="rm -rf"
            artifactExtension="exe">
         <enablement type="CONTAINER_ATTRIBUTE"
               attribute="artifactExtension"
               value="a"
               extensionAdjustment="false">
            <checkBuildProperty
                  property="org.eclipse.cdt.build.core.buildArtefactType"
                  value="org.eclipse.cdt.build.core.buildArtefactType.staticLib"/>
         </enablement>
      </configuration>

      <!-- Toolchain (Standard) -->
      <toolChain
            archList="all"
            configurationEnvironmentSupplier="org.rtems.cdt.build.EnvironmentSupplier"
            id="org.rtems.cdt.toolchain"
            name="RTEMS Toolchain"
            osList="all"
            scannerConfigDiscoveryProfileId="org.rtems.cdt.toolchain2.RtemsSCDProfile"
            targetTool="org.rtems.cdt.linker.c;org.rtems.cdt.linker.cpp;org.rtems.cdt.archiver">
         <targetPlatform
            id="org.rtems.cdt.target"
            name="RTEMS Target"
            binaryParser="org.eclipse.cdt.core.ELF"
            osList="all"
            archList="all">
         </targetPlatform>
         <builder
               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">
         </tool>
         <tool
               id="org.rtems.cdt.compiler.c"
               superClass="cdt.managedbuild.tool.gnu.c.compiler"
               commandLineGenerator="org.rtems.cdt.build.CommandLineGenerator">
            <inputType
                  id="org.rtems.cdt.compiler.input.c"
                  superClass="cdt.managedbuild.tool.gnu.c.compiler.input"
                  scannerConfigDiscoveryProfileId="org.rtems.cdt.toolchain2.RtemsSCDProfileC"/>
         </tool>
         <tool
               id="org.rtems.cdt.compiler.cpp"
               superClass="cdt.managedbuild.tool.gnu.cpp.compiler"
               commandLineGenerator="org.rtems.cdt.build.CommandLineGenerator">
            <inputType
                  id="org.rtems.cdt.compiler.cpp.input"
                  superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"
                  scannerConfigDiscoveryProfileId="org.rtems.cdt.toolchain2.RtemsSCDProfileCPP"/>
         </tool>
         <tool
               id="org.rtems.cdt.linker.c"
               superClass="cdt.managedbuild.tool.gnu.c.linker"
               commandLineGenerator="org.rtems.cdt.build.CommandLineGenerator">
            <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.linker.cpp"
               superClass="cdt.managedbuild.tool.gnu.cpp.linker"
               commandLineGenerator="org.rtems.cdt.build.CommandLineGenerator">
            <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">
            <enablement type="ALL">
               <checkBuildProperty
                     property="org.eclipse.cdt.build.core.buildArtefactType"
                     value="org.eclipse.cdt.build.core.buildArtefactType.staticLib"/>
            </enablement>
         </tool>
      </toolChain>

      <!-- Toolchain (Cygwin) -->
      <toolChain
            id="org.rtems.cdt.toolchain.cygwin"
            name="RTEMS Toolchain (Cygwin)"
            archList="all"
            osList="win32"
            targetTool="org.rtems.cdt.linker.c.cygwin;org.rtems.cdt.linker.cpp.cygwin;org.rtems.cdt.archiver.cygwin"
            configurationEnvironmentSupplier="org.rtems.cdt.build.CygwinEnvironmentSupplier"
            isToolChainSupported="org.eclipse.cdt.managedbuilder.gnu.cygwin.IsGnuCygwinToolChainSupported"
            scannerConfigDiscoveryProfileId="org.rtems.cdt.toolchain2.RtemsSCDProfileWin">
         <targetPlatform
            id="org.rtems.cdt.target.cygwin"
            name="RTEMS Target"
            binaryParser="org.eclipse.cdt.core.ELF"
            osList="all"
            archList="all">
         </targetPlatform>
         <builder
               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">
         </tool>
         <tool
               id="org.rtems.cdt.compiler.c.cygwin"
               superClass="cdt.managedbuild.tool.gnu.c.compiler.cygwin"
               commandLineGenerator="org.rtems.cdt.build.CygwinCommandLineGenerator">
            <inputType
                  id="org.rtems.cdt.compiler.input.c.cygwin"
                  superClass="cdt.managedbuild.tool.gnu.c.compiler.input.cygwin"
                  scannerConfigDiscoveryProfileId="org.rtems.cdt.toolchain2.RtemsSCDProfileWinC"/>
         </tool>
         <tool
               id="org.rtems.cdt.compiler.cpp.cygwin"
               superClass="cdt.managedbuild.tool.gnu.cpp.compiler.cygwin"
               commandLineGenerator="org.rtems.cdt.build.CygwinCommandLineGenerator">
            <inputType
                  id="org.rtems.cdt.compiler.cpp.input.cygwin"
                  scannerConfigDiscoveryProfileId="org.rtems.cdt.toolchain2.RtemsSCDProfileWinCPP"
                  superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input.cygwin"/>
         </tool>
         <tool
               id="org.rtems.cdt.linker.c.cygwin"
               superClass="cdt.managedbuild.tool.gnu.c.linker.cygwin"
               commandLineGenerator="org.rtems.cdt.build.CygwinCommandLineGenerator">
            <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.linker.cpp.cygwin"
               superClass="cdt.managedbuild.tool.gnu.cpp.linker.cygwin"
               commandLineGenerator="org.rtems.cdt.build.CygwinCommandLineGenerator">
            <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.cygwin"
               superClass="cdt.managedbuild.tool.gnu.archiver"
               commandLineGenerator="org.rtems.cdt.build.CygwinCommandLineGenerator">
            <enablement type="ALL">
               <checkBuildProperty
                     property="org.eclipse.cdt.build.core.buildArtefactType"
                     value="org.eclipse.cdt.build.core.buildArtefactType.staticLib"/>
            </enablement>
         </tool>
      </toolChain>

      <!-- Project Type -->
      <projectType
            buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe"
            id="org.rtems.cdt.projectType"
            name="RTEMS Executable">
         <configuration
               id="org.rtems.cdt.config"
               name="RTEMS Executable Configuration"
               parent="org.rtems.cdt.config.base">
            <toolChain
                  id="org.rtems.cdt.config.toolchain"
                  superClass="org.rtems.cdt.toolchain">
            </toolChain>
         </configuration>
         <configuration
               id="org.rtems.cdt.config.cygwin"
               name="RTEMS Executable Configuration"
               parent="org.rtems.cdt.config.base">
            <toolChain
                  id="org.rtems.cdt.config.toolchain.cygwin"
                  superClass="org.rtems.cdt.toolchain.cygwin">
            </toolChain>
         </configuration>
      </projectType>
   </extension>

   <!-- New Project Wizard -->
   <extension
         point="org.eclipse.cdt.managedbuilder.ui.newWizardPages">
      <wizardPage
            ID="org.rtems.cdt.wizards.BasicSetup"
            operationClass="org.rtems.cdt.wizards.FinishSetup"
            pageClass="org.rtems.cdt.wizards.BasicSetup"/>
   </extension>

   <!-- Preferences -->
   <extension
         point="org.eclipse.ui.preferencePages">
      <page
            category="org.eclipse.cdt.ui.preferences.CPluginPreferencePage"
            class="org.rtems.cdt.preferences.PreferencePage"
            id="org.rtems.cdt.preferences.PreferencePage"
            name="RTEMS">
      </page>
   </extension>
   <extension
         point="org.eclipse.core.runtime.preferences">
      <initializer
            class="org.rtems.cdt.preferences.PreferenceInitializer"/>
   </extension>

   <!-- Properties -->
   <extension
         point="org.eclipse.ui.propertyPages">
      <page
            category="org.eclipse.cdt.managedbuilder.ui.properties.Page_head_build"
            class="org.rtems.cdt.properties.PropertyPage"
            id="org.rtems.cdt.properties.PropertyPage"
            name="RTEMS">
         <filter
               name="projectNature"
               value="org.eclipse.cdt.managedbuilder.core.managedBuildNature"/>
         <enabledWhen>
            <or>
               <instanceof value="org.eclipse.cdt.core.model.ICContainer"/>
               <instanceof value="org.eclipse.cdt.core.model.ICProject"/>
               <instanceof value="org.eclipse.cdt.core.model.ITranslationUnit"/>
               <instanceof value="org.eclipse.core.resources.IFile"/>
               <instanceof value="org.eclipse.core.resources.IFolder"/>
               <instanceof value="org.eclipse.core.resources.IProject"/>
            </or>
         </enabledWhen>
      </page>
   </extension>
</plugin>