<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<plugin
   id="org.eclipse.cdt.core"
   name="%pluginName"
   version="2.1.1"
   provider-name="%providerName"
   class="org.eclipse.cdt.core.CCorePlugin">

   <runtime>
      <library name="cdtcore.jar">
         <export name="*"/>
      </library>
      <library name="cdtparser.jar">
         <export name="*"/>
      </library>
   </runtime>
   <requires>
      <import plugin="org.eclipse.core.resources"/>
      <import plugin="org.eclipse.team.core"/>
      <import plugin="org.eclipse.core.runtime"/>
      <import plugin="org.eclipse.text"/>
   </requires>

<!-- =================================================================================== -->
<!-- Obsolete extension point no longer in use, will be remove.                          -->
<!-- =================================================================================== -->
   <extension-point id="CProject" name="%CProject.name" schema="schema/CProject.exsd"/>
<!-- =================================================================================== -->
<!-- Extension Point:(work in progress) IConsole, customize a C Build console output     -->
<!-- =================================================================================== -->
   <extension-point id="CBuildConsole" name="%CBuildConsole.name" schema="schema/CBuildConsole.exsd"/>
<!-- =================================================================================== -->
<!-- Extension Point: IProcessList, returns a list of running processes                  -->
<!-- =================================================================================== -->
   <extension-point id="ProcessList" name="%ProcessList.name" schema="schema/ProcessList.exsd"/>
<!-- =================================================================================== -->
<!-- Extension Point: IErrorParser, error parsers use when building                      -->
<!-- =================================================================================== -->
   <extension-point id="ErrorParser" name="%ErrorParser.name"/>
<!-- =================================================================================== -->
<!-- Extension Point: IBinaryParser, use to detect wheter an IFile is a binary           -->
<!-- =================================================================================== -->
   <extension-point id="BinaryParser" name="BinaryParser"/>
<!-- =================================================================================== -->
<!-- Extension Point: IPathEntryStore, use to provide a storage for PathEtnry            -->
<!-- =================================================================================== -->
   <extension-point id="PathEntryStore" name="PathEntryStore"/>
<!-- =================================================================================== -->
<!-- Obsolete extension point, use the IPathEntry mechanism to provide include/macros    -->
<!-- =================================================================================== -->
   <extension-point id="ScannerInfoProvider" name="Scanner Information Provider"/>
<!-- =================================================================================== -->
<!-- Extension Point: CFileType and CFileTypeAssociation for translation unit ident      -->
<!-- =================================================================================== -->
   <extension-point id="CLanguage" name="CLanguage" schema="schema/CLanguage.exsd"/>
   <extension-point id="CFileType" name="CFileType" schema="schema/CFileType.exsd"/>
   <extension-point id="CFileTypeAssociation" name="CFileTypeAssociation" schema="schema/CFileTypeAssociation.exsd"/>
<!-- =================================================================================== -->
<!-- PathEntryContainer initialization, this is part of the IPathEntry framework         -->
<!-- =================================================================================== -->
   <extension-point id="PathEntryContainerInitializer" name="%PathEntryContainerInitializer" schema="schema/PathEntryContainerInitializer.exsd"/>
   <extension-point id="CodeFormatter" name="%CodeFormatter.name" schema="schema/CodeFormatter.exsd"/>

<!-- =================================================================================== -->
<!-- Define the list of the Binary Parser provided by the CDT                            -->
<!-- =================================================================================== -->
   <extension
         id="ELF"
         name="%ElfParser.name"
         point="org.eclipse.cdt.core.BinaryParser">
      <cextension>
         <run
               class="org.eclipse.cdt.utils.elf.parser.ElfParser">
         </run>
      </cextension>
   </extension>
   <extension
         id="GNU_ELF"
         name="%GNUElfParser.name"
         point="org.eclipse.cdt.core.BinaryParser">
      <cextension>
         <run
               class="org.eclipse.cdt.utils.elf.parser.GNUElfParser">
         </run>
      </cextension>
   </extension>
   <extension
         id="PE"
         name="%PEWindowsParser.name"
         point="org.eclipse.cdt.core.BinaryParser">
      <cextension>
         <run
               class="org.eclipse.cdt.utils.coff.parser.PEParser">
         </run>
      </cextension>
   </extension>
   <extension
         id="Cygwin_PE"
         name="%CygwinPEParser.name"
         point="org.eclipse.cdt.core.BinaryParser">
      <cextension>
         <run
               class="org.eclipse.cdt.utils.coff.parser.CygwinPEParser">
         </run>
      </cextension>
   </extension>
   <extension
         id="XCOFF32"
         name="%XCOFF32Parser.name"
         point="org.eclipse.cdt.core.BinaryParser">
      <cextension>
         <run
               class="org.eclipse.cdt.utils.xcoff.parser.XCOFF32Parser">
         </run>
      </cextension>
   </extension>
   <extension
         id="SOM"
         name="%SOMParser.name"
         point="org.eclipse.cdt.core.BinaryParser">
      <cextension>
         <run
               class="org.eclipse.cdt.utils.som.parser.SOMParser">
         </run>
      </cextension>
   </extension>
   <!-- This is for backward compatibility: an Typo was introduce in on of the realease
        and "ELF" instead of "Elf" -->
   <extension
         id="Elf"
         name="%ElfParser.name"
         point="org.eclipse.cdt.core.BinaryParser">
      <cextension>
         <filter
            name = "visibility"
            value = "private">
         </filter>
         <run
               class="org.eclipse.cdt.utils.elf.parser.ElfParser">
         </run>
      </cextension>
   </extension>
   <extension
         id="MachO"
         name="%MachOParser.name"
         point="org.eclipse.cdt.core.BinaryParser">
      <cextension>
         <run
               class="org.eclipse.cdt.utils.macho.parser.MachOParser">
         </run>
      </cextension>
   </extension>
<!-- =================================================================================== -->
<!-- Define the list of Error Parser provided by the CDT                                 -->
<!-- =================================================================================== -->
   <extension
         id="MakeErrorParser"
         name="%CDTGNUMakeErrorParser.name"
         point="org.eclipse.cdt.core.ErrorParser">
      <errorparser
            class="org.eclipse.cdt.internal.errorparsers.MakeErrorParser">
      </errorparser>
   </extension>
   <extension
         id="GCCErrorParser"
         name="%CDTGNUCErrorParser.name"
         point="org.eclipse.cdt.core.ErrorParser">
      <errorparser
            class="org.eclipse.cdt.internal.errorparsers.GCCErrorParser">
      </errorparser>
   </extension>
   <extension
         id="GASErrorParser"
         name="%CDTGNUAssemblerErrorParser.name"
         point="org.eclipse.cdt.core.ErrorParser">
      <errorparser
            class="org.eclipse.cdt.internal.errorparsers.GASErrorParser">
      </errorparser>
   </extension>
   <extension
         id="GLDErrorParser"
         name="%CDTGNULinkerErrorParser.name"
         point="org.eclipse.cdt.core.ErrorParser">
      <errorparser
            class="org.eclipse.cdt.internal.errorparsers.GLDErrorParser">
      </errorparser>
   </extension>
   <extension
         id="VCErrorParser"
         name="%CDTVisualCErrorParser.name"
         point="org.eclipse.cdt.core.ErrorParser">
      <errorparser
            class="org.eclipse.cdt.internal.errorparsers.VCErrorParser">
      </errorparser>
   </extension>
<!-- =================================================================================== -->
<!-- CDT customized problem markers: C Problem markers                                   -->
<!-- =================================================================================== -->
   <extension
         id="problem"
         name="%CProblemMarker.name"
         point="org.eclipse.core.resources.markers">
      <super
            type="org.eclipse.core.resources.problemmarker">
      </super>
      <super
            type="org.eclipse.core.resources.textmarker">
      </super>
      <persistent
            value="true">
      </persistent>
   </extension>
<!-- =================================================================================== -->
<!-- CDT C Nature                                                                        -->
<!-- =================================================================================== -->
   <extension
         id="cnature"
         name="%cnature.name"
         point="org.eclipse.core.resources.natures">
      <runtime>
         <run
               class="org.eclipse.cdt.core.CProjectNature">
         </run>
      </runtime>
   </extension>
<!-- =================================================================================== -->
<!-- CDT C++ Nature                                                                      -->
<!-- =================================================================================== -->
   <extension
         id="ccnature"
         name="%cnature.name"
         point="org.eclipse.core.resources.natures">
      <runtime>
         <run
               class="org.eclipse.cdt.core.CCProjectNature">
         </run>
      </runtime>
   </extension>
<!-- =================================================================================== -->
<!-- CDT file type mappings                                                              -->
<!-- =================================================================================== -->
   <extension
         point="org.eclipse.cdt.core.CLanguage">
      <language
            name="C"
            id="org.eclipse.cdt.core.language.c">
      </language>
      <language
            name="C++"
            id="org.eclipse.cdt.core.language.cxx">
      </language>
      <language
            name="%fileTypeMapping.AssemblyLanguage"
            id="org.eclipse.cdt.core.language.asm">
      </language>
   </extension>
   <extension
         point="org.eclipse.cdt.core.CFileType">
      <fileType
            name="%fileTypeMapping.cSourceFile"
            type="source"
            id="org.eclipse.cdt.core.fileType.c_source"
            language="org.eclipse.cdt.core.language.c">
      </fileType>
      <fileType
            name="%fileTypeMapping.cHeaderFile"
            type="header"
            id="org.eclipse.cdt.core.fileType.c_header"
            language="org.eclipse.cdt.core.language.c">
      </fileType>
      <fileType
            name="%fileTypeMapping.cppSourceFile"
            type="source"
            id="org.eclipse.cdt.core.fileType.cxx_source"
            language="org.eclipse.cdt.core.language.cxx">
      </fileType>
      <fileType
            name="%fileTypeMapping.cppHeaderFile"
            type="header"
            id="org.eclipse.cdt.core.fileType.cxx_header"
            language="org.eclipse.cdt.core.language.cxx">
      </fileType>
      <fileType
            name="%fileTypeMapping.assemblySourceFile"
            type="source"
            id="org.eclipse.cdt.core.fileType.asm_source"
            language="org.eclipse.cdt.core.language.asm">
      </fileType>
   </extension>
   <extension
         point="org.eclipse.cdt.core.CFileTypeAssociation">
      <association
            type="org.eclipse.cdt.core.fileType.c_source"
            pattern="*.c">
      </association>
      <association
            type="org.eclipse.cdt.core.fileType.c_header"
            pattern="*.h">
      </association>
      <association
            type="org.eclipse.cdt.core.fileType.cxx_source"
            pattern="*.cpp,*.cxx,*.cc,*.C">
      </association>
      <association
            file="template/cpp_headers"
            type="org.eclipse.cdt.core.fileType.cxx_header"
            pattern="*.hpp,*.hxx,*.hh,*.H">
      </association>
      <association
            type="org.eclipse.cdt.core.fileType.asm_source"
            pattern="*.asm,*.s,*.S">
      </association>
   </extension>
<!-- =================================================================================== -->
<!-- Some well known C file extensions override for the team plugins                     -->
<!-- =================================================================================== -->
   <extension
         point="org.eclipse.team.core.fileTypes">
      <fileTypes
            type="text"
            extension="c">
      </fileTypes>
      <fileTypes
            type="text"
            extension="cc">
      </fileTypes>
      <fileTypes
            type="text"
            extension="cpp">
      </fileTypes>
      <fileTypes
            type="text"
            extension="cxx">
      </fileTypes>
      <fileTypes
            type="text"
            extension="h">
      </fileTypes>
      <fileTypes
            type="text"
            extension="hh">
      </fileTypes>
      <fileTypes
            type="text"
            extension="hpp">
      </fileTypes>
      <fileTypes
            type="binary"
            extension="o">
      </fileTypes>
      <fileTypes
            type="binary"
            extension="a">
      </fileTypes>
      <fileTypes
            type="binary"
            extension="so">
      </fileTypes>
      <fileTypes
            type="binary"
            extension="dll">
      </fileTypes>
      <fileTypes
            type="binary"
            extension="exe">
      </fileTypes>
      <fileTypes
            type="binary"
            extension="com">
      </fileTypes>
      <fileTypes
            type="text"
            extension="cdtproject">
      </fileTypes>
   </extension>
<!-- =================================================================================== -->
<!-- Some well known C file extensions override for the team plugins                     -->
<!-- =================================================================================== -->
   <extension
         point="org.eclipse.team.core.ignore">
      <ignore
            enabled="true"
            pattern="*.o">
      </ignore>
      <ignore
            enabled="true"
            pattern="*.obj">
      </ignore>
      <ignore
            enabled="true"
            pattern="*.a">
      </ignore>
      <ignore
            enabled="true"
            pattern="*.so">
      </ignore>
      <ignore
            enabled="true"
            pattern="*.dll">
      </ignore>
      <ignore
            enabled="true"
            pattern="*.exe">
      </ignore>
      <ignore
            enabled="true"
            pattern="*.dylib">
      </ignore>
   </extension>
<!-- =================================================================================== -->
<!-- C/C++ Task marker(disable for now)                                                  -->
<!-- =================================================================================== -->
   <extension
         id="task"
         name="%CTaskName"
         point="org.eclipse.core.resources.markers">
      <super
            type="org.eclipse.core.resources.taskmarker">
      </super>
      <persistent
            value="true">
      </persistent>
   </extension>
<!-- =================================================================================== -->
<!-- C/C++ indexer marker                                                                -->
<!-- =================================================================================== -->
   <extension
         id="indexermarker"
         name="%IndexerMarker"
         point="org.eclipse.core.resources.markers">
      <super
            type="org.eclipse.core.resources.problemmarker">
      </super>
      <persistent
            value="true">
      </persistent>
      <super
            type="org.eclipse.core.resources.textmarker">
      </super>
   </extension>

<!-- =================================================================================== -->
<!-- Marker for problems in the PathEntries                                             -->
<!-- =================================================================================== -->
   <extension
         id="pathentry_problem"
         name="%PathEntryProblemMarker.name"
         point="org.eclipse.core.resources.markers">
      <super
            type="org.eclipse.core.resources.problemmarker">
      </super>
   </extension>

<!-- =================================================================================== -->
<!-- Code Formatter extension point                                                      -->
<!-- =================================================================================== -->
   <!--extension
         id="codeFormatters"
         name="%CodeFormatters.name"
         point="org.eclipse.cdt.core.CodeFormatter">
      <codeFormatter
            class="org.eclipse.cdt.internal.formatter.DefaultCodeFormatter"
            name="%DefaultCodeFormatter.name"
            id="org.eclipse.cdt.core.defaultCodeFormatter"/>
   </extension-->

<!-- =================================================================================== -->
<!-- Define C/C++ files ContentTypes                                                     -->
<!-- =================================================================================== -->
  <extension point="org.eclipse.core.runtime.contentTypes">
	  <!-- declares a content type for C source files -->
	  <content-type id="cSource" name="%cSourceName" 
		  base-type="org.eclipse.core.runtime.text"
		  priority="high"/>
	  <!-- declares a content type for C header files -->
      <content-type id="cHeader" name="%cHeaderName" 
          base-type="org.eclipse.core.runtime.text"
          priority="high"/>
	  <!-- declares a content type for C++ source files -->
      <content-type id="cxxSource" name="%cxxSourceName" 
          base-type="org.eclipse.core.runtime.text"
          priority="high"/>
	  <!-- declares a content type for C++ header files -->
      <content-type id="cxxHeader" name="%cxxHeaderName" 
          base-type="org.eclipse.core.runtime.text"
          priority="high"/>
	  <!-- declares a content type for ASM Source files -->
      <content-type id="asmSource" name="%asmSourceName" 
          base-type="org.eclipse.core.runtime.text"
          priority="high"/>
  </extension>

   <extension point="org.eclipse.core.runtime.contentTypes"> 
      <file-association 
       content-type="org.eclipse.cdt.core.cSource"
       file-extensions="c"/>
   </extension> 

   <extension point="org.eclipse.core.runtime.contentTypes"> 
      <file-association 
       content-type="org.eclipse.cdt.core.cxxSource"
       file-extensions="cpp,cxx,cc"/>
   </extension> 

   <extension point="org.eclipse.core.runtime.contentTypes"> 
      <file-association 
       content-type="org.eclipse.cdt.core.cxxHeader"
       file-extensions="hpp,hh"/>
   </extension> 

   <extension point="org.eclipse.core.runtime.contentTypes"> 
      <file-association 
       content-type="org.eclipse.cdt.core.cHeader"
       file-extensions="h"/>
   </extension> 

   <extension point="org.eclipse.core.runtime.contentTypes"> 
      <file-association 
       content-type="org.eclipse.cdt.core.asmSource"
       file-extensions="asm,s"/>
   </extension> 

<!-- =================================================================================== -->
<!-- Initialize the preference for the Core Plugin                                       -->
<!-- =================================================================================== -->
   <extension point="org.eclipse.core.runtime.preferences">
      <initializer class="org.eclipse.cdt.internal.core.CCorePreferenceInitializer"/>
   </extension>
 
</plugin>
