Difference between revisions of "Documentation/Building Guide/Building on MacOSX"

From Apache OpenOffice Wiki
Jump to: navigation, search
Line 24: Line 24:
 
The basic approach of a creating a developers workspace is to do the following:
 
The basic approach of a creating a developers workspace is to do the following:
  
1. checkout a given OpenOffice Milestone.
+
# checkout a given OpenOffice Milestone.
2. checkout aquavcl01 Child Workspace.
+
# checkout aquavcl01 Child Workspace.
3. merge them together.
+
# merge them together.
4. apply the latest patches.
+
# apply the latest patches.
  
 
The last point here is a cumbersome but nevertheless necessary operation, since this porting project is in flux. Thanks to Pavel and others many improvements are happening at the moment, but these improvements get distributed as patches/diffs against aquavcl01.  
 
The last point here is a cumbersome but nevertheless necessary operation, since this porting project is in flux. Thanks to Pavel and others many improvements are happening at the moment, but these improvements get distributed as patches/diffs against aquavcl01.  

Revision as of 10:31, 13 August 2006

Building OpenOffice for MacOSX using Aqua, or the Story of svdem ...

This Document tries to wrap-up the Buildprocess for OpenOffice on MacOS X using the native Windowing Toolkit of the Platform Aqua. The main goal is to get the demonstration programs 'svdem' build. They act as fairly good starting point to further endaevours, since they are used to test the capabilities of the underlying VCL Layer.

The base for this Document is the Description of the X11 Build thanksworthy provided by Eric Hoch in this Document: MacOSXBuildInstructions

I use the bash-shell in all examples only, since to my believe users of the c-shell are smart enough to figure the differences anyway.

Many thanks for help & assistance go to Pavel Janik and Eric Bachard.

Some Backgroud (what the h* is aquavcl01, EIS, etc.)

EIS

OpenOffice sources are basically kept in the CVS server located at anoncvs.services.openoffice.org. However this repository is managed by a Database on top called EIS (Environment Information System) which is used to keep track of Master and Client Workspaces. Master Workspaces are used to keep track of changes going back of the mainline and QA-cycles. These Master Workspaces are driven to official releases. Child workspaces in contrast are copies of certain Master Workspaces used to develop and test bugfixes and additional functionality. These Child Workspaces are later (hopefully) merged back to mainlain Master Workspaces. The TX20 Report gives a very good overview about the overall process.

Go to EIS http://eis.services.openoffice.org/EIS2/servlet/Logon and Logon as guest/guest to get yourself an impression. You can find information about the different workspaces, their dates and times there.

VCL (Visual Class Libraries)

Porting OpenOffice to a new Windowing Toolkit is mostly porting of the OpenOffice's VCL Layer (Visual Class Libraries) to the new toolkit. The VCL-Layer is responsible of mapping the OpenOffice Application calls to the windowing toolkit of the platform.

The (native) OpenOffice port to MacOSX using the Aqua Windowing Toolkit is develop in the child workspace called 'aquavcl01'.

The basic approach of a creating a developers workspace is to do the following:

  1. checkout a given OpenOffice Milestone.
  2. checkout aquavcl01 Child Workspace.
  3. merge them together.
  4. apply the latest patches.

The last point here is a cumbersome but nevertheless necessary operation, since this porting project is in flux. Thanks to Pavel and others many improvements are happening at the moment, but these improvements get distributed as patches/diffs against aquavcl01.

Aquavcl01 needs to be and remain stable therefore at the moment the team needs to work on this patch-by-patch aproach.

Gettting the code (checkout, merge and patch the puppy)

One-Time preparations and scripts

Doing the build

Testing the result, running svdem

Some Pointers

Bug Database: Mailinglist: IRC Meeting-Logs: Carbon: TX20:

Personal tools