Apache OpenOffice (AOO) Bugzilla – Issue 16252
Initial support for Kaffe: build officecfg with Kaffe
Last modified: 2003-11-20 13:00:15 UTC
This patch adds support for config_office to recognise Kaffe as a known JDK, and sets JDK=kaffe for the build makefiles. Kaffe needs the classpath switch to be supplied in different ways, depending on whether you are compiling or running Java: javac -classpath xxxx java -addtoclasspath xxx Therefore I have broken up the JAVACPS variable: Now you need JAVACPS for Java and JAVACCPS for javac. I have updated solenv/inc to recognise JDK=kaffe and set JAVACPS/JAVACCPS accordingly. configure will print a warning message that Kaffe support is still experimental: checking the installed JDK... checked (Kaffe 1.0.7) configure: WARNING: EXPERIMENTAL: Kaffe is not a full JDK replacement - some projects will fail to compile There is no change in behaviour for the existing Sun JDK so it should not affect normal builds. Thanks to Jarno Elonen (elonen@openoffice.org) for help to get officecfg working with Kaffe.
Created attachment 7272 [details] Patch for JDK=kaffe support, generated against cws_srx645_ooo11rc
set target milestone.
It seems that Kaffe 1.1.0 does not need the -addclasspath and can be used with -classpath, so I won't bother to incorporate the $(JAVACCPS) change. --- Chris Halls <halls@debian.org> wrote: Subject: Re: Bug#170021: kaffe: -addclasspath is equivalent to Sun's -classpath > Package: kaffe > Version: 1:1.0.7-3 > Followup-For: Bug #170021 > > Hi, I've started trying to compile parts of openoffice.org with Kaffe, > to try and get some of OOo into main. I encountered this problem too > and discovered that using 'java -addclasspath' has the desired effect. it should be fixed in kaffe 1.1.0 cheers, dalibor topic
Hi Chris, Have you at all tried running/using gcj/gij for this? I would love for the entire build to be done with "free" java like gcj/gij or kaffe. Kevin
Building *completely* with Kaffe seems pretty much impossible without a huge rewrite excerise because OOo (and the new ODK) requires classes that are only found in Sun's JDK (and even some patented stuff, IIRC). Here's a sample of some packages imported in 1.1 beta 2: com.jclark.xsl lotus.domino com.oreilly.servlet net.jini com.sleepycat.db org.OpenOffice com.sun.jini org.apache.batik com.sun.star org.netbeans.modules com.sun.xml org.openide com.sun.xmlsearch org.w3c.dom drafts.com.sun.star org.xml.sax java.applet stardiv.app java.awt stardiv.applet java.beans stardiv.controller java.rmi sun.applet java.rmi.server sun.awt.image java.security sun.misc javax.accessibility sun.net javax.servlet sun.security.provider javax.swing sun.tools.jar javax.xml sunw.html junit.framework workben.odbc junit.textui It would be a good start if com.sun.*, sun.* and sunw.* packages were replaced with something more portable & less proprietary.
mh->chris: so you will provide a new patch or has it become obsolete ? please assign configure patch to Ken for approval.
haggai->kevin (about gcj): I haven't tried gcj yet, because it produces real binaries instead of classes, and the build system doesn't expect that in its current form, so Kaffe is easier to do. I've now been in contact with Dalibor about building OOo with Kaffe so I hope that we can make some more progress by using a better Kaffe without the need for hacks in OOo. On this note, I've managed to build officecfg using Kaffe 1.1.0 without having to do the workaround JAVACPS stuff I used in the first patch. So I've made a new patch which requires Kaffe >= 1.1.0 and drops the classpath stuff. Ken, please approve.
Created attachment 8121 [details] Accept Kaffe >= 1.1.0, classpath hack no longer included
16:00 < waratah> haggai: approved... jdk_kaffe_2 commited: /cvs/tools/config_office/configure,v <-- configure new revision: 1.36.2.4; previous revision: 1.36.2.3 /cvs/tools/config_office/configure.in,v <-- configure.in new revision: 1.55.2.5; previous revision: 1.55.2.4 /cvs/tools/config_office/set_soenv.in,v <-- set_soenv.in new revision: 1.10.2.8; previous revision: 1.10.2.7
Done, officecfg builds with Kaffe now.
Released in 1.1.0, closing