<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <title>OpenOffice.org Tools Project</title>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<h1>Tools Project</h1>

<div style="padding:3pt; background-color: #f8d3d0; margin-top: 4pt; margin-bottom: 4pt;">
<h2>Warning</h2>
<p>Much of the information here is <b>outdated</b> and refers to obsolete OOo versions.</p>
<p>For current information on how to build OOo, see the OOo Wiki:
   <a href="http://wiki.services.openoffice.org/wiki/Documentation/Building_Guide">Building Guide</a></p>
</div>

<h3>Build Environment<a name="CWS"></a>
</h3>
<h4>Using CVS to get ancient versions of the source</h4>
<ul>
  <li> <a href="http://development.openoffice.org/releases/index.html">Overview
of OpenOffice.org codelines</a> </li>
  <li> <a href="builds/index.html">Descriptions of current CVS
branches and their status</a></li>
  <li><a href="svn_checkout.html">Downloading the source from the
Subversion repository</a> (only useful for getting the OOo 3.1 release branch)<br>
  </li>
  <li> <a href="http://tools.openoffice.org/servlets/ProjectSource">Downloading
the source from CVS</a> for releases until OOo 3.0<br>
  </li>
  <li> <a
 href="http://wiki.services.openoffice.org/wiki/Source_code_directories">CVS
Modules</a> or top level directories (in Subversion) available from
OpenOffice.org. </li>
</ul>
<a name="Build"></a>Building the source
<ul>
  <li> <a href="background.html">Background
Information</a> for building OpenOffice.org </li>
  <li> <b>Description of the Build Process</b>
The build requirements and instructions changed between OpenOffice.org
1.1.x, the recent OpenOffice.org versions and again for the current
development versions:
    <ul>
      <li> Instructions for current <b>OpenOffice.org
development versions</b>
<p>For current information on how to build OOo, see the OOo Wiki:
   <a href="http://wiki.services.openoffice.org/wiki/Documentation/Building_Guide">Building Guide</a></p></li>
      <li> <b>Outdated</b> Instructions for <b>ancient OpenOffice.org versions (2.0.x and 3.0.x)</b><br>
        <ul>
          <li><a href="dev_docs/build_linux.html">Linux</a></li>
          <li><a href="dev_docs/build_solaris.html">Solaris</a> </li>
          <li><a
 href="http://wiki.services.openoffice.org/wiki/Mac_OS_X_Build_Instructions">Mac
OS X (X11)</a> or <a
 href="http://wiki.services.openoffice.org/wiki/AquaBuild">Mac OS X
(Aqua)</a></li>
          <li>Windows with Microsoft Visual C++ .NET2003 Compiler<br>
            <a href="dev_docs/build_windows_tcsh.html">with Cygwin tools</a><br>
          </li>
          <li>Windows with Microsoft Visual C++ 2005 Express
Compiler&nbsp;<a
 href="http://wiki.services.openoffice.org/wiki/Windows#Visual_C.2B.2B_Express_2005">click
here</a></li>
        </ul>
      </li>
    </ul>
  </li>
  <li><a href="build_env.html">Build
Environment</a> description ( for OpenOffice 2.x/3.x series ) </li>
  <li> <a href="project_dependencies.png">Diagram
of inter-project dependencies</a> by C.P. Hennessy </li>
  <li> <a href="troubleshoot.html">Tips
for Troubleshooting</a> the build. </li>
</ul>
<h4>Testing the code</h4>
<ul>
  <li>
    <p><a href="http://wiki.services.openoffice.org/wiki/Tinderbox">Tinderbox</a><br>
With many developers working on different platforms on the same
codebase easiely leads to <emph>incompatibilities</emph>. A Tinderbox
allows you to check the "buildability" of the current code and helps
finding who broke the build. The Tinderbox provides the build logfiles
so that it is easy to check what (and who) broke the build.</p>
    <p> If you have some CPU time to burn please consider running a <a
 href="http://wiki.services.openoffice.org/wiki/Tinderbox">tinderbox
client</a>. We need many tinderbox client machines that are doing
builds! </p>
    <p> Tinderbox topics/issues can be discussed on the
tinderbox@tools.openoffice.org <a
 href="http://tools.openoffice.org/servlets/SummarizeList?listName=tinderbox">
mailing list</a>. </p>
  </li>
</ul>
<h4>Working on the code</h4>
<ul>
  <li> <a name="codinguidelines"></a> <a href="CodingGuidelines.sxw">Coding
Guidelines</a> (.sxw) </li>
  <li> <a href="policies/java_usage.html">Usage Of Java Policies</a> </li>
  <li> <a href="InterfacesChecklist.sxw">Checklist for C++ Interface
Reviews</a> (.sxw) </li>
  <li> <a href="debugging/usingvalgrind.sxw">DebuggingOpenOffice.org
with Valgrind</a> (.sxw) </li>
</ul>
<br>
<h4>OpenOffice.org Development with child workspaces (CWS):</h4>
<ul>
  <li><a href="dev_docs/OOo_cws.html">Overview</a></li>
  <li><a href="dev_docs/ooo-cws-tools-doc.sxw">Tools</a><br>
  </li>
  <li><a href="dev_docs/child_workspace_policies.html">Policies</a><br>
  </li>
  <li><a href="dev_docs/child_workspace_newmodule.html">Introduce a new
module</a><br>
  </li>
</ul>
<h3>Tools description</h3>
<ul>
  <li>
    <p>Description of Autodoc (automatic
documentation generation) <br>
( for <a href="autodoc/HowToWriteDocumentation-Cpp.html">C++</a> and <a
 href="http://api.openoffice.org/docs/DevelopersGuide/Appendix/IDLDocumentationGuide/IDLDocumentationGuide.xhtml">UNO-IDL</a>;<a
 href="autodoc/CommandLineSyntax.html">commandline syntax</a>). </p>
  </li>
</ul>
<h3>Performance and Profiling</h3>
<p>Tools for performance measuring and related tasks. </p>
<ul>
  <li> <a href="performance/index.html">Performance Tuning and tools</a>
  </li>
  <li> <a href="profiling/index.html">Profiling tools</a> </li>
</ul>
<h3>Quality Assurance (QA)</h3>
QA is a separate <a href="http://qa.openoffice.org">project</a>.
<ul>
  <li> <a href="http://qa.openoffice.org/testcase/index.html">Description</a>
of the Smoke Test </li>
  <li> <a
 href="http://qa.openoffice.org/issue_handling/bug_writing_guidelines.html">Issue
Writing Guidelines</a> </li>
</ul>
<h3>Release Engineering</h3>
<ul>
  <li> Overview of <a
 href="http://development.openoffice.org/releases/oo_branches.pdf">Branches
and Roadmap of
OpenOffice.org</a> releases and <a
 href="http://development.openoffice.org/releases/index.html">description
of branches</a>. </li>
  <li> <a
 href="http://eis.services.openoffice.org/EIS2/servlet/GuestLogon"><strong>E</strong>nvironment
    <strong>I</strong>nformation <strong>S</strong>ystem</a> is a
Child Workspace (CWS) browsing interface</li>
  <li> <a
 href="http://development.openoffice.org/releases/filenames.html">File
Naming Scheme</a> </li>
</ul>
<center>$Revision: 1.106 $ $Date: 2010/06/08 16:09:13 $
</center>
</body>
</html>
