blob: 3820123b408eba9b3246a2a67fce0c559fb1efdf [file] [log] [blame]
<html><head>
<meta HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
</head>
<!-- PLEASE DO NOT COMMIT EDITED VERSION OF THE FILES BUILD_LINUX.HTML,
BUILD_SOLARIS.HTML AND BUILD_WINDOWS.HTML. EDIT THE TEMPLATE FILE
INSTEAD AND USE ./mkbuilddoc TO GENERATE THE PLATFORM SPECIFIC BUILD DOCUMENT-->
<body>
<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>
<h2>
Building OpenOffice.org 2.x (680er/300er series) <Linux>under Linux</Linux><Solaris>under Solaris</Solaris><Win_tcsh>under Windows with tcsh</Win_tcsh><Windows>under Windows with 4NT</Windows>
</h2>
<p><b>Beware! The build instructions for OpenOffice.org 1.1.x (and older) are different!</b>
</p>
<p>Last changes made: $Date: 2010/06/08 16:09:13 $</p>
<p>
This document describes the requirements and actions that you need to build
OpenOffice.org on <Linux>Linux.</Linux><Solaris>Solaris.</Solaris><Win_tcsh>Windows using Cygwin shell.</Win_tcsh><Windows>Windows.</Windows>
</p>
<p>
Commands you have to type on the keyboard
follow this syntax throughout this document:
</p>
<LinuxSolarisWin_tcsh>
<pre>
<KBD>config_office&gt; ./configure</KBD>
</pre>
<p>
In this example, the script <CODE>configure</CODE> is executed
in the directory <CODE>config_office</CODE>.
</p>
<p>
Since OpenOffice.org 2.1.x (SRC680_m175) it is possible to use <b>bash</b> instead
of tcsh. This has to be enabled with the <CODE>--with-use-shell</CODE> configure switch.
The following instructions are for the tcsh case but the savy *NIX user should be able
to <em>guess</em> the needed changes. The environment file for bash adds an additional
<CODE>.sh</CODE> suffix to the tcsh environment filename.
</p>
</LinuxSolarisWin_tcsh>
<Windows>
<pre>
<KBD>D:\my\source&gt; winenv.bat</KBD>
</pre>
<p>
In this example, the script <CODE>winenv.bat</CODE> is executed in the directory
<CODE>D:\my\source</CODE> under a 4NT shell. Unless stated otherwise, all commands
appearing in this document should be entered from a 4NT shell (the exception
is the configure script which has to be run from a cygwin bash shell).
</Windows>
<CODE>$SRC_ROOT</CODE> will denote the directory in which the source code
of OpenOffice.org is stored.
<br><br><br>
<H2>Table of Contents</H2>
<ul>
<li>
<a href="#Overview">Overview</a>
<ul>
<li>
<a href="#OverviewofPerformingaFullBuild">of Performing a Full Build</a>
</li>
<!-- Not available for OOo 1.9.x
<li>
<a href="#OverviewofBuildinganIndividualProject">of Building an Individual
Project</a>
</li>
-->
</ul></li>
<li>
<a href="#BuildRequirements">Build Requirements</a>
<ul>
<li>
<a href="#ExternalComponents">External Components</a>
</li>
<li>
<a href="#GetTheSourceCode">Get the Source Code</a>
</li>
<li>
<a href="#GeneratingtheBuildEnvironmentandBuildTools">Generating
the Build Environment and Build Tools</a>
</li>
</ul></li>
<li>
<a href="#BuildInstructions">Build Instructions</a>
<ul>
<li>
<a href="#BuildingaFullBuildofOpenOffice">Building a Full Build</a>
</li>
<!-- Not available for OOo 1.9.x
<li>
<a href="#BuildingIndividualProjects">Building
Individual Projects with a Prebuilt</a>
</li>
-->
<li>
<a href="#BuildingaProjectwithDebugInformation">Building
a Project with Debug Information</a>
</li>
</ul></li>
<li>
<a href="#InstallInstructions">Instructions to
Build an Installation Set</a>
</li>
<li>
<a href="#BuildingLocalized">Building Localized Versions of OpenOffice.org</a>
</li>
<li>
<a href="#BuildingLangpack">Building Localized Language Packs</a>
</li>
</ul>
<br><br><br>
<h2>
<a NAME="Overview">Overview</a>
</h2>
<p>
This section is meant as a reminder or checklist for those who have some
experience in building OpenOffice.org. Everybody else should jump to the
<a href="#BuildRequirements">Build Requirements</a> section.
<p>
Even experienced builders are well advised to check the release notes at
<a href="http://development.openoffice.org/releases/2.0.0rc2.html">
http://development.openoffice.org/releases/2.0.0rc2.html</a>
and the section <a href="#BuildRequirements">Build Requirements</a> in this
document to inform yourself about changes since the previous releases.
<p>
Detailed step-by-step build descriptions are given from the next section on.
<!-- Not available for OOo 1.9.x
<p>
You can perform a full build, or you can build an individual project using
a prebuilt version.
-->
<H2>
<a NAME="OverviewofPerformingaFullBuild"></a>Overview of
Performing a Full Build
</H2>
<p>
To perform a full build, you need to follow these steps:
<ol>
<li> Get the source code, either from the download webpage
(<a href="http://download.openoffice.org/next/index.html">http://download.openoffice.org/next</a>)
or alternatively via a check-out from the cvs tree against a release tag,
e.g. <em>OpenOffice_3_1_0</em>. </li>
<LinuxSolarisWin_tcsh>
<li> Run the <CODE>configure</CODE> script to check all requirements and to
create the script</LinuxSolarisWin_tcsh>
<Linux><CODE>LinuxIntelEnv.Set</CODE>.</Linux><Solaris><CODE>SolarisSparcEnv.Set</CODE>.</Solaris><Win_tcsh><CODE>winenv.set</CODE>.</Win_tcsh>
<Windows>
<li> Run the <CODE>configure</CODE> script in a cygwin bash shell to
check all requirements and to create the script <CODE>winenv.bat</CODE>.
</li>
<li> Run the
</Windows>
<LinuxSolarisWin_tcsh>
<li> Source the
</LinuxSolarisWin_tcsh><Linux><CODE>LinuxIntelEnv.Set</CODE></Linux><Solaris><CODE>SolarisSparcEnv.Set</CODE></Solaris><Win_tcsh><CODE>winenv.set</CODE></Win_tcsh><Windows><CODE>winenv.bat</CODE> (under 4NT) </Windows> script to set all environment variables.
<p>Please see the last screen from the configure script for more specific
information on setting up for your platform.</p>
</li>
<LinuxSolarisWin_tcsh>
<li> Create the build tools using <CODE>bootstrap</CODE>. </li>
<li> Recompute tcsh's directory hash using <CODE>rehash</CODE>. </li>
</LinuxSolarisWin_tcsh>
<li> Build typing <CODE>dmake</CODE> in <CODE>$SRC_ROOT</CODE>, or
<CODE>build --all</CODE> in the <CODE>instetoo_native</CODE> module, or
<CODE>build</CODE> followed by <CODE>deliver</CODE> in the individual
modules. </li>
</ol>
For detailed build instructions, see the section
<a href="#BuildingaFullBuildofOpenOffice">Building a Full Build of the Office
Suite</a> in this document. The installation procedure is described
<a href="#InstallInstructions">at the end</a> of this document.
<br>
<!-- Not available for OOo 1.9.x
<H2>
<a NAME="OverviewofBuildinganIndividualProject"></a>Overview of Building
an Individual Project
</H2>
<p>
You can use a prebuilt version to build an individual project. Having a
prebuilt version is necessary because the individual project you want to
build could depend on other projects. A project builds a particular component
of OpenOffice.org. For example, the Word Processing project builds the Word
Processing application. To build an individual project, you must follow these
steps:
<ol>
<li> Download the appropriate solver tarballs from the download webpage
(<a href="http://download.open office.org/index.html">http://download.openoffice.org/index.html</a>)
e.g., for 643B the solver tarball
<Linux><CODE>solver643B_linux_intel.tar.gz.</CODE></Linux>
<Solaris><CODE>solver643B_solaris_sparc.tar.gz.</CODE></Solaris>
<Windows><CODE>solver643B_win32intel.tar.gz.</CODE></Windows>
<Win_tcsh><CODE>solver643B_win32intel.tar.gz.</CODE></Win_tcsh>
<p>643 is a very old release. Please use the <a href="../builds/">latest</a>
version.</p>
</li>
<li> Check out the modules for the project that you want to build from the
OpenOffice.org cvs tree. If your project uses the resources module,
<CODE>res</CODE>, check
out this module also. You can, of course, also download the entire source
from the download webpage
(<a href="http://download.openoffice.org/index.html">http://download.openoffice.org/index.html</a>).
However, it is not possible to download individual modules there. </li>
<li> Check out the module <CODE>config_office</CODE>. This is always necessary
to create the build environment. </li>
<li> Also check out the modules <CODE>dmake, external, sal, solenv, soltools,
vos, tools, rsc and xml2cmp</CODE>.
<LinuxSolarisWin_tcsh>
These are required by <CODE>bootstrap</CODE> (see below).
</LinuxSolarisWin_tcsh>
</li>
<li> Unpack the solver tarball in the <CODE>$SRC_ROOT</CODE> directory. </li>
<LinuxSolarisWin_tcsh>
<li> Run the <CODE>configure</CODE> script to check all requirements and to
create the settings file
</LinuxSolarisWin_tcsh>
<Linux><CODE>LinuxIntelEnv.Set</CODE>.</Linux>
<Solaris><CODE>SolarisSparcEnv.Set</CODE>.</Solaris>
<Win_tcsh><CODE>winenv.set</CODE>.</Win_tcsh>
<Windows>
<li> Run the <CODE>configure</CODE> script in a cygwin bash shell to
check all requirements and to create the script <CODE>winenv.bat</CODE>.
<p>Note that all paths should NOT contain spaces. This will confuse dmake later.</p>
</li>
</Windows>
<li> Run
<Linux>in tcsh <CODE>source LinuxIntelEnv.Set</CODE> or in bash
<CODE>source LinuxIntelEnv.Set.sh</CODE></Linux>
<Solaris>in tcsh <CODE>source SolarisSparcEnv.Set</CODE> or in bash
<CODE>source SolarisSparcEnv.Set.sh</CODE></Solaris>
<Win_tcsh>in tcsh <CODE>source winenv.set</CODE> and <CODE>rehash</CODE>
afterwards or in bash
<CODE>source winenv.set.sh</CODE></Win_tcsh>
<Windows><CODE>winenv.bat</CODE></Windows>
to set all environment variables and build dmake.exe.
</li>
<LinuxSolarisWin_tcsh>
<li> Create the build tools using <CODE>./bootstrap</CODE>. </li>
</LinuxSolarisWin_tcsh>
<li> Build each module against the prebuilt <CODE>solver</CODE> using the <CODE>build</CODE>
tool, followed by <CODE>deliver</CODE>. </li>
</ol>
For detailed build instructions, see
<a href="#BuildingIndividualProjects">Building Individual Projects with a
Prebuilt</a>.
-->
<br><br><br>
<h2>
<a NAME="BuildRequirements"></a>Build Requirements
</h2>
<p>
Before you start building, you must ensure that your system satisfies the
recommended software and hardware requirements for the type of system you
are working on. For <Linux>Linux, </Linux> <Solaris>Solaris, </Solaris>
<Win_tcsh>Windows, </Win_tcsh> <Windows>Windows, </Windows> these are as follows:</p>
<Linux>
see <a href="http://wiki.services.openoffice.org/wiki/Build_Linux_Requirements">Linux Build Requirements</a>
</Linux>
<Windows>
see <a href="http://wiki.services.openoffice.org/wiki/Build_Windows_Requirements">Windows Build Requirements</a>
</Windows>
<Solaris>
see <a href="http://wiki.services.openoffice.org/wiki/Build_Solaris_Requirements">Solaris Build Requirements</a>
</Solaris>
<H2>
<a NAME="GetTheSourceCode"></a>Get the source code
</H2>
<p>
You have two options to get the source code:
<ul>
<li>
Download the source code tarball
(<a href="http://download.openoffice.org/3.1.0/source.html">http://download.openoffice.org/3.1.0/source.html</a>),
e.g. <CODE>OOo_3.1.0_src_core.tar.gz</CODE> in case of the 3.1 stable release.
<p>
Unpack the tarballs as follows:</p>
<pre>
<KBD>&gt; tar -xvzf OOo_3.1.0_src_core.tar.gz</KBD>
<KBD>&gt; cd OOO300m9</KBD>
</pre>
<p>This will be $SRC_ROOT from now on. Please check <a href="http://wiki.services.openoffice.org/wiki/Getting_It">the OpenOffice.org Wiki</a> for more detailed information about the source tarballs.</p>
</li>
<li>
Another possibility is to check out the code from the subversion tree.
The non-bold slash means that the command should be in one line. It is
possible to update an already existing older copy to a newer release:
<pre>
<KBD>$SRC_ROOT&gt; svn</KBD> /
<KBD> co svn://svn.services.openoffice.org/ooo/tags/OpenOffice_3_1_0</KBD> /
</pre>
</li>
<li>
<p>
A note on the tags (i.e. the argument to the -r option in the cvs commands listed above):
If <em>trunk</em> is used as a tag, you will get the newest latest source code. This,
however, will most likely not build since development is going on there.
See <a href="http://tools.openoffice.org#CWS">http://tools.openoffice.org#CWS</a>
for a description of the development process with child workspaces and
<a href="http://eis.services.openoffice.org/EIS2/servlet/GuestLogon">
<strong>E</strong>nvironment <strong>I</strong>nformation <strong>S</strong>ystem</a>
for the current child workspaces and milestones.
</p>
</li>
</ul>
<br><br><br>
<H2>
<a NAME="GeneratingtheBuildEnvironmentandBuildTools"></a>Generating the Build
Environment and Build Tools
</H2>
<LinuxSolarisWin_tcsh>
<p>
The <CODE>configure</CODE> script to check/prepare the build environment.
It checks that all software, hardware, and
system requirements for the build are satisfied, and creates a
configuration file called </LinuxSolarisWin_tcsh><Linux>
<CODE>LinuxIntelEnv.Set</CODE></Linux><Solaris>
<CODE>SolarisSparcEnv.Set</CODE></Solaris><Win_tcsh>
<CODE>winenv.set</CODE></Win_tcsh><LinuxSolarisWin_tcsh>
that is used to set all necessary build environment variables. See the example below.
</LinuxSolarisWin_tcsh>
<Windows>
<p>
Ideally, in keeping with the principles of open source, you would use an open
source shell to build on a computer running a Win32 operating system.
However, you
decided to use a non-open source shell to build on a computer running a Win32
operating system: the 4NT command shell. </p>
<p>
On the other hand, the <CODE>bash</CODE> shell from the cygwin tools is needed to run
the <CODE>configure</CODE> script which generates the build environment. The
<CODE>configure</CODE> script checks that all software, hardware, and system
requirements for the build are satisfied, and it creates a configuration file
called <CODE>winenv.bat</CODE> that sets all necessary
build environment variables and builds the <CODE>dmake.exe</CODE>.
See the example below.
</Windows>
<p>
This configuration file is created in the <CODE>SRC_ROOT</CODE> directory.
A top-level makefile script <CODE>makefile.mk</CODE> <LinuxSolarisWin_tcsh> and the
script <CODE>bootstrap</CODE> from the <CODE>config-office</CODE> directory </LinuxSolarisWin_tcsh>
are moved into <CODE>SRC_ROOT</CODE> as well. This is due to technical reasons:
The <CODE>SRC_ROOT</CODE> directory in the cvs tree can only hold directories.
On the other hand, the top-level <CODE>makefile.mk</CODE> should logically be
placed in the top-level directory <CODE>SRC_ROOT</CODE>. The cvs tree holds
these files in <CODE>config_office</CODE> and <CODE>configure</CODE> copies
them up.
<LinuxSolaris>
<p>
If you are running a compiler with a non-standard name or location
make sure that the environment variables CC and CXX point to your
c and c++ compiler. (This can also be used to to use <CODE>ccache</CODE>
to reduce your compile time.)
</p>
</LinuxSolaris>
<Linux>
<pre>
<KBD>export CC=/your/path/to/gcc</KBD>
<KBD>export CXX=/your/path/to/g++</KBD>
</pre>
</Linux>
<Solaris>
<pre>
<KBD>export CC=/your/path/to/cc</KBD>
<KBD>export CXX=/your/path/to/CC</KBD>
</pre>
</Solaris><LinuxSolaris>
<p>To run the <CODE>configure</CODE> script, type the following command:</p>
<pre>
<KBD>$SRC_ROOT&gt; cd config_office</KBD>
<KBD>config_office&gt; ./configure</KBD>
</pre></LinuxSolaris>
<Win_tcsh>
<p>
Before running configure, make sure that all needed Programs are in the system path
or start configure with the appropriate command line switches.
<p>
The following should demonstrate in detail what steps have to be done to
set up the environment. For this examples we assume that
<ul>
<li>
the source code is in <CODE>C:\OOO300_m9</CODE>
</li>
<li>
JDK 1.4.1_02 is installed in <CODE>C:\j2sdk1.4.1_02</CODE>
</li>
<li>
the Microsoft Compiler is located in
<CODE>C:\PROGRA~1\MICROS~1.NET\Vc7</CODE>
(or <CODE>c:\Programme\Microsoft Visual Studio .NET 2003\Vc7</CODE>)
</li>
<li>
the Microsoft SDK is located in <CODE>C:\PROGRA~1\MICROS~5</CODE>
</li>
</ul>
<H3>Other Shells - Example</H3>
<b>You are able to enable the use of tcsh
with <CODE>--with-use-shell=tcsh</CODE> or the use of bash with <CODE>--with-use-shell=bash</CODE></b>.
<p>
To run the <CODE>configure</CODE> script, type the following command:
<pre>
<KBD>$SRC_ROOT&gt; cd config_office</KBD>
<KBD>config_office&gt; ./configure --with-cl-home="/cygdrive/c/Programme/Microsoft Visual Studio .NET 2003/Vc7"</KBD>
<KBD>--with-jdk-home=/cygdrive/c/j2sdk1.4.1_02 --with-use-shell=tcsh</KBD>
</pre>
</Win_tcsh>
<LinuxSolarisWin_tcsh><p>
There are a number of options that you can use with the
<CODE>configure</CODE>
script. To display these options, type the following command:
</p>
<pre>
<KBD>config_office&gt; ./configure --help</KBD>
</pre>
</LinuxSolarisWin_tcsh>
<Windows>
<p>
The following should demonstrate in detail what steps have to be done to
set up the environment:</p>
<b>As 4nt is not the only possible shell, you have to enable the use of 4NT
with <CODE>--with-use-shell=4nt</CODE></b>
<ul>
<li>
<p>
Run the configure script according to the following example. We
assume here that</p>
<ul>
<li>
the source code is in <CODE>C:\OOO300_m9</CODE>
</li>
<li>
JDK 1.4.1_02 is installed in <CODE>C:\j2sdk1.4.1_02</CODE>
</li>
<li>
the Microsoft Compiler is located in
<CODE>c:\Programme\Microsoft Visual Studio .NET 2003\Vc7</CODE>.
</li>
<li>
and your zip.exe and unzip.exe are in <CODE>C:\unzip</CODE>
</li>
</ul>
<p>
Running the configure script could then look like the following (bold typed
text is what you enter):
<p>
<CODE>
(open a cygwin bash shell)
<br>
<b>cd /cygdrive/c/OOO310_m11/config_office</b>
<br>
<b>./configure --with-cl-home="/cygdrive/c/Programme/Microsoft Visual Studio .NET 2003/Vc7" --with-jdk-home=/cygdrive/c/j2sdk1.4.1_02 --with-unzip-home=/cygdrive/c/unzip --with-use-shell=4nt</b>
<br>
.
<br>
.
<br>
.
<br>
(some screen output here)
<br>
.
<br>
.
<br>
.
<br>
(more screen output here)
<br>
bash-2.02$ <b>exit</b>
<br>
</CODE>
</p>
</li>
</ul>
You should exit the bash shell. Now you can run the environment
settings file <CODE>winenv.bat</CODE> from your 4NT shell.
<p>
Note the change in pathname notation. Since the cygwin bash
shell won't accept backslashes, paths have to be typed in a
cygwin bash notation which is <CODE>/cygdrive/c/path/to/file</CODE>,
instead of <CODE>C:\path\to\file</CODE>. This may appear
confusing at the moment, but sticking to this notation will
work.
<p>
There are a number of further options that you can use with the
<CODE>configure</CODE> script. To display these options, type
the following command:
<pre>
<KBD>config_office&gt; bash configure --help</KBD>
</pre>
</Windows>
<LinuxSolarisWin_tcsh>
<p>
After running <CODE>configure</CODE>, you have to continue in a tcsh shell:
</p>
<pre>
<KBD>$SRC_ROOT&gt; tcsh</KBD>
</pre>
<p>
To create the dmake make utility that is needed for the build of
OpenOffice.org type the following command:
<pre>
<KBD>$SRC_ROOT&gt; ./bootstrap</KBD>
</pre>
<p>
Now source the configuration file which sets all environment variables:
</p>
<pre>
</LinuxSolarisWin_tcsh><Linux><KBD>$SRC_ROOT&gt; source LinuxIntelEnv.Set</KBD></Linux><Solaris><KBD>$SRC_ROOT&gt; source SolarisSparcEnv.Set</KBD></Solaris><Win_tcsh><KBD>$SRC_ROOT&gt; source winenv.set</KBD></Win_tcsh><LinuxSolarisWin_tcsh>
</pre>
<p>Don't forget to run
</p>
<pre>
<KBD>$SRC_ROOT&gt; rehash</KBD>
</pre>
<p>afterwards.</p>
</LinuxSolarisWin_tcsh>
<Windows>
<p>
After running <CODE>configure</CODE> you have to execute the
configuration file which sets all environment variables. The generated
file is called <CODE>winenv.bat</CODE>.
</p>
</Windows>
<p>
If you experiment with the newest sources from the cvs-tree, mind that updates
to the configure process may not happen via updates of <CODE>configure</CODE>
(the script file) but via the files <CODE>configure.in</CODE> and
<CODE>set_soenv.in</CODE>. The configure script itself is created from
<CODE>configure.in</CODE> using the
<CODE>autoreconf</CODE> command. The perl script set_soenv is created when you
run configure from set_soenv.in.
</p>
<p>If you need to modify or create a correct configure you would run commands
like the following: <LinuxSolarisWin_tcsh>
</p>
<pre>
<KBD>$SRC_ROOT&gt; cd config_office</KBD>
<KBD>config_office&gt; cvs update configure.in</KBD>
<KBD>config_office&gt; autoreconf</KBD>
</pre>
</LinuxSolarisWin_tcsh>
<Windows>
<pre>
<KBD>$SRC_ROOT&gt; cd config_office</KBD>
<KBD>config_office&gt; cvs update configure.in</KBD>
get a bash shell
<KBD>config_office&gt;bash autoconf</KBD>
exit the bash shell
</pre>
</Windows>
To update the <CODE>configure</CODE> script. If you only use code from the
snapshot releases on the web, you don't need to be concerned about this.
<br><br><br>
<H2>
<a NAME="BuildInstructions"></a>Build Instructions
</H2>
<H2>
<a NAME="BuildingaFullBuildofOpenOffice"></a>Building
a Full Build of the Office Suite
</H2>
Now you are ready to build OpenOffice.org. To build the entire suite, all you
have to do (after having created the environment as described above) is to run
dmake from the top-level directory. This may take several hours.
<pre>
<KBD>$SRC_ROOT&gt; dmake</KBD>
</pre>
<p>If you wish to control the build more you can perform a build with local
install sets or tarballs.</p>
<ul>
<li>instsetoo_native will create rpm's or the actual delivery package for
your platform.</li>
<li>instsetoo will create a single tar file containing the build however it
is deprecated.</li>
</ul>
<pre>
cd $SRC_ROOT
cd instetoo_native
build --all
</pre>
<Linux>
<p>To clean up a previous build you can delete all output directories with</p>
<pre>
rm -rf */unxlngi4.pro
</pre>
</Linux>
<p>
If you decide to rebuild a module or build each module individually (mind
dependencies!), you will have to use the <CODE>build</CODE> tool. A subsequent
<CODE>deliver</CODE> will copy all created binaries, libraries etc. into the
solver tree:
<pre>
<KBD>$SRC_ROOT/(module)&gt; build</KBD>
<KBD>$SRC_ROOT/(module)&gt; deliver</KBD>
</pre>
<p>
The following table shows the time required to build on a system with a
particular specification. You can use these details to estimate the time
required to build on your system.</p>
<Linux>
<table BORDER="1" CELLSPACING=0 CELLPADDING=5>
<tr VALIGN=TOP>
<td>Architecture</td>
<td>Intel</td>
</tr>
<tr VALIGN=TOP>
<td>Processor</td>
<td>Pentium III</td>
</tr>
<tr VALIGN=TOP>
<td>Processor speed</td>
<td>600 MHz</td>
</tr>
<tr VALIGN=TOP>
<td>RAM</td>
<td>256 MB</td>
</tr>
<tr VALIGN=TOP>
<td>Hard disk</td>
<td>4 GB IDE</td>
</tr>
<tr VALIGN=TOP>
<td>Time (for 1.x series)</td>
<td>~12 h</td>
</tr>
</table>
<p>Note that using ccache can reduce your compile times and dramatically
reduce recompile times.</p>
</Linux>
<Solaris>
<table BORDER="1" CELLSPACING=0 CELLPADDING=5>
<tr VALIGN=TOP>
<td>Architecture</td>
<td>SPARC</td>
</tr>
<tr VALIGN=TOP>
<td>Model</td>
<td>Ultra 30</td>
</tr>
<tr VALIGN=TOP>
<td>Processor speed</td>
<td>300 MHz</td>
</tr>
<tr VALIGN=TOP>
<td>RAM</td>
<td>512 MB</td>
</tr>
<tr VALIGN=TOP>
<td>Hard disk</td>
<td>10000 RPM model</td>
</tr>
<tr VALIGN=TOP>
<td>Time (for SRC680_m74)</td>
<td>~39 h</td>
</tr>
</table>
</Solaris>
<WindowsWin_tcsh>
<table BORDER="1" CELLSPACING=0 CELLPADDING=5>
<tr VALIGN=TOP>
<td>Architecture</td>
<td>Intel</td>
</tr>
<tr VALIGN=TOP>
<td>Processor</td>
<td>Athlon XP1700</td>
</tr>
<tr VALIGN=TOP>
<td>Processor speed</td>
<td>1466 MHz</td>
</tr>
<tr VALIGN=TOP>
<td>RAM</td>
<td>512 MB</td>
</tr>
<tr VALIGN=TOP>
<td>Hard Disk</td>
<td>160 GB 7200 RPM IDE</td>
</tr>
<tr VALIGN=TOP>
<td>Time (for SRC680_m86)</td>
<td>~17 h</td>
</tr>
</table>
</WindowsWin_tcsh>
<br><br><br>
<!-- Not available for OOo 1.9.x
<H2>
<a NAME="BuildingIndividualProjects"></a>Building
Individual Projects with a Prebuilt
</H2>
<p>
OpenOffice.org is organised in several projects. For example,
the Word Processing Project. These in turn consist of several
modules, organised in separate directories. The source contains
approximately 90 modules.
<p>
You can build any project or module individually. Building modules
individually should not be misunderstood as reducing OpenOffice.org to a
special application, say, for instance, the spreadsheet application. The
program will always consist of the entire office suite: text processor,
spreadsheet, drawing application, etc. Building individual
modules comes in handy if you want to develop on a certain module.
Most modules will depend on other modules to be already built.
In other words, all modules must build in a particular order. To avoid
building all modules which are prerequisites of the module of your
interest, you can make use of a prebuilt <CODE>solver</CODE> tree against
which you can build any module.
<p>
For more information on modules and on the sequence that they build in, and
on the dependencies, see
<a href="http://tools.openoffice.org/modules.html">tools.openoffice.org/modules.html</a>.
<p>
You have to download the <CODE>solver</CODE> tree as a tarball. For example
<Linux><CODE>solver643B_linux_intel.tar.gz</CODE></Linux>
<Solaris><CODE>solver643B_solaris_sparc.tar.gz</CODE></Solaris>
<Win_tcsh><CODE>solver643B_win32int.tar.gz</CODE></Win_tcsh>
<Windows><CODE>solver643B_win32int.tar.gz</CODE></Windows>
from the Download page at
<a href="http://download.openoffice.org/index.html">http://download.openoffice.org/index.html</a>,
use a current release 643 is very old and only used as an example,
and unpack it in the <CODE>$SRC_ROOT</CODE> directory, e.g.:
<pre>
<Linux>
<KBD>$SRC_ROOT&gt; tar -xzvf solver643B_linux_intel.tar.gz</KBD>
</Linux>
<Solaris>
<KBD>$SRC_ROOT&gt; gunzip solver643B_solaris_sparc.tar.gz</KBD>
<KBD>$SRC_ROOT&gt; tar -xvf solver643B_solaris_sparc.tar</KBD>
</Solaris>
<WindowsWin_tcsh>
<KBD>$SRC_ROOT&gt; tar -xvzf solver643B_win32int.tar.gz</KBD>
</WindowsWin_tcsh>
</pre>
<LinuxSolarisWin_tcsh>
In order to create the build environment and build tools (bootstrap), you
also have to check out the modules <CODE>config_office, dmake, external,
xml2cmp, mkdepend, sal, solenv, vos, tools and rscpp</CODE>.
</LinuxSolarisWin_tcsh>
<Windows>
In order to create the build environment and build tools, you also have to
check out the <CODE>config_office</CODE> module and <CODE>solenv</CODE>.
</Windows>
<p>
To build a project, you build each of its modules individually in their
directory with the <CODE>build</CODE> tool, followed by <CODE>deliver</CODE>
to copy the created libraries, binaries etc. into the solver tree:
<pre>
<KBD>$SRC_ROOT/(module-name)&gt; build</KBD>
<KBD>$SRC_ROOT/(module-name)&gt; deliver</KBD>
</pre>
Files called <CODE>build.lst</CODE> in the directories
<CODE>(module-name)/prj</CODE> contain all information about the
subdirectories to be build (each of them containing makefiles
<CODE>makefile.mk</CODE>), about internal dependencies, and also about
modules the current module depends on. The files
<CODE>(module-name)/prj/d.lst</CODE> control the actions done by
<CODE>deliver</CODE>. The last or second to last directory to be build is
usually <VAR>module-name</VAR><CODE>/util</CODE> which is responsible for
linking one or more shared libraries.
-->
<br><br><br>
<H2>
<a NAME="BuildingaProjectwithDebugInformation"></a>Building
a Project with Debug Information
</H2>
<p>
To rebuild a complete project with debug information, remove all object
files by removing the
<Linux><CODE>unxlngi4.pro</CODE></Linux>
<Solaris><CODE>unxsols3.pro</CODE></Solaris>
<WindowsWin_tcsh><CODE>wntmsci10.pro</CODE></WindowsWin_tcsh>
directory. Then run <CODE>build</CODE> with the debug option set to true:
<pre>
<KBD>$SRC_ROOT/(module)&gt; rm -rf <Linux>unxlngi4.pro</Linux><Solaris>unxsols3.pro</Solaris><Windows>wntmsci10.pro</Windows></KBD>
<KBD>$SRC_ROOT/(module)&gt; build debug=true</KBD>
</pre>
<br><br><br>
<h2>
<a NAME="InstallInstructions"></a>Instructions to Build
an Installation Set
</h2>
<p>
The build process (started with a top-level <CODE>dmake</CODE> or
<CODE>build --all</CODE> in <CODE>$SRC_ROOT/instsetoo_native</CODE>) will create
an installation sets in English.
A simple <CODE>build</CODE> in <CODE>$SRC_ROOT/instsetoo_native</CODE>
will also create the installation sets, provided all other modules are
already built.
<p>
If you have built an installation set earlier and want to re-build it,
please delete the local outpath first:
<pre>
<KBD>$SRC_ROOT/instsetoo_native&gt; rm -rf <Linux>unxlngi4.pro</Linux><Solaris>unxsols3.pro</Solaris><WindowsWin_tcsh>wntmsci10.pro</WindowsWin_tcsh></KBD>
</pre>
<p>
The English installation set will be located at
<CODE>$SRC_ROOT/instsetoo_native/<Linux>unxlngi4.pro</Linux><Solaris>unxsols3.pro</Solaris><WindowsWin_tcsh>wntmsci10.pro</WindowsWin_tcsh>/OpenOffice/install/en-US</CODE>.
Execute the <CODE>setup</CODE> binary to install:
<pre>
<KBD>$SRC_ROOT&gt; cd instsetoo_native/<Linux>unxlngi4.pro</Linux><Solaris>unxsols3.pro</Solaris><WindowsWin_tcsh>wntmsci10.pro</WindowsWin_tcsh>/OpenOffice/install/en-US</KBD>
<KBD><LinuxSolaris>en-US&gt; ./setup</LinuxSolaris><WindowsWin_tcsh>en-US&gt; setup.exe</WindowsWin_tcsh></KBD>
</pre>
The en-US in the path names indicates that the localization is American English.
This value corresponds to the language tags defined by RFC 1766 (Tags for the
Identification of Languages).
The German installation set will be located in a de subdirectory. This scheme holds
true for all localizations you may have chosen explicitly (see next section
<a href="#BuildingLocalized">Building Localized Versions of OpenOffice.org</a>).
<p>
For a network installation, use the <CODE>-net</CODE> option to
<CODE>setup</CODE>. Details on the network installation process
can be found at
<a href="http://installation.openoffice.org/proposals/netinstall.html">
http://installation.openoffice.org/proposals/netinstall.html</a>
in the installation project webpage.
</p>
<p>For information on creating an automated
<a href="http://installation.openoffice.org/01RESPONSE_SO52_final_rev2.pdf">
installation script</a> and create a response file.</p>
<br><br><br>
<H2>
<a NAME="BuildingLocalized"></a>Building Localized Versions of OpenOffice.org
</H2>
<p>
Running the configure script with the --with-lang option will introduce the build
of additional language resources. This switch accepts one or more RFC 1766 language
tags as arguments, unfortunately not all languages are supported. Check the value
of the <CODE>completelangiso</CODE> macro in <CODE>$SRC_ROOT/solenv/inc/postset.mk</CODE>
for all the currently supported language tags.
</p>
<p>
Example: <CODE>--with-lang="de fr"</CODE> enables the build of the localized german and
french version.
</p>
<p>
The environment variable <CODE>WITH_LANG</CODE>
will then contain the language tags of the additional (en-US will always be build)
languages.
</p>
<br><br><br>
<H2>
<a NAME="BuildingLangpack"></a>Building Localized Language Packs
</H2>
<p>
If you build additional localized languages it is possible to generate Language Packs
that contain only the changes needed to add the additional language to an OpenOffice.org
of a different language.
</p>
<p>
The following commands will generate language packs languages that were specified
with the --with-lang switch during the configure phase. Note that you can only build the
language packs <b>after</b> you have build the complete office with all selected
languages.
</p>
<pre>
<KBD>$SRC_ROOT&gt; cd instsetoo_native/util; dmake ooolanguagepack</KBD>
</pre>
<br><br><br>
</body>
</html>
</html>