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

From Apache OpenOffice Wiki
Jump to: navigation, search
Line 9: Line 9:
 
Many thanks for help & assistance go to Pavel Janik and Eric Bachard.
 
Many thanks for help & assistance go to Pavel Janik and Eric Bachard.
  
=== Some Backgroud (what the h* is aquavcl01, EIS, etc.) ===
+
=== Some Backgroud (what is aquavcl01, EIS, etc.) ===
  
 
==== EIS ====
 
==== EIS ====
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:
  
# checkout a given OpenOffice Milestone.
+
# checkout a given OpenOffice Milestone.
# checkout aquavcl01 Child Workspace.
+
# checkout aquavcl01 Child Workspace.
# merge them together.
+
# merge them together.
# 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.  
  
Aquavcl01 needs to be and remain stable therefore at the moment the team needs to work on this patch-by-patch aproach.
+
Aquavcl01 needs to remain stable all the time, therefore the team needs to work on this patch-by-patch aproach at the moment.
  
 
=== Gettting the code (checkout, merge and patch the puppy) ===
 
=== Gettting the code (checkout, merge and patch the puppy) ===
 +
 +
Now let's have a look what to check-out and where. All these milestones below highly depend on the given point-in-time. I use the milestones which worked for me at the time of this writing (August, 13th 2006). You may change this to your needs.
 +
 +
# create a directory for a given milestone:
 +
 +
mkdir m177
 +
cd 177
 +
 +
# checkout Milestone m177:
 +
 +
export CVSROOT=:pserver:anoncvs@anoncvs.services.openoffice.org:/cvs
 +
cvs -z3 co -r SRC680_m177 OpenOffice2
  
 
=== One-Time preparations and scripts ===
 
=== One-Time preparations and scripts ===
Line 43: Line 55:
 
=== Some Pointers ===
 
=== Some Pointers ===
  
Bug Database:
+
# Bug Database:
Mailinglist:
+
# Mailinglist:
IRC Meeting-Logs:
+
# IRC Meeting-Logs:
Carbon:
+
# Carbon:
TX20:
+
# TX20:
  
 
[[Category:Porting]]
 
[[Category:Porting]]

Revision as of 10:44, 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 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 remain stable all the time, therefore the team needs to work on this patch-by-patch aproach at the moment.

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

Now let's have a look what to check-out and where. All these milestones below highly depend on the given point-in-time. I use the milestones which worked for me at the time of this writing (August, 13th 2006). You may change this to your needs.

  1. create a directory for a given milestone:

mkdir m177 cd 177

  1. checkout Milestone m177:

export CVSROOT=:pserver:anoncvs@anoncvs.services.openoffice.org:/cvs cvs -z3 co -r SRC680_m177 OpenOffice2

One-Time preparations and scripts

Doing the build

Testing the result, running svdem

Some Pointers

  1. Bug Database:
  2. Mailinglist:
  3. IRC Meeting-Logs:
  4. Carbon:
  5. TX20:
Personal tools