<?xml version="1.0" encoding="UTF-8"?>
<?pde version="3.5"?>

<product name="Stand-alone C/C++ GDB Debugger" uid="org.eclipse.cdt.debug.application.product" id="org.eclipse.cdt.debug.application.product" application="org.eclipse.cdt.debug.application.app" version="9.0.0.qualifier" useFeatures="false" includeLaunchers="true">

   <aboutInfo>
      <image path="/org.eclipse.cdt.debug.application/icons/about.png"/>
      <text>
         %aboutText
      </text>
   </aboutInfo>

   <configIni use="default">
   </configIni>

   <launcherArgs>
      <programArgs>--launcher.XXMaxPermSize 256m -data @noDefault
      </programArgs>
      <programArgsLin>--launcher.GTK_version 2
      </programArgsLin>
      <vmArgsLin>-Xms100m -Xmx512m  -Dosgi.requiredJavaVersion=1.8
      </vmArgsLin>
      <vmArgsMac>-Xms100m -Xmx512m  -XstartOnFirstThread -Dosgi.requiredJavaVersion=1.8 -Dorg.eclipse.swt.internal.carbon.smallFonts
      </vmArgsMac>
      <vmArgsSol>-Xms100m -Xmx512m   -Dosgi.requiredJavaVersion=1.8
      </vmArgsSol>
      <vmArgsWin>-Xms100m -Xmx512m   -Dosgi.requiredJavaVersion=1.8
      </vmArgsWin>
   </launcherArgs>

   <windowImages i16="/org.eclipse.cdt.debug.application/icons/cc16.png" i32="/org.eclipse.cdt.debug.application/icons/cc32.png" i48="/org.eclipse.cdt.debug.application/icons/cc48.png" i64="/org.eclipse.cdt.debug.application/icons/cc64.png" i128="/org.eclipse.cdt.debug.application/icons/cc128.png" i256="/org.eclipse.cdt.debug.application/icons/cc.png"/>

   <launcher name="cdtdebug">
      <linux icon="../org.eclipse.cdt.debug.application/icons/cc.xpm"/>
      <macosx icon="../org.eclipse.cdt.debug.application/icons/cc.icns"/>
      <solaris/>
      <win useIco="true">
         <ico path="../org.eclipse.cdt.debug.application/icons/cc.ico"/>
         <bmp/>
      </win>
   </launcher>

   <vm>
      <linux include="false">org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8</linux>
      <macos include="false">org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8</macos>
      <solaris include="false">org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8</solaris>
      <windows include="false">org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8</windows>
   </vm>

   <license>
        <url>http://eclipse.org/legal/epl/notice.php</url>
        <text>
   Eclipse Foundation Software User Agreement
April 9, 2014

Usage Of Content

THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR
OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY &quot;CONTENT&quot;).
USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS
AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR
NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU
AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT
AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS
OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE
TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS
OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED
BELOW, THEN YOU MAY NOT USE THE CONTENT.

Applicable Licenses

Unless otherwise indicated, all Content made available by the
Eclipse Foundation is provided to you under the terms and conditions of
the Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is
provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.
For purposes of the EPL, &quot;Program&quot; will mean the Content.

Content includes, but is not limited to, source code, object code,
documentation and other files maintained in the Eclipse Foundation source code
repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available
as downloadable archives (&quot;Downloads&quot;).

    - Content may be structured and packaged into modules to facilitate delivering,
      extending, and upgrading the Content. Typical modules may include plug-ins (&quot;Plug-ins&quot;),
      plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).
    - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)
      in a directory named &quot;plugins&quot;.
    - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.
      Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.
      Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version
      numbers of the Plug-ins and/or Fragments associated with that Feature.
    - Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files
      named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.

The terms and conditions governing Plug-ins and Fragments should be
contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and
conditions governing Features and Included Features should be contained
in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature
Licenses may be located in any directory of a Download or Module
including, but not limited to the following locations:

    - The top-level (root) directory
    - Plug-in and Fragment directories
    - Inside Plug-ins and Fragments packaged as JARs
    - Sub-directories of the directory named &quot;src&quot; of certain Plug-ins
    - Feature directories

Note: if a Feature made available by the Eclipse Foundation is installed using the
Provisioning Technology (as defined below), you must agree to a license (&quot;Feature
Update License&quot;) during the installation process. If the Feature contains
Included Features, the Feature Update License should either provide you
with the terms and conditions governing the Included Features or inform
you where you can locate them. Feature Update Licenses may be found in
the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
Such Abouts, Feature Licenses, and Feature Update Licenses contain the
terms and conditions (or references to such terms and conditions) that
govern your use of the associated Content in that directory.

THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER
TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.
SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

    - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)
    - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)
    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)
    - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)
    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)

IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR
TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License
is provided, please contact the Eclipse Foundation to determine what terms and conditions
govern that particular Content.


Use of Provisioning Technology

The Eclipse Foundation makes available provisioning software, examples of which include,
but are not limited to, p2 and the Eclipse Update Manager (&quot;Provisioning Technology&quot;) for
the purpose of allowing users to install software, documentation, information and/or
other materials (collectively &quot;Installable Software&quot;). This capability is provided with
the intent of allowing such users to install, extend and update Eclipse-based products.
Information about packaging Installable Software is available at
http://eclipse.org/equinox/p2/repository_packaging.html (&quot;Specification&quot;).

You may use Provisioning Technology to allow other parties to install Installable Software.
You shall be responsible for enabling the applicable license agreements relating to the
Installable Software to be presented to, and accepted by, the users of the Provisioning Technology
in accordance with the Specification. By using Provisioning Technology in such a manner and
making it available in accordance with the Specification, you further acknowledge your
agreement to, and the acquisition of all necessary rights to permit the following:

    1. A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute
       the Provisioning Technology on a machine (&quot;Target Machine&quot;) with the intent of installing,
       extending or updating the functionality of an Eclipse-based product.
    2. During the Provisioning Process, the Provisioning Technology may cause third party
       Installable Software or a portion thereof to be accessed and copied to the Target Machine.
    3. Pursuant to the Specification, you will provide to the user the terms and conditions that
       govern the use of the Installable Software (&quot;Installable Software Agreement&quot;) and such
       Installable Software Agreement shall be accessed from the Target Machine in accordance
       with the Specification. Such Installable Software Agreement must inform the user of the
       terms and conditions that govern the Installable Software and must solicit acceptance by
       the end user in the manner prescribed in such Installable Software Agreement. Upon such
       indication of agreement by the user, the provisioning Technology will complete installation
       of the Installable Software.

Cryptography

Content may contain encryption software. The country in which you are
currently may have restrictions on the import, possession, and use,
and/or re-export to another country, of encryption software. BEFORE
using any encryption software, please check the country&apos;s laws,
regulations and policies concerning the import, possession, or use, and
re-export of encryption software, to see if this is permitted.

Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.
         </text>
   </license>

   <plugins>
      <plugin id="com.ibm.icu"/>
      <plugin id="javax.annotation"/>
      <plugin id="javax.el"/>
      <plugin id="javax.inject"/>
      <plugin id="javax.servlet"/>
      <plugin id="javax.servlet.jsp"/>
      <plugin id="javax.xml"/>
      <plugin id="org.apache.batik.css"/>
      <plugin id="org.apache.batik.util"/>
      <plugin id="org.apache.batik.util.gui"/>
      <plugin id="org.apache.commons.jxpath"/>
      <plugin id="org.apache.jasper.glassfish"/>
      <plugin id="org.apache.lucene.analysis"/>
      <plugin id="org.apache.lucene.core"/>
      <plugin id="org.eclipse.cdt.core"/>
      <plugin id="org.eclipse.cdt.core.linux" fragment="true"/>
      <plugin id="org.eclipse.cdt.core.linux.x86" fragment="true"/>
      <plugin id="org.eclipse.cdt.core.linux.x86_64" fragment="true"/>
      <plugin id="org.eclipse.cdt.core.macosx" fragment="true"/>
      <plugin id="org.eclipse.cdt.core.native"/>
      <plugin id="org.eclipse.cdt.core.win32" fragment="true"/>
      <plugin id="org.eclipse.cdt.core.win32.x86" fragment="true"/>
      <plugin id="org.eclipse.cdt.core.win32.x86_64" fragment="true"/>
      <plugin id="org.eclipse.cdt.debug.application"/>
      <plugin id="org.eclipse.cdt.debug.application.doc"/>
      <plugin id="org.eclipse.cdt.debug.core"/>
      <plugin id="org.eclipse.cdt.debug.ui"/>
      <plugin id="org.eclipse.cdt.debug.ui.memory.floatingpoint"/>
      <plugin id="org.eclipse.cdt.debug.ui.memory.memorybrowser"/>
      <plugin id="org.eclipse.cdt.debug.ui.memory.search"/>
      <plugin id="org.eclipse.cdt.debug.ui.memory.traditional"/>
      <plugin id="org.eclipse.cdt.debug.ui.memory.transport"/>
      <plugin id="org.eclipse.cdt.dsf"/>
      <plugin id="org.eclipse.cdt.dsf.gdb"/>
      <plugin id="org.eclipse.cdt.dsf.gdb.ui"/>
      <plugin id="org.eclipse.cdt.dsf.ui"/>
      <plugin id="org.eclipse.cdt.gdb"/>
      <plugin id="org.eclipse.cdt.gdb.ui"/>
      <plugin id="org.eclipse.cdt.launch"/>
      <plugin id="org.eclipse.cdt.make.core"/>
      <plugin id="org.eclipse.cdt.managedbuilder.core"/>
      <plugin id="org.eclipse.cdt.managedbuilder.gnu.ui"/>
      <plugin id="org.eclipse.cdt.ui"/>
      <plugin id="org.eclipse.compare"/>
      <plugin id="org.eclipse.compare.core"/>
      <plugin id="org.eclipse.core.commands"/>
      <plugin id="org.eclipse.core.contenttype"/>
      <plugin id="org.eclipse.core.databinding"/>
      <plugin id="org.eclipse.core.databinding.observable"/>
      <plugin id="org.eclipse.core.databinding.property"/>
      <plugin id="org.eclipse.core.expressions"/>
      <plugin id="org.eclipse.core.filebuffers"/>
      <plugin id="org.eclipse.core.filesystem"/>
      <plugin id="org.eclipse.core.filesystem.linux.x86" fragment="true"/>
      <plugin id="org.eclipse.core.filesystem.linux.x86_64" fragment="true"/>
      <plugin id="org.eclipse.core.filesystem.macosx" fragment="true"/>
      <plugin id="org.eclipse.core.filesystem.win32.x86" fragment="true"/>
      <plugin id="org.eclipse.core.filesystem.win32.x86_64" fragment="true"/>
      <plugin id="org.eclipse.core.jobs"/>
      <plugin id="org.eclipse.core.net"/>
      <plugin id="org.eclipse.core.net.linux.x86" fragment="true"/>
      <plugin id="org.eclipse.core.net.linux.x86_64" fragment="true"/>
      <plugin id="org.eclipse.core.net.win32.x86" fragment="true"/>
      <plugin id="org.eclipse.core.net.win32.x86_64" fragment="true"/>
      <plugin id="org.eclipse.core.resources"/>
      <plugin id="org.eclipse.core.runtime"/>
      <plugin id="org.eclipse.core.variables"/>
      <plugin id="org.eclipse.debug.core"/>
      <plugin id="org.eclipse.debug.ui"/>
      <plugin id="org.eclipse.e4.core.commands"/>
      <plugin id="org.eclipse.e4.core.contexts"/>
      <plugin id="org.eclipse.e4.core.di"/>
      <plugin id="org.eclipse.e4.core.di.annotations"/>
      <plugin id="org.eclipse.e4.core.di.extensions"/>
      <plugin id="org.eclipse.e4.core.services"/>
      <plugin id="org.eclipse.e4.emf.xpath"/>
      <plugin id="org.eclipse.e4.ui.bindings"/>
      <plugin id="org.eclipse.e4.ui.css.core"/>
      <plugin id="org.eclipse.e4.ui.css.swt"/>
      <plugin id="org.eclipse.e4.ui.css.swt.theme"/>
      <plugin id="org.eclipse.e4.ui.di"/>
      <plugin id="org.eclipse.e4.ui.model.workbench"/>
      <plugin id="org.eclipse.e4.ui.services"/>
      <plugin id="org.eclipse.e4.ui.widgets"/>
      <plugin id="org.eclipse.e4.ui.workbench"/>
      <plugin id="org.eclipse.e4.ui.workbench.addons.swt"/>
      <plugin id="org.eclipse.e4.ui.workbench.renderers.swt"/>
      <plugin id="org.eclipse.e4.ui.workbench.swt"/>
      <plugin id="org.eclipse.e4.ui.workbench3"/>
      <plugin id="org.eclipse.ecf"/>
      <plugin id="org.eclipse.ecf.filetransfer"/>
      <plugin id="org.eclipse.ecf.identity"/>
      <plugin id="org.eclipse.ecf.provider.filetransfer"/>
      <plugin id="org.eclipse.ecf.provider.filetransfer.ssl" fragment="true"/>
      <plugin id="org.eclipse.ecf.ssl" fragment="true"/>
      <plugin id="org.eclipse.emf.common"/>
      <plugin id="org.eclipse.emf.ecore"/>
      <plugin id="org.eclipse.emf.ecore.change"/>
      <plugin id="org.eclipse.emf.ecore.xmi"/>
      <plugin id="org.eclipse.equinox.app"/>
      <plugin id="org.eclipse.equinox.bidi"/>
      <plugin id="org.eclipse.equinox.common"/>
      <plugin id="org.eclipse.equinox.ds"/>
      <plugin id="org.eclipse.equinox.event"/>
      <plugin id="org.eclipse.equinox.frameworkadmin"/>
      <plugin id="org.eclipse.equinox.frameworkadmin.equinox"/>
      <plugin id="org.eclipse.equinox.http.jetty"/>
      <plugin id="org.eclipse.equinox.http.registry"/>
      <plugin id="org.eclipse.equinox.http.servlet"/>
      <plugin id="org.eclipse.equinox.jsp.jasper"/>
      <plugin id="org.eclipse.equinox.jsp.jasper.registry"/>
      <plugin id="org.eclipse.equinox.launcher"/>
      <plugin id="org.eclipse.equinox.launcher.cocoa.macosx.x86_64" fragment="true"/>
      <plugin id="org.eclipse.equinox.launcher.gtk.linux.x86" fragment="true"/>
      <plugin id="org.eclipse.equinox.launcher.gtk.linux.x86_64" fragment="true"/>
      <plugin id="org.eclipse.equinox.launcher.win32.win32.x86" fragment="true"/>
      <plugin id="org.eclipse.equinox.launcher.win32.win32.x86_64" fragment="true"/>
      <plugin id="org.eclipse.equinox.p2.artifact.repository"/>
      <plugin id="org.eclipse.equinox.p2.core"/>
      <plugin id="org.eclipse.equinox.p2.director"/>
      <plugin id="org.eclipse.equinox.p2.engine"/>
      <plugin id="org.eclipse.equinox.p2.garbagecollector"/>
      <plugin id="org.eclipse.equinox.p2.jarprocessor"/>
      <plugin id="org.eclipse.equinox.p2.metadata"/>
      <plugin id="org.eclipse.equinox.p2.metadata.repository"/>
      <plugin id="org.eclipse.equinox.p2.operations"/>
      <plugin id="org.eclipse.equinox.p2.repository"/>
      <plugin id="org.eclipse.equinox.p2.touchpoint.eclipse"/>
      <plugin id="org.eclipse.equinox.p2.touchpoint.natives"/>
      <plugin id="org.eclipse.equinox.p2.transport.ecf"/>
      <plugin id="org.eclipse.equinox.p2.ui"/>
      <plugin id="org.eclipse.equinox.p2.ui.sdk"/>
      <plugin id="org.eclipse.equinox.preferences"/>
      <plugin id="org.eclipse.equinox.registry"/>
      <plugin id="org.eclipse.equinox.security"/>
      <plugin id="org.eclipse.equinox.security.ui"/>
      <plugin id="org.eclipse.equinox.simpleconfigurator"/>
      <plugin id="org.eclipse.equinox.simpleconfigurator.manipulator"/>
      <plugin id="org.eclipse.equinox.util"/>
      <plugin id="org.eclipse.help"/>
      <plugin id="org.eclipse.help.base"/>
      <plugin id="org.eclipse.help.ui"/>
      <plugin id="org.eclipse.help.webapp"/>
      <plugin id="org.eclipse.jetty.http"/>
      <plugin id="org.eclipse.jetty.io"/>
      <plugin id="org.eclipse.jetty.security"/>
      <plugin id="org.eclipse.jetty.server"/>
      <plugin id="org.eclipse.jetty.servlet"/>
      <plugin id="org.eclipse.jetty.util"/>
      <plugin id="org.eclipse.jface"/>
      <plugin id="org.eclipse.jface.databinding"/>
      <plugin id="org.eclipse.jface.text"/>
      <plugin id="org.eclipse.launchbar.core"/>
      <plugin id="org.eclipse.ltk.core.refactoring"/>
      <plugin id="org.eclipse.ltk.ui.refactoring"/>
      <plugin id="org.eclipse.osgi"/>
      <plugin id="org.eclipse.osgi.compatibility.state" fragment="true"/>
      <plugin id="org.eclipse.osgi.services"/>
      <plugin id="org.eclipse.search"/>
      <plugin id="org.eclipse.swt"/>
      <plugin id="org.eclipse.swt.cocoa.macosx.x86_64" fragment="true"/>
      <plugin id="org.eclipse.swt.gtk.linux.x86" fragment="true"/>
      <plugin id="org.eclipse.swt.gtk.linux.x86_64" fragment="true"/>
      <plugin id="org.eclipse.swt.win32.win32.x86" fragment="true"/>
      <plugin id="org.eclipse.swt.win32.win32.x86_64" fragment="true"/>
      <plugin id="org.eclipse.team.core"/>
      <plugin id="org.eclipse.team.ui"/>
      <plugin id="org.eclipse.text"/>
      <plugin id="org.eclipse.ui"/>
      <plugin id="org.eclipse.ui.console"/>
      <plugin id="org.eclipse.ui.editors"/>
      <plugin id="org.eclipse.ui.forms"/>
      <plugin id="org.eclipse.ui.ide"/>
      <plugin id="org.eclipse.ui.navigator"/>
      <plugin id="org.eclipse.ui.navigator.resources"/>
      <plugin id="org.eclipse.ui.net"/>
      <plugin id="org.eclipse.ui.themes"/>
      <plugin id="org.eclipse.ui.views"/>
      <plugin id="org.eclipse.ui.views.log"/>
      <plugin id="org.eclipse.ui.views.properties.tabbed"/>
      <plugin id="org.eclipse.ui.workbench"/>
      <plugin id="org.eclipse.ui.workbench.texteditor"/>
      <plugin id="org.eclipse.update.configurator"/>
      <plugin id="org.sat4j.core"/>
      <plugin id="org.sat4j.pb"/>
      <plugin id="org.tukaani.xz"/>
      <plugin id="org.w3c.css.sac"/>
      <plugin id="org.w3c.dom.events"/>
      <plugin id="org.w3c.dom.smil"/>
      <plugin id="org.w3c.dom.svg"/>
   </plugins>

   <configurations>
      <plugin id="org.eclipse.core.runtime" autoStart="true" startLevel="4" />
      <plugin id="org.eclipse.equinox.common" autoStart="true" startLevel="2" />
      <plugin id="org.eclipse.equinox.ds" autoStart="true" startLevel="1" />
      <plugin id="org.eclipse.equinox.simpleconfigurator" autoStart="true" startLevel="1" />
      <plugin id="org.eclipse.osgi" autoStart="true" startLevel="-1" />
      <plugin id="org.eclipse.update.configurator" autoStart="true" startLevel="3" />
   </configurations>

   <repositories>
      <repository location="http://download.eclipse.org/tools/cdt/builds/master/nightly/rcp-repository" enabled="true" />
   </repositories>

   <preferencesInfo>
      <targetfile overwrite="false"/>
   </preferencesInfo>

   <cssInfo>
   </cssInfo>

</product>
