PowerPC build ???

Dr Andrew John Hughes ahughes at redhat.com
Thu Nov 25 17:13:53 UTC 2010


On 09:38 Thu 25 Nov     , Mark Wielaard wrote:
> On Wed, 2010-11-24 at 20:39 -0600, kevin diggs wrote:
> > This question is a little ... weird ... but ...
> > 
> > Is the thought of trying to build your sdk with gcj ... heresy (sp?).
> > If not please give me ... your thought as to whether it has any chance
> > of working. I would think that if it is for compiles and the like ...
> > it might work ...
> 
> Not weird at all! This is exactly what the IcedTea project set out to
> do. Make OpenJDK bootstrap using only free tools. Since GCJ is the main
> free java implementation already available on GNU/Linux that is what it
> has used. http://icedtea.classpath.org/
> 

And still does use.  Pretty much every commit I do to IcedTea is proceeded by
a full bootstrap using gcj (4.5.1 at present).

> > Also, what is in this binary plug? Am I completely wasting my time
> > since I don't have this? Any chance of getting a powerpc binary plug
> > (or access to the source so one can be built)?
> 
> And this is one other goal of IcedTea, make sure there are no "binary
> plugs" necessary by providing free software replacements.
> 

IcedTea provided binary plug replacements in the past, but neither OpenJDK6
or OpenJDK7 have needed them for a long time.  The documentation for 7 is
outdated in this respect.

> There are multiple ways towards getting a powerpc port. One is using the
> Zero interpreter, which has (almost) zero architecture specific
> (assembly) code. Another is using Shark, which uses LLVM to generate
> code. Both of these extend the Hotspot runtime.
> http://icedtea.classpath.org/wiki/ZeroSharkFaq
> 
> Another way is replacing the Hotspot runtime with one of the free ones
> already ported to other architectures (but using the rest of the tools
> and core libraries), like can be done with Cacao.
> http://c1.complang.tuwien.ac.at/cacaowiki/OpenJDK
> 

I'd recommend CACAO if you want something that runs at a decent speed.
Zero is good if you want something for which binaries have passed the TCK,
but, being intepreted, it's slow.  Shark should ideally provide the best
of both worlds (it's a JIT and has passed the TCK), but not sure how much
usage it's seen so far.  It's still relatively new, and has the provisos
Gary mentioned on ppc.

> Both are fully integrated into the IcedTea build process, so in theory
> it is just a "hg clone http://icedtea.classpath.org/hg/icedtea6 && cd
> icedtea6 && ./configure && make" away. (In practice you probably have to
> give some configure options like --with-additional-vms=cacao,shark.
> See ./configure --help for more.)
> 

Please use --enable-cacao to use the CACAO VM, --enable-shark to build
with Shark or --enable-zero to build with Zero, as documented in the INSTALL
file.

> Where possible these extensions are also pushed into OpenJDK proper.
> 

Shark & Zero are both upstream in OpenJDK6 these days.  But you need IcedTea
if you want a web plugin or web start support.

Cheers,
-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

Support Free Java!
Contribute to GNU Classpath and the OpenJDK
http://www.gnu.org/software/classpath
http://openjdk.java.net
PGP Key: 94EFD9D8 (http://subkeys.pgp.net)
Fingerprint = F8EF F1EA 401E 2E60 15FA  7927 142C 2591 94EF D9D8



More information about the build-dev mailing list