Difference between revisions of "User:Pdefilippis/Compile OOo without X11"

From Apache OpenOffice Wiki
Jump to: navigation, search
(Step-by-step Process)
 
(40 intermediate revisions by one other user not shown)
Line 1: Line 1:
 
== Description ==
 
== 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 will probably be interesting to somebody wanting to work on the native port of OOo for Mac OS X rather than an end user.
+
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 ==
 
== The result: svdem ==
Line 6: Line 6:
 
  [[Image:SVDEM_window.png]]</div> -->
 
  [[Image:SVDEM_window.png]]</div> -->
  
After compiling the code, the only runnable binary will be a program called '''svdem'''. Its purpose is to help developers test their changes in the code. So far svdem handles natively:
+
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:
 
<div style="background-color: lightyellow; border: 1px red dashed; padding: 3px 0 3px 15px;">
 
<div style="background-color: lightyellow; border: 1px red dashed; padding: 3px 0 3px 15px;">
 
- drawing an initial content in the window (lines + colors).<br \>
 
- drawing an initial content in the window (lines + colors).<br \>
Line 16: Line 16:
  
 
== Goal ==
 
== Goal ==
The ultimate goal is to implement/convert all of the Xlibs calls to Carbon 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.
+
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 ==
 
== Step-by-step Process ==
 
   
 
   
 
* ''' Downloading the source code '''<br \>
 
* ''' Downloading the source code '''<br \>
We use CVS to download any source, therefore you need to open a Terminal window, then do the following:
+
We use CVS to manage the source code, so to get it you need to open a Terminal window, and do the following:
<div style="border: 1px blue dashed; padding-right: 0; padding-left: 15px; padding-top: 3px; padding-bottom: 3px;">
+
<div style="border: 1px blue dashed; background: lightblue; padding-right: 0; padding-left: 15px; padding-top: 3px; padding-bottom: 3px; margin-bottom: 10px;">
For Bash do:
+
<div style="padding: 0 0 3px 0;">For Bash do:</div>
<div style="font: 12px 'Courier', Sans serif;">export CVSROOT=:pserver:anoncvs@anoncvs.services.openoffice.org:/cvs</div>
+
<div style="font: 12px 'Courier', Sans serif; padding: 0 0 5px 10px;">export CVSROOT=:pserver:anoncvs@anoncvs.services.openoffice.org:/cvs</div>
For Tcsh do:
+
<div style="padding: 0 0 3px 0;">For Tcsh do:</div>
<div style="font: 12px 'Courier', Sans serif;">setenv CVSROOT :pserver:anoncvs@anoncvs.services.openoffice.org:/cvs<br \>
+
<div style="font: 12px 'Courier', Sans serif; padding: 0 0 5px 10px;">setenv CVSROOT :pserver:anoncvs@anoncvs.services.openoffice.org:/cvs</div>
cvs login</div>
+
<div style="padding: 0 0 3px 0;">Then:</div>
Enter the password: <div style="Font: 12px 'Courier', sans serif;">anoncvs
+
<div style="font: 12px 'Courier', Sans serif; padding: 0 0 5px 10px;">cvs login</div>
cvs -z3 co -r SRC680_m130 OpenOffice</div>
+
<div style="font-size: 13px; padding: 0 0 3px 0;">Enter the password: <tt>anoncvs</tt></div>
 +
<div style="font: 12px 'Courier', Sans serif; padding: 0 0 5px 10px;">cvs -z4 co -r SRC680_m163 OpenOffice</div></div>
 +
 
 +
* ''' Downloading the CWS '''<br \>
 +
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:
 +
<div style="border: 1px blue dashed; background: lightblue; padding-right: 0; padding-left: 15px; padding-top: 3px; padding-bottom: 3px; margin-bottom: 10px;">
 +
<div style="padding: 0 0 3px 0;">Again we use cvs to download ''aquavcl01'':</div>
 +
<div style="font: 12px 'Courier', Sans serif; padding: 0 0 5px 10px;">cvs -z4 co -r cws_src680_aquavcl01 canvas dtrans extensions freetype padmin scp2 sj2 solenv vcl</div>
 +
<div style="padding: 0 0 3px 0;">A website worth checking out: [http://eis.services.openoffice.org/EIS2/servlet/Logon OOo modules tool]</div></div>

Latest revision as of 11:27, 25 March 2010

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