| <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> ./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> 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>> tar -xvzf OOo_3.1.0_src_core.tar.gz</KBD> | |
| <KBD>> 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> 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> cd config_office</KBD> | |
| <KBD>config_office> ./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> cd config_office</KBD> | |
| <KBD>config_office> ./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> ./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> 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> 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> ./bootstrap</KBD> | |
| </pre> | |
| <p> | |
| Now source the configuration file which sets all environment variables: | |
| </p> | |
| <pre> | |
| </LinuxSolarisWin_tcsh><Linux><KBD>$SRC_ROOT> source LinuxIntelEnv.Set</KBD></Linux><Solaris><KBD>$SRC_ROOT> source SolarisSparcEnv.Set</KBD></Solaris><Win_tcsh><KBD>$SRC_ROOT> source winenv.set</KBD></Win_tcsh><LinuxSolarisWin_tcsh> | |
| </pre> | |
| <p>Don't forget to run | |
| </p> | |
| <pre> | |
| <KBD>$SRC_ROOT> 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> cd config_office</KBD> | |
| <KBD>config_office> cvs update configure.in</KBD> | |
| <KBD>config_office> autoreconf</KBD> | |
| </pre> | |
| </LinuxSolarisWin_tcsh> | |
| <Windows> | |
| <pre> | |
| <KBD>$SRC_ROOT> cd config_office</KBD> | |
| <KBD>config_office> cvs update configure.in</KBD> | |
| get a bash shell | |
| <KBD>config_office>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> 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)> build</KBD> | |
| <KBD>$SRC_ROOT/(module)> 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> tar -xzvf solver643B_linux_intel.tar.gz</KBD> | |
| </Linux> | |
| <Solaris> | |
| <KBD>$SRC_ROOT> gunzip solver643B_solaris_sparc.tar.gz</KBD> | |
| <KBD>$SRC_ROOT> tar -xvf solver643B_solaris_sparc.tar</KBD> | |
| </Solaris> | |
| <WindowsWin_tcsh> | |
| <KBD>$SRC_ROOT> 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)> build</KBD> | |
| <KBD>$SRC_ROOT/(module-name)> 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)> rm -rf <Linux>unxlngi4.pro</Linux><Solaris>unxsols3.pro</Solaris><Windows>wntmsci10.pro</Windows></KBD> | |
| <KBD>$SRC_ROOT/(module)> 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> 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> 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> ./setup</LinuxSolaris><WindowsWin_tcsh>en-US> 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> cd instsetoo_native/util; dmake ooolanguagepack</KBD> | |
| </pre> | |
| <br><br><br> | |
| </body> | |
| </html> | |
| </html> | |