Building on Windows

From Apache OpenOffice Wiki
< Documentation‎ | Building Guide AOO
Revision as of 10:01, 27 February 2013 by Od (Talk | contribs)

Jump to: navigation, search

Template:Documentation/Building Guide AOO TOCTemplate:Documentation/HelpNeeded


Overview

For general information on how to build Apache OpenOffice from source code, see the platform independent page.

Template:Documentation/Windows For building Apache OpenOffice the Cygwin environment is required. Cygwin is a set of programs that run on Windows but emulate a complete Unix command line environment.

As compiler we use Microsoft's Visual C++, not the gcc from Cygwin. Therefore Visual Studio Express can be used for debugging.

To use this document you should be familiar with a bourne command line interpreter (sh or bash), but you need not be a UNIX shell wizard. Template:Documentation/Tip

Build requirements

Additionally to the general build requirements you need

What Where to get How to install
Windows XP, Windows Vista, Windows 7
Cygwin http://www.cygwin.com, minimum version: 1.5.10, preferred: current version]

See below for setting up cygwin and the required packages.

(default)
Visual C++ 2008 Express

(C/C++ compiler, debugger)

http://www.microsoft.com/express/download/.

Free download, basic install, no optional parts required

If you do not find it directly, perform a internet search, e.g. at google with "Visual Studio 2008 Express site:microsoft.com".

E.g. http://www.microsoft.com/en-us/download/details.aspx?id=14597 is found in order to download "vcsetup.exe".

--with-cl-home=
Windows SDK for Windows Server 2008 http://www.microsoft.com/downloads/details.aspx?FamilyId=F26B1AA4-741A-433A-9BE5-FA919850BDBF&displaylang=en

This is either a DVD image or a net installer. You can either mount the DVD with a suitable tool, burn it do a DVD or use tools like winrar or 7zip to extract files from the ISO file directly. You don't need to install samples or documentation (saves a lot of disk space). It will also install the .NET Framework 3.5 SDK. It might be best to install the Windows SDK into the default directory, and if not that into one without capital letters in the path.

GDI+ Redistributable http://www.microsoft.com/downloads/details.aspx?familyid=6A63AB9C-DF12-4D41-933C-BE590FEAA05A&displaylang=en. Genuine Windows Validation required. main/external/gdiplus
dbghelp.dll http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=CD1FC4B2-0885-47F4-AF45-7FD5E14DB6C0

The exact download URL may have changed. In that case you have to search Microsoft's website.

It can also be found in the Visual Studio C++ 2008 Express installation.

main/external/dbghelp
Microsoft Visual C++ 2008 SP1 Redistributable Package (x86) vcredist_x86.exe, download found here

It is just packed as it is into the installation package.

The exact download URL may have changed. In that case you have to search Microsoft's website.

main/external/vcredist
Microsoft Visual C++ 2008 SP1 Redistributable Package (x64) vcredist_x64.exe, download found here

It is just packed as it is into the installation package.

The exact download URL may have changed. In that case you have to search Microsoft's website.

main/external/vcredist

Requirements for optional features:

What Where to get How to install
Mozilla binary distribution http://tools.openoffice.org/moz_prebuild/OOo3.2 (WNTMSCIruntime.zip,WNTMSCIlib.zip,WNTMSCIinc.zip) Needed as prebuilts for module moz (SeaMonkey) as the current used SeaMonkey version 1.1.4 does not support a build with Visual Studio C++ 2008 compiler. main/moz/zipped
Runtime libraries 7.1 msvcr71.dll and msvcp71.dll for Mozilla libraries. Search for them on the web or on your PC. These files should be named as all lower case. Sometimes when downloaded they are upper case and this will cause 'file not found' errors towards the end of the build)) main/external/msvcp71
Runtime libraries 8.0 msvcp80.dll and msvcr80.dll for Mozilla libraries. Search for them on the web or on your PC. main/external/msvcp80
Microsoft DirectX SDK http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=6812 --with-directx-home=
Nullsoft Scriptable Install System (NSIS) http://nsis.sourceforge.net/

If NSIS is available, a self contained Windows installer is created in addition to the MSI installer files.

It used to be that newer version of NSIS broke the build (see Issue 85657 ), but it seems that it now works for NSIS up to 2.3.7.

Remarks

Template:Documentation/Note

Template:Documentation/Note

Setting up Cygwin

Go to http://www.cygwin.com/ and download and install the current version.

Documentation caution.png Make sure that you keep the filetype set to “Unix/binary”.
Documentation caution.png Make sure that the PATH variable in your cygwin shell does not contain any unquoted blanks and quotes, otherwise configure will not work

Cygwin consists of some basic and a lot of optional packages. As building AOO needs some of these optional packages you have to select them in the installer. Here's a complete list of the required packages:

  • Category Archive:
    • unzip
    • zip
  • Category Devel :
    • autoconf
    • bison
    • flex
    • gcc-g++
    • gperf
    • make
    • openssl-devel (only needed for perl modules for CWS tooling, see below)
    • mercurial (or cvs for 2.x-3.0, or subversion for 3.1 codeline)
    • readline
    • subversion (if you want to use svn to checkout and update your working copy of AOO)
  • Category Libs
    • openssl
  • Category Net
    • openssh
  • Category Perl
    • perl
  • Category Shells
    • mintty
  • Category Utils
    • patch
    • gnupg
  • Category Web
    • wget

Template:Documentation/Note

Configure switches (Windows specific)

Additionally to the general configure switches there are several that only have to be used on Windows or have Windows specific values.

Typical values for the compiler and SDK. If default installation paths are used these configure switches are not needed:

 --with-cl-home="/cygdrive/c/Program Files/Microsoft Visual Studio 9.0/VC"             \
 --with-mspdb-path="/cygdrive/c/Program Files/Microsoft Visual Studio 9.0/Common7/IDE" \
 --with-frame-home="/cygdrive/c/Program Files/Microsoft SDKs/Windows/v6.1"             \
 --with-psdk-home="/cygdrive/c/Program Files/Microsoft SDKs/Windows/v6.1"              \
 --with-midl-path="/cygdrive/c/Program Files/Microsoft SDKs/Windows/v6.1/Bin"          \
 --with-asm-home="/cygdrive/c/Program Files/Microsoft Visual Studio 9.0/VC/Bin"        \
 --with-csc-path="/cygdrive/c/WINDOWS/Microsoft.NET/Framework/v3.5"

For Java SDK and Ant:

 --with-jdk-home="/cygdrive/c/Program Files (x86)/Java/jdk1.6.0_27"                    \
 --with-ant-home="/cygdrive/c/ant"

For DirectX:

 --with-directx-home="C:/Program Files (x86)/Microsoft DirectX SDK (June 2010)"

For the Visual Studio C++ 2008 Express

 --disable-atl                                                                         \
 --disable-activex

To enable ATL and ActiveX when using Visual Studio C++ 2008 Express you need the Windows Driver SDK:

  • download and install the Windows Driver SDK, it comes with the ATL header and libraries for free (as in free beer).
  • run configure using the following configure switches assuming that Windows Driver SDK has been installed into C:\WinDDK\7600.16385.1:
    • --with-atl-include-dir=/cygdrive/c/WinDDK/7600.16385.1/inc/atl71 \
    • --with-atl-lib-dir=/cygdrive/c/WinDDK/7600.16385.1/lib/ATL/i386 \
    • --with-mfc-include-dir=/cygdrive/c/WinDDK/7600.16385.1/inc/mfc42 \
    • --with-mfc-lib-dir=/cygdrive/c/WinDDK/7600.16385.1/lib/Mfc/i386 \

And some more:

 --enable-pch                                                                          \
 --enable-dbgutil
Personal tools