Magnus Ihse Bursie
2016-01-31 10:54:12 UTC
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-***@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
[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-***@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