How to build Symphony's source code
Symphony officially can be built on the following platforms
System | Architecture |
---|---|
Windows XP / 7 | intel x86 |
Linux - Ubuntu 11.04 | intel x86 |
Linux - Suse Enterprise Desktop 11 | intel x86 |
Mac OS X - 10.5 / 10.6 / 10.7 | intel x86 |
It's easy for developer to reuse Apache OpenOffice 3.4 build environment to build Symphony's source code. This article assumes that you have already made a successful Apache OpenOffice 3.4 build. If you have not, please refer to the following pages.
Contents
Getting Symphony's source code
You can get Symphony's source code from https://svn.apache.org/repos/asf/incubator/ooo/symphony/trunk/. Please make sure that all the source code directories are under SRC_ROOT and you can locate all modules at "$SRC_ROOT/main"
And icu 4.8.1 source can be download from http://download.icu-project.org/files/icu4c/4.8.1/icu4c-4_8_1-src.tgz, then change its name to af36f635271a239d76d038d6cf8da8df-icu4c-4_8_1-src.tgz and put it in $SRC_ROOT/ext_sources.
The directory/file list under $SRC_ROOT should be
- ext_libraries
- ext_sources
- extras
- help
- l10n
- main
- README
Building Symphony on Windows
You can make a full build for Symphony with cygwin on Windows platform.
Software requirements
- Windows XP + SP3 / Windows 7 + SP1
- Microsoft Visual Studio 2008 + SP1
- JDK 1.6
- You can get it from http://java.sun.com/javase/6
- Cygwin 1.7
- Ant
- MSSDK
- DirectX
- NSIS
- Mozilla build tools
- Microsoft .Net framework V3.5
- dgbhelper.dll
- You can get it from http://www.microsoft.com/en-us/download/details.aspx?id=12745. Please put it in $SRC_ROOT/main/external/dbghelp
- vcredist_x86.exe / vcredist_x64.exe
- You can get them from http://www.microsoft.com/en-us/download/details.aspx?id=13523 and http://www.microsoft.com/en-us/download/details.aspx?id=8328. Please put them in $SRC_ROOT/main/external/vcredist
- gdiplus.dll
- You can get it from http://www.microsoft.com/en-us/download/details.aspx?id=18909. Please put it in $SRC_ROOT/main/external/gdiplus
- msvcp80.dll / msvcr80.dll
- You can get them from C:\WINDOWS\WinSxS\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_0de06acd. Please put them in $SRC_ROOT/main/external/msvcp80
- Microsoft_VC90_CRT_x86.msm / Microsoft_VC90_DebugCRT_x86.msm / policy_9_0_Microsoft_VC90_CRT_x86.msm / policy_9_0_Microsoft_VC90_DebugCRT_x86.msm
- You can get them from C:\Program Files\Common Files\Merge Modules. Please put them in $SRC_ROOT/main/external/msm90
- Mozilla binary distributions
- You can get WNTMSCIinc.zip / WNTMSCIlib.zip / WNTMSCIruntime.zip from http://www.openoffice.org/tools/moz_prebuild/OOo3.2/. Please put them in $SRC_ROOT/main/moz/zipped
Starting build
You can run the commands below to start a full build on Windows. Please follow the configure switchers strictly. Symphony does not officially support any other configure switcher.
cd $SRC_ROOT/main autoconf ./configure \ --with-cl-home="/cygdrive/c/dev.tools/vc.2008/VC" \ --with-mspdb-path="/cygdrive/c/dev.tools/vc.2008/Common7/IDE" \ --with-asm-home="/cygdrive/c/dev.tools/vc.2008/VC/bin" \ --with-frame-home="/cygdrive/c/dev.tools/MSSDK_v6.1" \ --with-psdk-home="/cygdrive/c/dev.tools/MSSDK_v6.1" \ --with-midl-path="/cygdrive/c/dev.tools/MSSDK_v6.1/Bin" \ --with-csc-path="/cygdrive/c/WINDOWS/Microsoft.NET/Framework/v3.5" \ --with-jdk-home="/cygdrive/c/dev.tools/jdk_1.6" \ --with-ant-home="/cygdrive/c/dev.tools/apache-ant-1.7.0" \ --with-directx-home="/cygdrive/c/dev.tools/directx" \ --with-nsis-path="/cygdrive/c/dev.tools/NSIS" \ --with-dmake-url="http://dmake.apache-extras.org.codespot.com/files/dmake-4.12.1.tar.bz2" \ --with-epm-url="http://ftp.easysw.com/pub/epm/3.7/epm-3.7-source.tar.gz" \ --with-mozilla-build="/cygdrive/c/dev.tools/mozilla-build" \ --with-use-shell=bash \ --without-junit \ --disable-build-mozilla \ --disable-odk \ --enable-category-b \ --enable-bundled-dictionaries ./bootstrap source winenv.set.sh cd instsetoo_native/ build --all -P4
You can finally get the installation packages on Windows at
$SRC_ROOT/main/instsetoo_native/wntmsci12.pro/OpenOffice/archive/install/en-US/OOo_3.4.0_Win_x86_install-arc_en-US.zip $SRC_ROOT/main/instsetoo_native/wntmsci12.pro/OpenOffice/msi/install/en-US/setup.exe
Building Symphony on MacOSX
You can make a full build for Symphony on MacOSX 10.5 / 10.6.
Software requirements
- Mac OS X 10.5.8 / Xcode 3.0 / MacOSX10.5.sdk / gcc 4.0.1 / jdk 1.6
- Mac OS X 10.6.8 / Xcode 3.2.6 / MacOSX10.5.sdk / gcc 4.2.1 / jdk 1.6
- Mac OS X 10.7.4 / Xcode 3.2.6 / MacOSX10.5.sdk / gcc 4.2.1 / jdk 1.6
- Mozilla binary distributions
- You can get MACOSXGCCIinc.zip / MACOSXGCCIlib.zip / MACOSXGCCIruntime.zip from http://www.openoffice.org/tools/moz_prebuild/OOo3.2/. Please put them in $SRC_ROOT/main/moz/zipped
Starting build
You can run the commands below to start a full build on MacOSX. Please follow the configure switchers strictly. Symphony does not officially support any other configure switcher.
cd $SRC_ROOT/main autoconf ./configure \ --with-dmake-url="http://dmake.apache-extras.org.codespot.com/files/dmake-4.12.1.tar.bz2" \ --with-epm-url="http://ftp.easysw.com/pub/epm/3.7/epm-3.7-source.tar.gz" \ --without-junit \ --disable-odk \ --disable-build-mozilla \ --enable-category-b \ --enable-bundled-dictionaries ./bootstrap source MacOSXX86Env.Set.sh cd instsetoo_native/ build --all -P4
You can finally get the installation packages on MacOSX at
$SRC_ROOT/main/instsetoo_native/unxmacxi.pro/OpenOffice/archive/install/en-US/OOo_3.4.0_MacOS_x86_install-arc_en-US.tar.gz $SRC_ROOT/main/instsetoo_native/unxmacxi.pro/OpenOffice/dmg/install/en-US/OOo_3.4.0_MacOS_x86_install_en-US.dmg
Building Symphony on Linux - Ubuntu
You can make a full build for Symphony with gcc 4.5 on Ubuntu 11.04
Software requirements
- Ubuntu 11.04
- Mozilla binary distributions
- You can get LINUXGCCIinc.zip / LINUXGCCIlib.zip / LINUXGCCIruntime.zip from http://www.openoffice.org/tools/moz_prebuild/OOo3.2/. Please put them in $SRC_ROOT/main/moz/zipped
- Additional packages
- Please run the following command to install all the additional packages
sudo apt-get install subversion g++ gcc bison flex libarchive-zip-perl libcups2-dev libpam0g-dev gperf libfreetype6-dev libxaw7-dev libfontconfig1-dev libxrandr-dev patch libgconf2-dev libgnomevfs2-dev ant libgtk2.0-dev junit junit4 default-jdk default-jre default-jre-headless librsvg2-dev tcsh autoconf libssl-dev
Starting build
You can run the commands below to start a full build on Ubuntu. Please follow the configure switchers strictly. Symphony does not officially support any other configure switcher.
cd $SRC_ROOT/main autoconf ./configure \ --with-dmake-url="http://dmake.apache-extras.org.codespot.com/files/dmake-4.12.1.tar.bz2" \ --with-epm-url="http://ftp.easysw.com/pub/epm/3.7/epm-3.7-source.tar.gz" \ --without-junit \ --disable-odk \ --disable-build-mozilla \ --enable-category-b \ --enable-bundled-dictionaries ./bootstrap source LinuxX86Env.Set.sh cd instsetoo_native/ build --all -P4
You can finally get the installation packages on Ubuntu at
$SRC_ROOT/main/instsetoo_native/unxlngi6.pro/OpenOffice/archive/install/en-US/OOo_3.4.0_Linux_x86_install-arc_en-US.tar.gz $SRC_ROOT/main/instsetoo_native/unxlngi6.pro/OpenOffice/deb/install/en-US/DEBS/*.deb
Building Symphony on Linux - Suse
You can make a full build for Symphony on Suse 11.
Software requirements
- Suse Enterprise Desktop 11
- jdk 1.6
- You can get it from http://java.sun.com/javase/6
- Ant
- Mozilla binary distributions
- You can get LINUXGCCIinc.zip / LINUXGCCIlib.zip / LINUXGCCIruntime.zip from http://www.openoffice.org/tools/moz_prebuild/OOo3.2/. Please put them in $SRC_ROOT/main/moz/zipped
- Additional packages
- Please install addtional packages : gcc, g++, autoconf, cups-devel, pam-devel, gperf, bison, flex, gconf2-devel, gnome-vfs2-devel
Starting build
You can run the commands below to start a full build on Suse. Please follow the configure switchers strictly. Symphony does not officially support any other configure switcher.
cd $SRC_ROOT/main autoconf ./configure \ --with-dmake-url="http://dmake.apache-extras.org.codespot.com/files/dmake-4.12.1.tar.bz2" \ --with-epm-url="http://ftp.easysw.com/pub/epm/3.7/epm-3.7-source.tar.gz" \ --with-jdk-home="/usr/java/jdk1.6.0_32" \ --with-ant-home="/opt/dev.tools/apache-ant-1.7.0" \ --without-junit \ --disable-odk \ --disable-build-mozilla \ --enable-category-b \ --enable-bundled-dictionaries ./bootstrap source LinuxX86Env.Set.sh cd instsetoo_native/ build --all -P4
You can finally get the installation packages on Suse at
$SRC_ROOT/main/instsetoo_native/unxlngi6.pro/OpenOffice/archive/install/en-US/OOo_3.4.0_Linux_x86_install-arc_en-US.tar.gz $SRC_ROOT/main/instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/*.rpm