1<?xml version="1.0" encoding="UTF-8"?>
2<?eclipse version="3.4"?>
3<plugin>
4   <extension
5         point="org.eclipse.cdt.managedbuilder.core.buildDefinitions">
6      <managedBuildRevision
7            fileVersion="4.0.0">
8      </managedBuildRevision>
9      <toolChain
10            configurationEnvironmentSupplier="com.android.ide.eclipse.ndk.internal.build.NdkEnvSupplier"
11            id="com.android.toolchain.gcc"
12            isAbstract="false"
13            name="Android GCC">
14         <targetPlatform
15               binaryParser="org.eclipse.cdt.core.ELF"
16               id="com.android.targetPlatform"
17               isAbstract="false">
18         </targetPlatform>
19         <builder
20               cleanBuildTarget="clean"
21               command="ndk-build"
22               commandLauncher="com.android.ide.eclipse.ndk.internal.build.NdkCommandLauncher"
23               id="com.android.builder"
24               isAbstract="false"
25               isVariableCaseSensitive="false"
26               name="Android Builder">
27         </builder>
28         <tool
29               id="com.android.gcc.compiler"
30               isAbstract="false"
31               name="Android GCC Compiler"
32               natureFilter="both">
33            <option
34                  browseType="directory"
35                  id="com.android.gcc.option.includePath"
36                  isAbstract="false"
37                  resourceFilter="all"
38                  valueType="includePath">
39            </option>
40            <inputType
41                  id="com.android.gcc.inputType"
42                  scannerConfigDiscoveryProfileId="com.android.AndroidPerProjectProfile"
43                  sources="c,cpp">
44            </inputType>
45         </tool>
46      </toolChain>
47   </extension>
48   <extension
49         id="com.android.AndroidPerProjectProfile"
50         name="Android Per Project Profile"
51         point="org.eclipse.cdt.make.core.ScannerConfigurationDiscoveryProfile">
52      <scannerInfoCollector
53            class="com.android.ide.eclipse.ndk.internal.discovery.NdkScannerInfoCollector"
54            scope="project">
55      </scannerInfoCollector>
56   </extension>
57   <extension
58         point="org.eclipse.cdt.core.templateProcessTypes">
59      <processType
60            name="SetFolders"
61            processRunner="com.android.ide.eclipse.ndk.internal.templates.SetFolders">
62         <simple
63               name="projectName">
64         </simple>
65         <simpleArray
66               name="sourceFolders">
67         </simpleArray>
68         <simpleArray
69               name="outputFolders">
70         </simpleArray>
71      </processType>
72      <processType
73            name="SimpleFile"
74            processRunner="com.android.ide.eclipse.ndk.internal.templates.SimpleFile">
75         <simple
76               name="projectName">
77         </simple>
78         <complexArray
79               name="files">
80            <baseType>
81               <simple
82                     name="source">
83               </simple>
84               <simple
85                     name="destination">
86               </simple></baseType>
87         </complexArray>
88      </processType>
89   </extension>
90   <extension
91         point="org.eclipse.cdt.core.templates">
92      <template
93            id="com.android.ide.eclipse.ndk.addNdkSupport"
94            location="templates/addNdkSupport.xml"
95            projectType="none">
96      </template>
97   </extension>
98   <extension
99         point="org.eclipse.ui.preferencePages">
100      <page
101            category="com.android.ide.eclipse.preferences.main"
102            class="com.android.ide.eclipse.ndk.internal.preferences.NdkPreferencePage"
103            id="org.eclipse.cdt.android.page"
104            name="NDK">
105      </page>
106   </extension>
107   <extension
108         point="org.eclipse.ui.popupMenus">
109      <objectContribution
110            adaptable="true"
111            id="com.android.ide.eclipse.ndk.projectContribution"
112            objectClass="org.eclipse.core.resources.IProject">
113         <visibility>
114            <and>
115               <objectState
116                     name="projectNature"
117                     value="com.android.ide.eclipse.adt.AndroidNature">
118               </objectState>
119               <not>
120                  <objectState
121                        name="projectNature"
122                        value="org.eclipse.cdt.core.cnature">
123                  </objectState>
124               </not>
125            </and>
126         </visibility>
127         <action
128               class="com.android.ide.eclipse.ndk.internal.actions.AddNativeAction"
129               enablesFor="1"
130               id="org.eclipse.cdt.android.action1"
131               label="Add Native Support..."
132               menubarPath="com.android.ide.eclipse.adt.AndroidTools/ndk">
133         </action>
134      </objectContribution>
135   </extension>
136   <extension
137         point="org.eclipse.core.runtime.preferences">
138      <initializer
139            class="com.android.ide.eclipse.ndk.internal.preferences.NdkPreferenceInitializer">
140      </initializer>
141   </extension>
142   <extension
143         point="org.eclipse.debug.core.launchConfigurationTypes">
144      <launchConfigurationType
145            delegate="com.android.ide.eclipse.ndk.internal.launch.NdkGdbLaunchDelegate"
146            delegateName="Android ndk-gdb Launcher"
147            id="com.android.ide.eclipse.ndk.debug.LaunchConfigType"
148            modes="debug"
149            name="Android Native Application"
150            public="true"
151            sourceLocatorId="org.eclipse.cdt.debug.core.sourceLocator"
152            sourcePathComputerId="org.eclipse.cdt.debug.core.sourcePathComputer">
153      </launchConfigurationType>
154   </extension>
155   <extension
156         point="org.eclipse.debug.ui.launchConfigurationTypeImages">
157      <launchConfigurationTypeImage
158            configTypeID="com.android.ide.eclipse.ndk.debug.LaunchConfigType"
159            icon="icons/android_app.png"
160            id="com.android.ide.eclipse.ndk.debug.LaunchConfigTypeImage">
161      </launchConfigurationTypeImage>
162   </extension>
163   <extension
164         point="org.eclipse.debug.ui.launchConfigurationTabGroups">
165      <launchConfigurationTabGroup
166            class="com.android.ide.eclipse.ndk.internal.launch.NdkGdbLaunchConfigTabGroups"
167            description="Android Native Application"
168            id="com.android.ide.eclipse.ndk.debug.LaunchConfigTabGroup"
169            type="com.android.ide.eclipse.ndk.debug.LaunchConfigType">
170      </launchConfigurationTabGroup>
171   </extension>
172   <extension
173         point="org.eclipse.debug.ui.launchShortcuts">
174      <shortcut
175            class="com.android.ide.eclipse.ndk.internal.launch.NdkGdbLaunchShortcut"
176            id="com.android.ide.eclipse.ndk.debug.LaunchConfigShortcut"
177            label="Android Native Application"
178            modes="debug">
179            <contextualLaunch>
180                <enablement>
181                    <with variable="selection">
182                        <count value="1" />
183                        <iterate>
184                            <and>
185                                <test property="org.eclipse.jdt.launching.isContainer" />
186                                <test
187                                    property="org.eclipse.jdt.launching.hasProjectNature"
188                                    args="com.android.ide.eclipse.adt.AndroidNature" />
189                            </and>
190                        </iterate>
191                    </with>
192                </enablement>
193            </contextualLaunch>
194            <perspective id="org.eclipse.jdt.ui.JavaPerspective" />
195            <perspective id="org.eclipse.debug.ui.DebugPerspective" />
196            <perspective
197                  id="org.eclipse.cdt.ui.CPerspective">
198            </perspective>
199            <configurationType id="com.android.ide.eclipse.ndk.debug.LaunchConfigType">
200            </configurationType>
201            <description
202                description="Debug as Android Native Application"
203                mode="debug">
204            </description>
205      </shortcut>
206   </extension>
207
208</plugin>
209