1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-23 14:42:11 +02:00

Build stand-alone debugger RCP for Windows

Change-Id: I50dae8e3cfb47c4db7f0354e57753055958e3d2c
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
This commit is contained in:
Marc-Andre Laperle 2015-07-20 13:44:28 -04:00 committed by Gerrit Code Review @ Eclipse.org
parent 7571170de6
commit c137a9dfbc
8 changed files with 37 additions and 10 deletions

View file

@ -2,6 +2,6 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2 Bundle-ManifestVersion: 2
Bundle-Name: %bundleName Bundle-Name: %bundleName
Bundle-SymbolicName: org.eclipse.cdt.debug.application.doc;singleton:=true Bundle-SymbolicName: org.eclipse.cdt.debug.application.doc;singleton:=true
Bundle-Version: 1.0.0.qualifier Bundle-Version: 1.1.0.qualifier
Bundle-Vendor: %provider Bundle-Vendor: %provider
Bundle-Localization: plugin Bundle-Localization: plugin

View file

@ -10,7 +10,7 @@
<relativePath>../../pom.xml</relativePath> <relativePath>../../pom.xml</relativePath>
</parent> </parent>
<version>1.0.0-SNAPSHOT</version> <version>1.1.0-SNAPSHOT</version>
<artifactId>org.eclipse.cdt.debug.application.doc</artifactId> <artifactId>org.eclipse.cdt.debug.application.doc</artifactId>
<packaging>eclipse-plugin</packaging> <packaging>eclipse-plugin</packaging>

View file

@ -8,4 +8,4 @@ You can find more information about command-line options in
org.eclipse.cdt.debug.application/scripts/README. org.eclipse.cdt.debug.application/scripts/README.
Note that this product is currently only built for the more popular architecture x86 and x86_64 on Note that this product is currently only built for the more popular architecture x86 and x86_64 on
Linux. Linux and Windows.

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<?pde version="3.5"?> <?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="1.0.0.qualifier" useFeatures="false" includeLaunchers="true"> <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="1.1.0.qualifier" useFeatures="false" includeLaunchers="true">
<aboutInfo> <aboutInfo>
<image path="/org.eclipse.cdt.debug.application/icons/about.png"/> <image path="/org.eclipse.cdt.debug.application/icons/about.png"/>
@ -34,7 +34,8 @@
<launcher name="cdtdebug"> <launcher name="cdtdebug">
<linux icon="../org.eclipse.cdt.debug.application/icons/cc.xpm"/> <linux icon="../org.eclipse.cdt.debug.application/icons/cc.xpm"/>
<solaris/> <solaris/>
<win useIco="false"> <win useIco="true">
<ico path="../org.eclipse.cdt.debug.application/icons/cc.ico"/>
<bmp/> <bmp/>
</win> </win>
</launcher> </launcher>
@ -195,6 +196,9 @@ Java and all Java-based trademarks are trademarks of Oracle Corporation in the U
<plugin id="org.eclipse.cdt.core.linux.x86" 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.linux.x86_64" fragment="true"/>
<plugin id="org.eclipse.cdt.core.native"/> <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"/>
<plugin id="org.eclipse.cdt.debug.application.doc"/> <plugin id="org.eclipse.cdt.debug.application.doc"/>
<plugin id="org.eclipse.cdt.debug.core"/> <plugin id="org.eclipse.cdt.debug.core"/>
@ -232,10 +236,14 @@ Java and all Java-based trademarks are trademarks of Oracle Corporation in the U
<plugin id="org.eclipse.core.filesystem.java7" fragment="true"/> <plugin id="org.eclipse.core.filesystem.java7" fragment="true"/>
<plugin id="org.eclipse.core.filesystem.linux.x86" fragment="true"/> <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.linux.x86_64" 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.jobs"/>
<plugin id="org.eclipse.core.net"/> <plugin id="org.eclipse.core.net"/>
<plugin id="org.eclipse.core.net.linux.x86" fragment="true"/> <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.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.resources"/>
<plugin id="org.eclipse.core.runtime"/> <plugin id="org.eclipse.core.runtime"/>
<plugin id="org.eclipse.core.runtime.compatibility.registry" fragment="true"/> <plugin id="org.eclipse.core.runtime.compatibility.registry" fragment="true"/>
@ -285,6 +293,8 @@ Java and all Java-based trademarks are trademarks of Oracle Corporation in the U
<plugin id="org.eclipse.equinox.launcher"/> <plugin id="org.eclipse.equinox.launcher"/>
<plugin id="org.eclipse.equinox.launcher.gtk.linux.x86" 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.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.artifact.repository"/>
<plugin id="org.eclipse.equinox.p2.core"/> <plugin id="org.eclipse.equinox.p2.core"/>
<plugin id="org.eclipse.equinox.p2.director"/> <plugin id="org.eclipse.equinox.p2.director"/>
@ -329,6 +339,8 @@ Java and all Java-based trademarks are trademarks of Oracle Corporation in the U
<plugin id="org.eclipse.swt"/> <plugin id="org.eclipse.swt"/>
<plugin id="org.eclipse.swt.gtk.linux.x86" 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.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.core"/>
<plugin id="org.eclipse.team.ui"/> <plugin id="org.eclipse.team.ui"/>
<plugin id="org.eclipse.text"/> <plugin id="org.eclipse.text"/>

View file

@ -4,7 +4,7 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<version>1.0.0-SNAPSHOT</version> <version>1.1.0-SNAPSHOT</version>
<artifactId>org.eclipse.cdt.debug.application.product</artifactId> <artifactId>org.eclipse.cdt.debug.application.product</artifactId>
<packaging>eclipse-repository</packaging> <packaging>eclipse-repository</packaging>
<name>Stand-Alone C/C++ Debugger Product</name> <name>Stand-Alone C/C++ Debugger Product</name>
@ -74,6 +74,16 @@
<ws>gtk</ws> <ws>gtk</ws>
<arch>x86_64</arch> <arch>x86_64</arch>
</environment> </environment>
<environment>
<os>win32</os>
<ws>win32</ws>
<arch>x86</arch>
</environment>
<environment>
<os>win32</os>
<ws>win32</ws>
<arch>x86_64</arch>
</environment>
</environments> </environments>
</configuration> </configuration>
</plugin> </plugin>

Binary file not shown.

After

Width:  |  Height:  |  Size: 290 KiB

View file

@ -38,6 +38,6 @@ DebugRemoteExecutableMenu.label=&Remote Executable...
DebugCore.description=Debug a corefile DebugCore.description=Debug a corefile
DebugCore.name=Debug Core File DebugCore.name=Debug Core File
DebugCoreMenu.label=Debug &Core File... DebugCoreMenu.label=Debug &Core File...
aboutText=Eclipse Stand-alone C/C++ GDB Graphical Debugger\n\nRelease 1.0.0\n aboutText=Eclipse Stand-alone C/C++ GDB Graphical Debugger\n\nRelease 1.1.0\n
ProductDesc=Eclipse Stand-alone C/C++ GDB Debugger ProductDesc=Eclipse Stand-alone C/C++ GDB Debugger
ProductName=Stand-alone C/C++ GDB Debugger ProductName=Stand-alone C/C++ GDB Debugger

View file

@ -26,6 +26,7 @@ import org.eclipse.cdt.core.settings.model.ICProjectDescription;
import org.eclipse.cdt.core.settings.model.ICProjectDescriptionManager; import org.eclipse.cdt.core.settings.model.ICProjectDescriptionManager;
import org.eclipse.cdt.debug.application.GCCCompileOptionsParser; import org.eclipse.cdt.debug.application.GCCCompileOptionsParser;
import org.eclipse.cdt.debug.application.Messages; import org.eclipse.cdt.debug.application.Messages;
import org.eclipse.cdt.utils.coff.parser.PEParser;
import org.eclipse.cdt.utils.elf.parser.GNUElfParser; import org.eclipse.cdt.utils.elf.parser.GNUElfParser;
import org.eclipse.core.resources.IContainer; import org.eclipse.core.resources.IContainer;
import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IFile;
@ -64,9 +65,13 @@ public class CompilerOptionParser implements IWorkspaceRunnable {
try { try {
// Calculate how many source files we have to process and use that as a basis // Calculate how many source files we have to process and use that as a basis
// for our work estimate. // for our work estimate.
GNUElfParser binParser = new GNUElfParser(); IBinaryFile bf;
IBinaryFile bf = binParser try {
.getBinary(new Path(executable)); bf = new GNUElfParser().getBinary(new Path(executable));
} catch (IOException e) {
// Try Portable Executable (Windows)
bf = new PEParser().getBinary(new Path(executable));
}
ISymbolReader reader = bf.getAdapter(ISymbolReader.class); ISymbolReader reader = bf.getAdapter(ISymbolReader.class);
String[] sourceFiles = reader String[] sourceFiles = reader
.getSourceFiles(); .getSourceFiles();