Difference between revisions of "How to build Symphony's source code"

From Apache OpenOffice Wiki
Jump to: navigation, search
(Getting Symphony's source code)
m (+ cat)
 
(16 intermediate revisions by one other user not shown)
Line 14: Line 14:
 
| intel x86
 
| intel x86
 
|-
 
|-
| Mac OS X - 10.5 / 10.6
+
| Mac OS X - 10.5 / 10.6 / 10.7
 
| intel x86
 
| 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.
 
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.
*[http://wiki.services.openoffice.org/wiki/Documentation/Building_Guide/Basic_Concepts Basic Concepts]
+
*[[Documentation/Building_Guide/Basic_Concepts|Basic Concepts]]
*[http://wiki.services.openoffice.org/wiki/Documentation/Building_Guide/Build_Requirements Build Requirements]
+
*[[Documentation/Building_Guide/Build_Requirements|Build Requirements]]
*[http://wiki.services.openoffice.org/wiki/Documentation/Building_Guide/Building_on_Windows Building on Windows]
+
*[[Documentation/Building_Guide/Building_on_Windows|Building on Windows]]
*[http://wiki.services.openoffice.org/wiki/Documentation/Building_Guide/Building_on_MacOSX Building on MacOSX]
+
*[[Documentation/Building_Guide/Building_on_MacOSX|Building on MacOSX]]
*[http://wiki.services.openoffice.org/wiki/Documentation/Building_Guide/Building_on_Linux Building on Linux]
+
*[[Documentation/Building_Guide/Building_on_Linux|Building on Linux]]
  
  
 
== Getting Symphony's source code ==
 
== Getting Symphony's source code ==
You can get Symphony's source code from [https://svn.apache.org/repos/asf/incubator/ooo/symphony/trunk Apache OpenOffice SVN server] (It's not available now. Please wait for the announcement). Please make sure that all the source code directories are under SRC_ROOT and you can locate all modules at "$SRC_ROOT/main"
+
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"
  
'''IMPORTANT:'''<br />
+
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.
You still need get some extra source modules from AOO3.4 to make the code base buildable, which includes main/ext_libraries, main/ext_sources.  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 it's name to af36f635271a239d76d038d6cf8da8df-icu4c-4_8_1-src.tgz and put it in $SRC_ROOT/ext_sources directory(If there is no $SRC_ROOT/ext_sources, please create it).
+
 
 +
The directory/file list under $SRC_ROOT should be
 +
*ext_libraries
 +
*ext_sources
 +
*extras
 +
*help
 +
*l10n
 +
*main
 +
*README
  
 
== Building Symphony on Windows ==
 
== Building Symphony on Windows ==
Line 100: Line 108:
 
*Mac OS X 10.5.8 / Xcode 3.0 / MacOSX10.5.sdk / gcc 4.0.1 / jdk 1.6
 
*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.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
 
*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
 
** 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
Line 115: Line 124:
 
       --enable-category-b \
 
       --enable-category-b \
 
       --enable-bundled-dictionaries
 
       --enable-bundled-dictionaries
  chmod a+x fetch_tarballs.sh
 
 
   ./bootstrap
 
   ./bootstrap
 
   source MacOSXX86Env.Set.sh
 
   source MacOSXX86Env.Set.sh
Line 124: Line 132:
 
   $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/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
 
   $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 ==
 
== Building Symphony on Linux - Ubuntu ==
Line 150: Line 157:
 
       --enable-category-b \
 
       --enable-category-b \
 
       --enable-bundled-dictionaries
 
       --enable-bundled-dictionaries
  sudo chmod a+x fetch_tarballs.sh
 
 
   ./bootstrap
 
   ./bootstrap
 
   source LinuxX86Env.Set.sh
 
   source LinuxX86Env.Set.sh
Line 159: Line 165:
 
   $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/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
 
   $SRC_ROOT/main/instsetoo_native/unxlngi6.pro/OpenOffice/deb/install/en-US/DEBS/*.deb
 
  
 
== Building Symphony on Linux - Suse ==
 
== Building Symphony on Linux - Suse ==
Line 171: Line 176:
 
** 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
 
** 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
 
*Additional packages
** Please install addtional packages : gcc, g++, bison, flex, perl, cups, pam, gperf, freetype, xaw, fontconfig, xrandr, patch, gconf, gnomevfs, gtk, junit, svg, tcsh, autoconf, ssl
+
** Please install addtional packages : gcc, g++, autoconf, cups-devel, pam-devel, gperf, bison, flex, gconf2-devel, gnome-vfs2-devel
  
 
=== Starting build ===
 
=== Starting build ===
Line 180: Line 185:
 
       --with-dmake-url="http://dmake.apache-extras.org.codespot.com/files/dmake-4.12.1.tar.bz2" \
 
       --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-epm-url="http://ftp.easysw.com/pub/epm/3.7/epm-3.7-source.tar.gz" \
       --with-jdk-home="/opt/dev.tools/jdk1.6.0_31" \
+
       --with-jdk-home="/usr/java/jdk1.6.0_32" \
 
       --with-ant-home="/opt/dev.tools/apache-ant-1.7.0" \
 
       --with-ant-home="/opt/dev.tools/apache-ant-1.7.0" \
 
       --without-junit \
 
       --without-junit \
Line 187: Line 192:
 
       --enable-category-b \
 
       --enable-category-b \
 
       --enable-bundled-dictionaries
 
       --enable-bundled-dictionaries
  sudo chmod a+x fetch_tarballs.sh
 
 
   ./bootstrap
 
   ./bootstrap
 
   source LinuxX86Env.Set.sh
 
   source LinuxX86Env.Set.sh
Line 196: Line 200:
 
   $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/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
 
   $SRC_ROOT/main/instsetoo_native/unxlngi6.pro/OpenOffice/rpm/install/en-US/RPMS/*.rpm
 +
 +
[[Category:Build System]]

Latest revision as of 14:55, 14 November 2012

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.


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

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

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
  • 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
  • Ant
  • Mozilla binary distributions
  • 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
Personal tools