<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<!--
# Copyright (c) 2009, 2011 Wind River Systems, Inc. and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
#
# Contributors:
# Doug Schaefer   (Wind River)     - initial API and implementation 
# Anna Dushistova (Mentor Graphics)- [329531][crossgcc] crossgcc fails to build a project
-->
<plugin>

   <extension
         point="org.eclipse.cdt.managedbuilder.core.buildDefinitions">
      <managedBuildRevision
            fileVersion="4.0.0">
      </managedBuildRevision>
      <toolChain
            archList="all"
            configurationEnvironmentSupplier="org.eclipse.cdt.internal.build.crossgcc.CrossEnvironmentVariableSupplier"
            id="cdt.managedbuild.toolchain.gnu.cross.base"
            isAbstract="false"
            languageSettingsProviders="org.eclipse.cdt.managedbuilder.core.GCCBuildCommandParser;org.eclipse.cdt.build.crossgcc.CrossGCCBuiltinSpecsDetector"
            name="%toolChain.name"
            osList="all"
            targetTool="cdt.managedbuild.tool.gnu.cross.c.linker;cdt.managedbuild.tool.gnu.cross.cpp.linker;cdt.managedbuild.tool.gnu.archiver">
         <targetPlatform
               archList="all"
               binaryParser="org.eclipse.cdt.core.ELF"
               id="cdt.managedbuild.targetPlatform.gnu.cross"
               isAbstract="false"
               osList="all">
         </targetPlatform>
         <builder
               id="cdt.managedbuild.builder.gnu.cross"
               superClass="cdt.managedbuild.target.gnu.builder">
         </builder>
         <optionCategory
               id="cdt.managedbuild.optionCategory.gnu.cross.settings"
               name="%optionCategory.name">
         </optionCategory>
         <option
               category="cdt.managedbuild.optionCategory.gnu.cross.settings"
               id="cdt.managedbuild.option.gnu.cross.prefix"
               isAbstract="false"
               name="%option.prefix"
               resourceFilter="all"
               valueType="string">
         </option>
         <option
               browseType="directory"
               category="cdt.managedbuild.optionCategory.gnu.cross.settings"
               id="cdt.managedbuild.option.gnu.cross.path"
               isAbstract="false"
               name="%option.path"
               resourceFilter="all"
               valueType="string">
         </option>
         <tool
               commandLineGenerator="org.eclipse.cdt.internal.build.crossgcc.CrossCommandLineGenerator"
               id="cdt.managedbuild.tool.gnu.cross.c.compiler"
               isAbstract="false"
               name="%tool.gcc.compiler"
               superClass="cdt.managedbuild.tool.gnu.c.compiler">
         </tool>
         <tool
               commandLineGenerator="org.eclipse.cdt.internal.build.crossgcc.CrossCommandLineGenerator"
               id="cdt.managedbuild.tool.gnu.cross.cpp.compiler"
               isAbstract="false"
               name="%tool.gpp.compiler"
               superClass="cdt.managedbuild.tool.gnu.cpp.compiler">
         </tool>
         <tool
               commandLineGenerator="org.eclipse.cdt.internal.build.crossgcc.CrossCommandLineGenerator"
               id="cdt.managedbuild.tool.gnu.cross.c.linker"
               isAbstract="false"
               name="%tool.gcc.linker"
               superClass="cdt.managedbuild.tool.gnu.c.linker">
            <enablement
                  type="ALL">
               <not>
                  <checkBuildProperty
                        property="org.eclipse.cdt.build.core.buildArtefactType"
                        value="org.eclipse.cdt.build.core.buildArtefactType.staticLib">
                  </checkBuildProperty>
               </not>
            </enablement>
         </tool>
         <tool
               commandLineGenerator="org.eclipse.cdt.internal.build.crossgcc.CrossCommandLineGenerator"
               id="cdt.managedbuild.tool.gnu.cross.cpp.linker"
               isAbstract="false"
               name="%tool.gpp.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">
                  </checkBuildProperty>
               </not>
            </enablement>
         </tool>
         <tool
               commandLineGenerator="org.eclipse.cdt.internal.build.crossgcc.CrossCommandLineGenerator"
               id="cdt.managedbuild.tool.gnu.cross.archiver"
               isAbstract="false"
               name="%tool.gcc.archiver"
               superClass="cdt.managedbuild.tool.gnu.archiver">
            <enablement
                  type="ALL">
               <checkBuildProperty
                     property="org.eclipse.cdt.build.core.buildArtefactType"
                     value="org.eclipse.cdt.build.core.buildArtefactType.staticLib">
               </checkBuildProperty>
            </enablement>
         </tool>
         <tool
               commandLineGenerator="org.eclipse.cdt.internal.build.crossgcc.CrossCommandLineGenerator"
               id="cdt.managedbuild.tool.gnu.cross.assembler"
               isAbstract="false"
               name="%tool.gcc.assembler"
               superClass="cdt.managedbuild.tool.gnu.assembler">
         </tool>
      </toolChain>
	     <projectType
	        buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe"
	        id="cdt.managedbuild.target.gnu.cross.exe"
	        isAbstract="false"
	        isTest="false"
	        >                                  
	     <configuration
	           name="Debug"
	           cleanCommand="rm -rf"
	           id="cdt.managedbuild.config.gnu.cross.exe.debug"
	           parent="cdt.managedbuild.config.gnu.base"
	           buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug">
	           <toolChain
	           		 superClass="cdt.managedbuild.toolchain.gnu.cross.base"
	                 id="cdt.managedbuild.toolchain.gnu.cross.exe.debug">
	           </toolChain>                                   
	     </configuration>
	     <configuration
	           name="Release"
	           cleanCommand="rm -rf"
	           id="cdt.managedbuild.config.gnu.cross.exe.release"
	           parent="cdt.managedbuild.config.gnu.base"
	           buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release">
	           <toolChain
	                 superClass="cdt.managedbuild.toolchain.gnu.cross.base"
	                 id="cdt.managedbuild.toolchain.gnu.cross.exe.release">
	           </toolChain>                                                     
	     </configuration>
	  </projectType>              
	     
	  <projectType
	        buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.sharedLib"
	        id="cdt.managedbuild.target.gnu.cross.so"
	        isAbstract="false"
	        isTest="false"
	        >            
	     <configuration
	           name="Debug"
	           cleanCommand="rm -rf"
	           parent="cdt.managedbuild.config.gnu.base"
	           buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug"
	           id="cdt.managedbuild.config.gnu.cross.so.debug">
	           <toolChain
	                 superClass="cdt.managedbuild.toolchain.gnu.cross.base"
	                 id="cdt.managedbuild.toolchain.gnu.cross.so.debug">
	           </toolChain>                                                     
	     </configuration>
	     <configuration
	           name="Release"
	           cleanCommand="rm -rf"
	           parent="cdt.managedbuild.config.gnu.base"
	           buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release"
	           id="cdt.managedbuild.config.gnu.cross.so.release">               
	           <toolChain
	                 superClass="cdt.managedbuild.toolchain.gnu.cross.base"
	                 id="cdt.managedbuild.toolchain.gnu.cross.so.release">
	           </toolChain>                                                                                
	     </configuration>
	  </projectType>
	                   
	  <projectType
	        buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.staticLib"
	        id="cdt.managedbuild.target.gnu.cross.lib"
	        isAbstract="false"
	        isTest="false"
	        >            
	     <configuration
	           name="Debug"
	           parent="cdt.managedbuild.config.gnu.base"
	           buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug"
	           cleanCommand="rm -rf"
	           id="cdt.managedbuild.config.gnu.cross.lib.debug">
	           <toolChain
	                 superClass="cdt.managedbuild.toolchain.gnu.cross.base"
	                 id="cdt.managedbuild.toolchain.gnu.cross.lib.debug">
	           </toolChain>                                                                                				               				  
	     </configuration>
	     <configuration
	           name="Release"
	           parent="cdt.managedbuild.config.gnu.base"
	           buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release"
	           cleanCommand="rm -rf"
	           id="cdt.managedbuild.config.gnu.cross.lib.release">
	           <toolChain
	                 superClass="cdt.managedbuild.toolchain.gnu.cross.base"
	                 id="cdt.managedbuild.toolchain.gnu.cross.lib.release">
			</toolChain>                                                                                				                    
         </configuration>         
      </projectType>
   </extension>
   <extension
         point="org.eclipse.cdt.core.templateAssociations">
      <template
            id="org.eclipse.cdt.build.core.templates.HelloWorldCAnsiProject">
         <toolChain
               id="cdt.managedbuild.toolchain.gnu.cross.base">
         </toolChain>
      </template>
      <template
            id="org.eclipse.cdt.build.core.templates.HelloWorldCCProject">
         <toolChain
               id="cdt.managedbuild.toolchain.gnu.cross.base">
         </toolChain>
      </template>
   </extension>
   <extension
         point="org.eclipse.cdt.managedbuilder.ui.newWizardPages">
      <wizardPage
            ID="org.eclipse.cdt.build.crossgcc.setcCrossCommandWizardPage"
            operationClass="org.eclipse.cdt.internal.build.crossgcc.SetCrossCommandOperation"
            pageClass="org.eclipse.cdt.internal.build.crossgcc.SetCrossCommandWizardPage">
         <toolchain
               toolchainID="cdt.managedbuild.toolchain.gnu.cross.exe.debug">
         </toolchain>
         <toolchain
               toolchainID="cdt.managedbuild.toolchain.gnu.cross.exe.release">
         </toolchain>
         <toolchain
               toolchainID="cdt.managedbuild.toolchain.gnu.cross.so.debug">
         </toolchain>
         <toolchain
               toolchainID="cdt.managedbuild.toolchain.gnu.cross.so.release">
         </toolchain>
         <toolchain
               toolchainID="cdt.managedbuild.toolchain.gnu.cross.lib.debug">
         </toolchain>
         <toolchain
               toolchainID="cdt.managedbuild.toolchain.gnu.cross.lib.release">
         </toolchain>
      </wizardPage>
   </extension>
   <extension
         point="org.eclipse.cdt.core.LanguageSettingsProvider">
      <provider
            class="org.eclipse.cdt.internal.build.crossgcc.CrossGCCBuiltinSpecsDetector"
            id="org.eclipse.cdt.build.crossgcc.CrossGCCBuiltinSpecsDetector"
            name="%CrossGCCBuiltinSpecsDetector.name"
            parameter="${COMMAND} ${FLAGS} -E -P -v -dD &quot;${INPUTS}&quot;"
            prefer-non-shared="true">
         <language-scope id="org.eclipse.cdt.core.gcc"/>
         <language-scope id="org.eclipse.cdt.core.g++"/>
      </provider>
   </extension>
</plugin>
