blob: 0f8cc2bb30772a5160e4b52b3fb2c8b8a26b9f73 [file] [log] [blame]
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>eclipse.org page title</title>
<link rel="stylesheet" href="../default_style.css" type="text/css">
</head>
<body>
<table BORDER=0 CELLSPACING=5 CELLPADDING=2 WIDTH="100%" >
<tr>
<td ALIGN=LEFT VALIGN=TOP COLSPAN="2" BGCOLOR="#0080C0"><b><font color="#FFFFFF">Eclipse
Tools C/C++Subproject Proposal <span
style='font-size:10.0pt;font-family:Arial'><o:p></o:p></span></font></b><font color="#FFFFFF"><span
style='font-size:10.0pt;font-family:Arial'><o:p></o:p></span></font><span
style='font-size:10.0pt;font-family:Arial'><o:p></o:p></span></td>
</tr>
<tr>
<td>
<p><b>Description</b></p>
<p>The C for Eclipse Subproject is building a fully functional C and C++
Integrated Development Environment (IDE) for the Eclipse platform. Our
focus is development on Linux for deployment on Linux, but we are interested
in participation from others who would like to extend our work in other
directions.e.g. a Windows client, targeting Unix(R) or embedded platforms,
wizards for developing applications that use particular library or database
or messaging APIs, or extension to other languages.</p>
<p>We are proposing this code base form the initial code for the open source
C/C++ project hosted on eclipse.org under the eclipse tools project. The
project goal would be the completion of a full featured C/C++ environment
for all platforms. We are looking for contributions from the open source
community in the areas of testers, developers and general users who can
help us ensure that the C tools work well on all the Eclipse platforms.
</p>
<p>Our first release function includes:</p>
<ul>
<li>Support for the &quot;autoconf&quot; and &quot;automake&quot; utilities
to define new projects or in existing projects imported into the environment.
However, use of these tools is not mandatory, and your build may consist
of hand-generated makefiles, Perl scripts, or whatever, as long as it
can be launched from a command line Easily configurable error message
parser, preconfigured for gcc and g++.</li>
<li>Code browsing, navigation, automatic code completion provided by an
integrated C/C++ parser and program database.</li>
<li>Integrated debugger GUI using gdb, reusing many of the familiar Eclipse
debug views but adding new ones for registers, storage, and a debugger
console that provides access to the underlying gdb command line interface
for advanced or esoteric debugger function.</li>
<li>Integrated access to the platform man, info, and HTML help. Select
a keyword in the editor and hit F1 to search, results are displayed
using the Gnome help browser or Konqueror according to your preference.</li>
<li>Support for projects that are remote, on another Linux system, as
well as local development on your Linux desktop or laptop. Projects
can be replicated between systems, so you can work locally for a while
then replicate to a second Linux system where you rebuild and remotely
edit and debug from within the IDE. The mechanism supporting this is
extensible and only requires a Java 1.3 runtime on the remote Linux
system, in addition to the underlying system utilities (gmake, gcc,
gdb, perl) that it invokes.</li>
</ul>
<p><b>Status</b></p>
<p>Our work is now at what we describe as a 0.5 level, meaning it isn't
yet ready for production use but has progressed to the point where it
will be of interest to the Eclipse developer community. Inconsistent or
incomplete function, scalability, and stability problems may occur.</p>
<p><b>Platforms</b></p>
<p>The plugins are written in Java with no native code and thus may be ported
to any platform supported by Eclipse. However, some Linux specific features
prereq other tools that may not be found on non-Linux systems.</p>
<p><b>Content</b></p>
<p>We provide a total of 15 plugins and packages:</p>
<ol>
<li>com.ibm.cpp.ui - contributions of a C++ Perspective, views,and actions</li>
<li>com.ibm.cpp.miners - remotable actors for build, launch, and project
management</li>
<li>com.ibm.cpp.miners.parser - the remotable C/C++ source parser</li>
<li>com.ibm.cpp.docs.user - online Eclipse documentation</li>
<li>com.ibm.debug - client-side extensions for debugging non-Java applications</li>
<li>com.ibm.debug.doc.user - Eclipse documentation for the above</li>
<li>com.ibm.debug.gdbPicl - server-side wrapper for GDB</li>
<li>com.ibm.dstore.core - base Data Store metadata database implementation</li>
<li>com.ibm.dstore.extra - client-side Data Store extensions</li>
<li>com.ibm.dstore.extra.server - server-side Data Store extensions</li>
<li>com.ibm.dstore.hosts - remote system support</li>
<li>com.ibm.dstore.miners - remotable actors for generic command invocation</li>
<li>com.ibm.dstore - ui Data Store related general views and actions</li>
<li>com.ibm.linux.help - provides access to Linux platform-supplied help
and reference information</li>
<li>com.ibm.lpex - a Java implementation of the IBM Live Parsing Editor</li>
</ol>
<p><b>Development plan </b></p>
<p>We are still in the process of defining our development plan however
the major items for the first half of 2002 include:</p>
<ul>
<li>rename our packages to use the org.eclipse prefix</li>
<li>make it easier to work with the components in the Eclipse Plugin Development
Environment</li>
<li>add debugger function like an interlisted source/assembly view,</li>
<li>exceptions, conditional and deferred breakpoints</li>
<li>improve the performance and scalability of the parser and datastore</li>
<li>simplify the installation and invocation of the server-side components</li>
<li>begin integrating profiler support</li>
<li>improve stability</li>
</ul>
<p>If you want to contribute to the development of this plugin, we welcome
the opportunity to work with you. The plan will be updated to reflect
the committments made by contributors to this projects. </p>
<p>The distribution includes a <a href="http://64.38.235.23/tools/cdt/downloads/0.5.0/todo.txt">TODO</a>
file that contains more detail.</p>
<p><b>License</b></p>
<p>This project is licensed under the Common Public License.<br>
</p>
</td>
</tr>
</table>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
</body>
</html>