| <html><head> |
| <title>Build Process for pre11RC branches</title> |
| <meta HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8"> |
| </head> |
| |
| <body> |
| |
| <h2> |
| Building OpenOffice.org under Windows with 4NT |
| </h2> |
| <h3> |
| <p>These are the legacy instructuions for builds prior to OpenOffice 1.1 RC.</p> |
| <p>This includes the OO64x and OOo 1.0.x family and the Openoffice 1.1 beta versions.</p> |
| </h3> |
| |
| <p> |
| This document describes the requirements and actions that you need to build |
| OpenOffice.org on Windows. |
| </p> |
| |
| <p> |
| Commands you have to type on the keyboard |
| follow this syntax throughout this document: |
| </p> |
| |
| |
| |
| |
| <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). |
| |
| |
| <CODE>$SRC_ROOT</CODE> will denote the directory in which the source code |
| of OpenOffice.org is stored. |
| |
| <p> |
| Basically, there is the choice to build OpenOffice.org from two different |
| branches: a stable branch, which results in the 1.0.x releases, or |
| a less stable developer branch (latest release see |
| <a href="http://tools.openoffice.org/builds/index.html">here</a>). |
| Links to the different sources are given in the document. |
| </p> |
| |
| <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> |
| |
| <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> |
| |
| <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="#BuildingLocalised">Building Localised Versions of OpenOffice.org</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://download.openoffice.org/index.html">download.openoffice.org</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. |
| |
| <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/index.html">downnload.openoffice.org</a>) |
| or alternatively via a check-out from the cvs tree against a release tag, |
| e.g. <em>cws_srx644_ooo11beta</em>. </li> |
| |
| |
| |
| <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 |
| <CODE>winenv.bat</CODE> (under 4NT) 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> |
| |
| <li> Build typing <CODE>dmake</CODE> in <CODE>$SRC_ROOT</CODE>, or |
| <CODE>build -all</CODE> in the <CODE>instsetoo</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> |
| |
| |
| <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.openoffice.org/index.html">download.openoffice.org</a>) |
| e.g., for 643B the solver tarball |
| |
| |
| <CODE>solver643B_win32intel.tar.gz.</CODE> |
| |
| <p>643 is a very old release. Please use the latest 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">download.openoffice.org</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 module <CODE>solenv</CODE>. </li> |
| |
| <li> Unpack the solver tarball in the <CODE>$SRC_ROOT</CODE> directory. </li> |
| |
| |
| |
| |
| |
| <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> |
| |
| <li> Run |
| |
| |
| |
| <CODE>winenv.bat</CODE> |
| to set all environment variables. |
| </li> |
| |
| <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 |
| Windows, these are as follows:</p> |
| |
| |
| |
| |
| |
| |
| <p><b>Build Requirements</b></p> |
| |
| <ul> |
| <li> |
| Windows NT Version 4 Service Pack 3 or higher or Windows 2000 SP 2 or higher. |
| </li> |
| |
| <li> |
| Microsoft Visual C++ Version 6 Service Pack 3. |
| </li> |
| |
| |
| |
| <li> |
| 4NT Version 2.5 or higher. You can download this from |
| <a href="ftp://jpsoft.com/4nt/">ftp://jpsoft.com/4nt/</a>. |
| <p> |
| <b>Important Note 1:</b> Please ensure that the path to the 4NT application |
| directory doesn't contain one or more spaces. No, not even |
| <CODE>c:\Program Files\4NT\</CODE>. In this case uninstall and re-install |
| to a directory without spaces. |
| </p> |
| <p> |
| <b>Important Note 2:</b> Before you use 4NT, you must ensure that the initialization |
| file <CODE>4nt.ini</CODE> is present in the 4NT application directory. The |
| following code sample shows the content of the <CODE>4nt.ini</CODE> file: |
| </p> |
| <pre> |
| [4NT] |
| CommandSep = ^ |
| EscapeChar = Ctrl-X |
| ParameterChar = & |
| LocalAliases = Yes |
| </pre> |
| </li> |
| |
| |
| |
| <li> |
| A Java 2 SDK. Which version you need depends on the Version you are going to build. |
| <ul><li> |
| <a href="http://java.sun.com/j2se/1.3">JDK 1.3.1</a> |
| is needed for <b>OpenOffice.org 1.0.x</b> builds, this includes the 641er codeline. |
| </li> |
| <li> |
| <a href="http://java.sun.com/j2se/1.4">JDK 1.4</a> |
| is needed for <b>OpenOffice.org 1.1 (including beta, beta2)</b> builds. |
| <p><b>Important Note 3:</b> JDK 1.4.1 is prooven to work, but the new |
| JDK 1.4.2 beta will break the build.</p> |
| </li></ul> |
| </li> |
| |
| |
| |
| <li> |
| Only if you use the old Cygwin B-20 tools (new cygwin tools include |
| it already): |
| Perl 5 for Win32. You can download this binary from |
| <a href="http://www.activestate.com/Products/ActivePerl/Download.html">http://www.activestate.com/Products/ActivePerl/Download.html</a>. |
| </li> |
| |
| |
| |
| <li> |
| Cygwin Toolkit from |
| <a href="http://www.cygwin.com">http://www.cygwin.com</a>. |
| This works, however, only for the 643B release and later! For any earlier |
| release, an older cygwin version (b20) is recommended. |
| Cygwin-b20 used to reside under various mirror sites, |
| but has now been removed. A copy is kept at |
| <a href="ftp://ftp.aubi.de/pub/b20+bison.zip">ftp://ftp.aubi.de/pub/b20+bison.zip</a>.<br> |
| Within the Cygwin Toolkit, three executables might be realised as |
| symlinks, namely awk.exe, gunzip.exe and tar.exe. This might lead to |
| a break of the build later, and the symlinks should be replaced with |
| copies of the command |
| they link to. Check, in a cygwin shell, with <em>ls -l /bin/awk.exe</em> |
| whether awk.exe is a symlink. For instance, awk.exe could be a link to |
| gawk.exe, in which case you should copy gawk.exe to awk.exe: |
| <em>cd /bin; cp gawk.exe awk.exe</em>. Take similar action for unzip.exe |
| and tar.exe. <br> |
| More help and information on the cygwin tools can be found at |
| <a href="http://website.openoffice.org/support/en/howtos/1.html">http://website.openoffice.org/support/en/howtos/1.html</a>. |
| </li> |
| |
| <li> |
| In case you need to use the cygwin-b20 tools: |
| GNU Bison 1.28. cygwin-b20 only contains Bison 1.25. You can download this |
| from any mirror site given at |
| <a href="http://www.gnu.org/software/bison/bison.html">http://www.gnu.org/software/bison/bison.html</a>. |
| In fact, only the bison.simple file in the <CODE>share</CODE> subdirectory |
| of the cygnus-b20 installation has to be replaced by the corresponding file |
| from the Bison version 1.28. To make things even more complicated, what cygnus-b20 |
| understands as bison.simple is called bison.s1 at gnu.org, and yet other distributions |
| name that file bison.hai. This means that if you put gnu's bison 1.28 to <CODE>C:\bison-1.28</CODE> |
| and cygwin b-20 resides in <CODE>C:\cygnus\cygwin-b20</CODE>, you have to |
| do the following copy command: <br> |
| <KBD>cp C:\bison-1.28\share\bison.s1 C:\cygnus\cygwin-b20\share\bison.simple</KBD>.<br> |
| The above link to the Cygwin b20 version |
| (<a href="ftp://ftp.aubi.de/pub/b20+bison.zip">ftp://ftp.aubi.de/pub/b20+bison.zip</a>) |
| does have the right bison version already in place. |
| <br> |
| Bison will also need a <CODE>C:\tmp</CODE> directory to function properly. |
| </li> |
| |
| |
| |
| |
| |
| <li> |
| A Microsoft Assembly compiler. This may already be present in your |
| installation in the same directory where the compiler is located (look for |
| <CODE>ML.EXE</CODE> and <CODE>ML.ERR</CODE>). If not, instructions on |
| where and how to get a free version can be found at |
| <a href="http://www2.dgsys.com/~raymoon/faq/masm.html#9">http://www2.dgsys.com/~raymoon/faq/masm.html#9</a>. |
| Place <CODE>ML.EXE</CODE> and <CODE>ML.ERR</CODE> somewhere in a directory |
| and note the path, i.e. <CODE>C:\ml</CODE> |
| </li> |
| |
| |
| |
| <li> <CODE>zip.exe</CODE> Version 2.2 or higher, and <CODE>unzip.exe</CODE>. |
| If you do not have these already, you can download them from |
| <a href="http://www.info-zip.org">www.info-zip.org</a>. |
| Note: The cygwin zip.exe is not working for the build under the 4NT shell. |
| You have to use the native w32 version. |
| Make sure that the first zip.exe in your path is the native w32 |
| version, e.g. rename or delete the zip.exe in your cygwin /bin directory and |
| copy the InfoZip version to this place. |
| </li> |
| |
| |
| |
| <li> |
| Parts of the Microsoft Platfrom SDK. What you need depends on the Version you are going to build. |
| <ul><li> |
| Starting with the 643 builds, this includes the <b>OpenOffice.org 1.1 Beta</b> |
| source, you need the MDAC SDK, the Core SDK and the |
| Internet Development SDK (the latters two are dependencies of the MDAC SDK) |
| to be installed on your build system. |
| <b>Warning!</b> May 2002 util Oktober 2002 are proven to work, the February 2003 PSDK |
| can be used with OpenOffice.org 1.1 Beta2 sources when the configure switch |
| <CODE>--with-2003-psdk</CODE> is used.) |
| You can download (only the 02/2003 !!! version) this from |
| <a href="http://www.microsoft.com/msdownload/platformsdk/sdkupdate/"> |
| http://www.microsoft.com/msdownload/platformsdk/sdkupdate</a>. |
| </li> |
| <li> |
| If you are going to build an earlier codeline, this includes the |
| <b>OpenOffice.org 1.0.x</b> source, all you need to do is to copy the files |
| <CODE>AdoCtint.h</CODE> and <CODE>SqlUcode.h</CODE> from this SDK into $SRC_ROOT/external/download. |
| </li></ul> |
| </li> |
| |
| <li> |
| The Microsoft Layer for Unicode - unicows.dll - is a runtime requirement for Windows 95/98/ME (not for |
| NT/2000/XP). The file <CODE>unicows.dll</CODE> has to be downloaded and installed in the system or |
| windows directory (i.e. <CODE>C:\WINDOWS\SYSTEM</CODE> or <CODE>C:\WINDOWS</CODE>, respectively). |
| A self-extracting binary is available for download at |
| <a href="http://download.microsoft.com/download/platformsdk/Redist/1.0/W9XMe/EN-US/unicows.exe"> |
| http://download.microsoft.com/download/platformsdk/Redist/1.0/W9XMe/EN-US/unicows.exe</a>. |
| For technical details see |
| <a href="http://porting.openoffice.org/servlets/ReadMsg?msgId=116287&listName=dev"> |
| http://porting.openoffice.org/servlets/ReadMsg?msgId=116287&listName=dev</a> and |
| <a href="http://porting.openoffice.org/servlets/ProjectDocumentList?dcID=515&action=download"> |
| http://porting.openoffice.org/servlets/ProjectDocumentList?dcID=515&action=download</a>. |
| (This only affects 643 builds.) |
| </li> |
| |
| <li> |
| The gpc general polygon clipper library release 2.31, located at |
| <a href="http://www.cs.man.ac.uk/aig/staff/alan/software/">http://www.cs.man.ac.uk/aig/staff/alan/software/</a>. |
| Download and unpack the tarball. You should have |
| the files gpc.c and gpc.h in <CODE>$SRC_ROOT/external/gpc</CODE>. |
| </li> |
| |
| </ul> |
| |
| |
| <br> |
| <p> |
| |
| |
| |
| |
| |
| <b>Hardware Requirements</b> |
| |
| <ul> |
| |
| <li> |
| Intel Pentium II PC |
| </li> |
| |
| <li> |
| 128 MB RAM recommended |
| </li> |
| |
| <li> |
| 2 GB free disk space |
| </li> |
| |
| </ul> |
| |
| <br><br> |
| |
| |
| <h2> |
| <a NAME="ExternalComponents"></a>External Components |
| </h2> |
| |
| <p> |
| The code contains some further external components which are already provided. |
| If you are interested in details about these, look at the External Components |
| webpage at |
| <a href="http://tools.openoffice.org/ext_comp.html">http://tools.openoffice.org/ext_comp.html</a>.</p> |
| |
| <br><br><br> |
| |
| |
| |
| <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/index.html">http://download.openoffice.org</a>), |
| e.g. <CODE>oo_643B_src.tar.gz</CODE> in case of the 643B release. |
| <p> |
| Unpack the tarballs as follows (for the example 643B):</p> |
| <pre> |
| <KBD>> gunzip oo_643B_src.tar.gz</KBD> |
| <KBD>> tar -xvf oo_643B_src.tar</KBD> |
| <KBD>> cd oo_643B_src</KBD> |
| </pre> |
| <p>This will be $SRC_ROOT from now on. NB: 643 is a very old release |
| use a current one.</p> |
| </li> |
| |
| <li> |
| Another possibility is to check out the code from the cvs tree. |
| You may need <a href="http://www.socks.permeo.com">runsocks</a> to run |
| cvs (with the new cygwin tools it is not |
| necessary). If you |
| don't have a username and password, you can still do a checkout as <CODE>anoncvs</CODE>: |
| <pre> |
| <KBD>> cvs -d:pserver:anoncvs@anoncvs.services.openoffice.org:/cvs login</KBD> |
| <p>Just press enter when prompted for the password.</p> |
| <KBD>> cd $SRC_ROOT</KBD> |
| <KBD>$SRC_ROOT> cvs</KBD> / |
| <KBD> -d:pserver:anoncvs@anoncvs.services.openoffice.org:/cvs</KBD> / |
| <KBD> co -r OpenOffice643 OpenOffice</KBD> |
| </pre> |
| 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> cvs</KBD> / |
| <KBD> -d:pserver:anoncvs@anoncvs.services.openoffice.org:/cvs</KBD> / |
| <KBD> update -r OpenOffice643 OpenOffice</KBD> |
| </pre> |
| </li> |
| |
| <li> |
| If you're only interested in building individual modules, you won't need |
| the entire source code. You can check out individual modules from the cvs |
| tree: |
| <pre> |
| <KBD>$SRC_ROOT> cvs</KBD> / |
| <KBD> -d:pserver:anoncvs@anoncvs.services.openoffice.org:/cvs</KBD> / |
| <KBD> co -r OpenOffice643 (module-name)</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>HEAD</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. In general, |
| the code is given a weekly tag like <em>SRC641</em> (with weekly increasing numbers), |
| and from there a branch tag <em>OO641B</em> (standing for <em>OpenOffice.org 641 Branch</em>) |
| is created. Release engineering builds on this branch, adds eventual fixes, and |
| tags the result as <em>OpenOffice641B</em>. The source tarballs are also created from |
| this, i.e. the code resulting from checking out against <em>OpenOffice641B</em> is |
| identical to the one in the 641 source tarball. After release, some further bug fixes |
| will enter the branch. From then on, the code at <em>OO641B</em> and <em>OpenOffice641B</em> |
| will differ. Finally, changes made on the branch (i.e. the difference between <em>OO641B</em> |
| and <em>SRC641</em>) will be merged back to the main trunk. |
| </p> |
| <p> |
| Some releases are respins of a previous release. Those are marked 'C' instead of 'B' (for instance |
| <em>OO641C</em> and <em>OO643C</em>. Note that 'B' stands for 'branch' and not for any |
| counting index, even though it is treated like that in case of a respin. Therefore, there is |
| no such tag as <em>OO641A</em>. |
| </p> |
| <p>This process is currently under change so the above may be outdated when you read it.</p> |
| </li> |
| |
| </ul> |
| |
| <br><br><br> |
| |
| |
| |
| <H2> |
| <a NAME="GeneratingtheBuildEnvironmentandBuildTools"></a>Generating the Build |
| Environment and Build Tools |
| </H2> |
| |
| |
| |
| <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, this is still experimental (you chose the safe way). 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 Cygnus <CODE>bash</CODE> shell 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 you then execute to set all necessary |
| build environment variables. We demonstrate a sample run below. |
| |
| |
| <p> |
| This configuration file will be moved into the <CODE>SRC_ROOT</CODE> directory. |
| A top-level makefile script <CODE>makefile.mk</CODE> |
| will be 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. |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <p> |
| The following should demonstrate in detail what steps have to be done to |
| set up the environment:</p> |
| |
| <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:\oo643B</CODE> |
| </li> |
| <li> |
| JDK 1.3.1 is installed in <CODE>C:\jdk1.3.1</CODE> |
| </li> |
| <li> |
| the Microsoft Compiler is located in |
| <CODE>C:\PROGRA~1\MICROS~3\VC98</CODE> |
| (or <CODE>C:\program files\microsoft visual studio\vc98</CODE>) |
| </li> |
| <li> |
| the Microsoft SDK is located in <CODE>C:\PROGRA~1\MICROS~5</CODE> |
| (only applies for 643B and later) |
| </li> |
| <li> |
| the assembly compiler resides in <CODE>C:\ml</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/oo643B/config_office</b> (new cygwin tools) or <br> |
| <b>cd //c/oo643B/config_office</b> (old cygwin b20 tools, deprecated) |
| <br> |
| <b>./configure --with-cl-home=/cygdrive/c/PROGRA~1/MICROS~3/VC98 --with-asm-home=/cygdrive/c/ml --with-jdk-home=/cygdrive/c/jdk1.3.1 --with-unzip-home=/cygdrive/c/unzip</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>//C/path/to/file</CODE> |
| or <CODE>/cygdrive/c/path/to/file</CODE> for b-20 or |
| new cygwin tools, respectively, |
| 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> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <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> |
| If you experiment with newest sources from the cvs-tree, mind that updates |
| to the configure process do 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> and <CODE>set_soenv.in</CODE> using the |
| <CODE>autoconf</CODE> command. In this case, you would run commands |
| like the following: |
| |
| <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> |
| |
| <p> |
| |
| 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 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> |
| |
| |
| |
| |
| <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>6 GB SCSI</td> |
| </tr> |
| <tr VALIGN=TOP> |
| <td>Time</td> |
| <td>~10 h</td> |
| </tr> |
| </table> |
| |
| |
| |
| <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 |
| |
| |
| |
| <CODE>solver643B_win32int.tar.gz</CODE> |
| from the Download page at |
| <a href="http://download.openoffice.org/index.html">http://download.openoffice.org</a>, |
| use a current release 643 is very old, |
| and unpack it in the <CODE>$SRC_ROOT</CODE> directory, e.g.: |
| <pre> |
| |
| |
| |
| <KBD>$SRC_ROOT> tar -xvzf solver643B_win32int.tar.gz</KBD> |
| |
| </pre> |
| |
| |
| |
| 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>. |
| |
| |
| <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 |
| |
| |
| <CODE>wntmsci7.pro</CODE> |
| directory. Then run <CODE>build</CODE> with the debug option set to true: |
| |
| <pre> |
| <KBD>$SRC_ROOT/(module)> rm -rf wntmsci7.pro</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</CODE>) will create |
| installation sets in english and german. |
| A simple <CODE>build</CODE> in |
| <CODE>$SRC_ROOT/instsetoo</CODE> will also create the installation sets, |
| provided all other modules are already built. |
| |
| <p> |
| If you have build an installation set earlier and want to re-build it, |
| please delete the local outpath first: |
| <pre> |
| <KBD>$SRC_ROOT/instsetoo> rm -rf wntmsci7.pro</KBD> |
| </pre> |
| |
| <p> |
| The English installation set will be located at |
| <CODE>$SRC_ROOT/instsetoo/wntmsci7.pro/01/normal</CODE>. |
| Execute the <CODE>setup</CODE> binary to install: |
| <pre> |
| <KBD>$SRC_ROOT> cd instsetoo/wntmsci7.pro/01/normal</KBD> |
| <KBD>normal> setup.exe</KBD> |
| </pre> |
| |
| The 01 in the path names indicates that the localisation is american english. This number |
| corresponds to the international phone code for the USA. The German installation set |
| will be located in a subdirectory 49. This scheme holds true for all localisations you may |
| have chosen explicitly (see next section |
| <a href="#BuildingLocalised">Building Localised 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="BuildingLocalised"></a>Building Localised Versions of OpenOffice.org |
| </H2> |
| |
| <p> |
| Running the configure script with the --with-lang option will introduce the build |
| of additional language resources. This option will introduce a command in the |
| environment settings file which in turn after execution sets a variable like, for instance, |
| <CODE>RES_FREN</CODE> to <CODE>TRUE</CODE> in the case of french (You can also set |
| this variable by hand in order to introduce another language). It is also possible to |
| build more than one language at once. |
| One language resource, however, will not be |
| introduced that way: the help content! Clicking on 'help' would still open english |
| help documents. |
| </p> |
| |
| <p> |
| There is no automatic procedure yet to implement non-english help, but the additional |
| manual effort is rather minimal: After building the source as described above, but before |
| building the installation set, a zip-file with all helpcontent for the language of choice has |
| to be unzipped into the directory |
| |
| <pre> |
| <CODE>$SRC_ROOT/solver/641/wntmsci7.pro/pck</CODE>. |
| </pre> |
| |
| <p> |
| The filenames of these files contain a number code for the language, corresponding to |
| the international phone code of a country in which that language is mainly spoken. |
| For instance, the file <CODE> |
| helpcontent_34_wnt.zip |
| </CODE> contains all helpcontent for the spanish localisation. |
| The zipfiles themselves are available at |
| <a href="http://ftp.services.openoffice.org/pub/OpenOffice.org/contrib/helpcontent/">ftp.services.openoffice.org/pub/OpenOffice.org/contrib/helpcontent/</a>. |
| </p> |
| |
| <p> |
| Having unzipped the helpcontent files in there, building of installation sets can be |
| resumed or repeated (in case you already have build some), as described in the previous |
| chapter. English installation sets will be located in</p> |
| |
| <pre> |
| <CODE>$SRC_ROOT/instsetoo/wntmsci7.pro/01/normal</CODE>, |
| </pre> |
| |
| where 01 corresponds to the international phone code of the USA. |
| If you have chosen, for instance, French (by configuring with the <CODE>--with-lang=FREN</CODE> option) |
| you will find an additional directory called 33: |
| |
| <pre> |
| <CODE>$SRC_ROOT/instsetoo/wntmsci7.pro/33/normal</CODE>. |
| </pre> |
| |
| <p>Similarily, you will find 49 for German, 34 for Spanish, etc.</p> |
| |
| <p> |
| Localised help content is not yet available for all languages. In such cases, the english |
| helpcontent will appear in the installations. For instance, when Danish is set with |
| configure, you will find installation sets under the directory 45, but the help files will |
| appear in english. |
| </p> |
| |
| <br><br><br> |
| |
| |
| </body> |
| </html> |
| </html> |
| |