Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 31 Jan 2016 11:54:12 +0100
From:      Magnus Ihse Bursie <magnus.ihse.bursie@oracle.com>
To:        java@freebsd.org
Subject:   Helping out with JDK 9 on BSD
Message-ID:  <56ADE7D4.8020107@oracle.com>

next in thread | raw e-mail | index | archive | help
Hi,

[TL;DR: I'm offering patches to compile JDK 9 on FreeBSD, but it's not 
clear where to put them, or how.]

I'm working at Oracle on the OpenJDK build team and is responsible for 
large parts of the build system of OpenJDK. Lately, I've been playing 
around with FreeBSD (and other BSDs) in my free time, and I've written a 
patch that will add build system support for FreeBSD, OpenBSD and NetBSD 
in JDK 9 (tracked in https://bugs.openjdk.java.net/browse/JDK-8147795).

I started writing this when I realized that the jdk9 branch in the 
OpenJDK bsd-port repository did not contain any BSD-specific changes at 
all, and the old JDK 8 changes will not readily be portable, due to 
major changes in the build system between JDK 8 and JDK 9.

I thought it would be a no-brainer to integrate these changes into the 
JDK 9 mainline, so they would be in place for whenever you guys would 
start to attack porting the code base. However, some of my collegues 
thought otherwise. The end result, I think, is that they wanted to see 
someone (not necessarily a company, the FreeBSD organisation for 
instance seemed to be okay), to step forward and say "we take 
responsibility for the BSD port", and give some kind of commitment to 
actually use these build changes in producing a viable port. You can 
read the mail conversation here: 
http://mail.openjdk.java.net/pipermail/build-dev/2016-January/016421.html

An alternative to pushing this code into the JDK 9 mainline is of course 
to push it to the bsd-port/jdk9 repo (given that the owners of that repo 
approves), but that seems like a less favourable solution. Having the 
code in the mainline does not mean that it gets tested automatically, 
but it means that it will be part of e.g. refactoring, that would 
otherwise break a downstream patchset.

I cc:ed this conversation to the bsd-port-dev@openjdk.java.net mailing 
list, but never got any kind of official response there. Since this list 
seems more active, I'm trying here instead. :)

So, I'm offering two patches here, one that applies to the build system, 
is nice and clean, and possible to integrate into JDK 9 mainline, if my 
collegues are convinced that someone is backing up the BSD port. And 
there's a second patch, which fixes broken C/C++/Java code and results 
in a product that can at least run "javac HelloWorld", but this is not 
yet clean enough for integration anywere, at least not the JDK 9 
mainline. (I don't know enough of the BSD internals to fix all problems, 
so there's some "#if 0" code here and there.)

/Magnus




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?56ADE7D4.8020107>