User:Pdefilippis/Compile OOo without X11

From Apache OpenOffice Wiki
Jump to: navigation, search

Description

The purpose of this page is to give detailed instructions on how to build OpenOffice.org on a Mac without depending on X11 to run it. Since getting rid of the dependances with Xlibs is a lengthy process, the result so far does not give us the possibility of running the fully fledged OOo as we know it. Therefore these instructions are probably useful only to somebody who wants to work on porting OOo to Mac OS X and not an end user.

The result: svdem

After compiling the code, the only runnable binary will be a program called svdem. Its purpose is to help developers test their modifications to the code. So far svdem handles natively:

- drawing an initial content in the window (lines + colors).
- resizing/redrawing the window.
- moving the window.
- creating dots with the mouse by pointing and clicking in the window.
- closing the window and quitting the app when closing.

Goal

The ultimate goal is to implement/convert all of the Xlibs function calls to Carbon function calls. Of course this is not just the matter of switching the calls but understanding the differences between Xlibs and Carbon and transform the code accordingly.

Step-by-step Process

  • Downloading the source code

We use CVS to manage the source code, so to get it you need to open a Terminal window, and do the following:

For Bash do:
export CVSROOT=:pserver:anoncvs@anoncvs.services.openoffice.org:/cvs
For Tcsh do:
setenv CVSROOT :pserver:anoncvs@anoncvs.services.openoffice.org:/cvs
Then:
cvs login
Enter the password: anoncvs
cvs -z4 co -r SRC680_m163 OpenOffice
  • Downloading the CWS

The module that implements vcl using the Carbon library is called aquavcl01. It's a CWS or Child Workspace. To give a quick definition, a CWS is a module that is not in the official release but used to test new parts of the code. aquavcl01 contains all the modules that use the Carbon API. Therefore the only thing you need to do is download aquavcl01 and replace the modules of the original source code by the versions in aquavcl01. Follow the steps below to get the source code:

Again we use cvs to download aquavcl01:
cvs -z4 co -r cws_src680_aquavcl01 canvas dtrans extensions freetype padmin scp2 sj2 solenv vcl
A website worth checking out: OOo modules tool
Personal tools