NeoOffice Build Instructions

From NeoWiki

Revision as of 06:39, 29 November 2005 by Sardisson (Talk | contribs)
Jump to: navigation, search

Contents

Building and Developing NeoOffice

Build Instructions

Patrick Luby maintains the NeoOffice build instructions at http://www.planamesa.com/neojava/build.php

Because building NeoOffice requires building OpenOffice.org/X11, you might find the OpenOffice.org 1.1.x for Mac OS X build instructions helpful (if you are trying to build HEAD—which may not build at present—the OpenOffice.org 2.0.x for Mac OS X build instructions might be helpful).

Getting Help

Archives of the dev@porting.openoffice.org mailing list are useful; you can search them for errors you encounter.

You can also post questions in the NeoOffice Development forum on trinity (and search it for errors), but be aware that the NeoOffice developers consider the process of compiling OpenOffice.org (even as a subset of NeoOffice) as a "trial by fire" and little hand-holding is available.

Experience has shown that those who are unable to work through the OpenOffice.org build will be unable to do the debugging and other work necessary when adding code or fixing an existing bug in OpenOffice.org or NeoOffice. (Such "hand-holding" also cuts into the limited time the volunteer developers have to fix actual bugs and improve Mac OS X integration.)

Building OpenOffice.org on the Mac (and by extension NeoOffice) is often difficult because there is always some change to the code for Linux or Windows that makes OOo no longer buildable on Mac OS X. Sun's engineers do not build on Mac OS X so changes for Windows or Linux can easily break the build on Mac OS X and undetected. Also, Sun routinely does not merge Mac OS X fixes into the next build. A patch may be integrated in the OOo 1.1.3 code but then not merged into the OOo 1.1.4 code, and fixes from the OOo 1.1.x codeline will not appear in the OOo 2.x codeline.

Source Code

NeoOffice source code is available as a tarball on the latest release or milestone disk image; the latest code is always available in cvs.

You can also browse the NeoOffice source online.

CVS tags

for use in the cvs checkout commands in the NeoOffice Build Instructions; in the format tag modulename

A "release" tag checks out the code of a full release or milestone version (e.g., NeoOffice 1.2 Alpha) as available on planamesa.com but does not include any subsequent patches or bugfixes. A "stable branch" tag will check out the latest code for an active branch, including any code delivered in any released patches and any code recently committed to fix bugs (a "stable branch" that is current may have future milestones or releases based on it, e.g. the 1.2 Branch will be the basis of NeoOffice 1.2 Beta and NeoOffice 1.2 "final" at some point). A "development" tag is the site of ongoing future development and may not even build yet. You can find additional "legacy" tags by browsing cvsweb.

Current

Release (NeoOffice 1.2 Alpha): NeoOffice-1_2_Alpha NeoOffice

Stable Branch (1.2 Branch): NeoOffice-1_2_branch NeoOffice

Development (attempts to build using OpenOffice_2_0_0 branch): HEAD NeoOffice

Legacy

Release (NeoOffice/J 1.1): NeoOfficeJ-1_1 NeoOfficeJ

Stable Branch (1.1 Branch): NeoOfficeJ-1_1_branch NeoOfficeJ

Development (MacIntel effort for 1.1 series): gcc4_x86_experimental_branch NeoOfficeJ

Forum Threads

The following threads or posts from trinity may contain useful tips for beginners wishing to build NeoOffice:

Along those lines, the NeoOffice developers also build the OpenOffice.org dependencies themselves rather than relying on Fink or DarwinPorts.
N.B. the above threads apply to the NeoOffice/J 1.1 release; the build requirements have changed slightly beginning with NeoOffice 1.2 Alpha.
These changes have all been committed to HEAD and the NeoOffice 1.2 Alpha codebase, but there are some helpful tips about the NeoOffice build system and cvs in the later pages of the thread.
For those crazy enough to live on the bleeding edge, or those with Developer Transition Kits :-)

Development Plans

For reference, the current (late 2005-2006) development plans are roughly outlined in this thread.

You can also check the bugs marked New/Deferred in Bugzilla to see specific items the developers plan on implementing as time and resources permit.

Ed Peterlin also maintains a set of specifications for adding Mac-specific features (or, things he'd like to add, if he ever gets time after adding Aqua widgets!).

Personal tools