openjdk-jdk11u ( openjdk-jdk12u, openjdk-jdk13u)
is a joint venture of FreeBSD & OpenBSD,
that's why it's called bsd-port.
While actually ' wanted to report on (too many) details here, 'just discovering that it will be more profitable for you to pick up the details where they are being processed:
You will get to know a very open-minded and friendly, extremely experienced and very detail-focused team here :
while mainline openjdk is a mercurial project , the BSD-port is hosted as a GitHub-fork of AdoptOpenJDK .
there`s also a sub-branch for NetBSD and you will even find macOS related things @battleblow.
openjdk is not self-contained, which means that you'll always need to create an initial so called bootstrap-jdk if you want to port to a new OS/platform/architecture. the bootstrap-jdk can be from the same jdk-version or from the one before, means: you cannot bootstrap from openjdk8 to openjdk11, you`ll need at least version 10. But there are special-tricks to create your needed bootstrap-jdk . While one team member made it via qemu, another made it via NFS and yet another went all the way back from 8,9,10, to 11 with tux-ports.... since we now have reached 11 as supported version , the NFS-method should be the most interesting . openjdk Makefile will automatically detect an installed compatible (system-linked), bootstrappable jdk. But what is automatic? If not system-linked you can choose your preferred bootstrap-version in the configure-file. 1st make yourself familiar with openjdk-configuration optional and necessary configure-arguments .
While it is clear, of course, that we all know the java programming language, as a port-developer you will not be surprised that you are usually in the hotspot directory for a jdk-port (which is not a java program) , So don't be surprised if you (please carefully) will get in touch with e.g. asm-code instead of java-code
if you haven't fallen asleep while reading or maybe already knew that anyway :-), start now boostrapping to your new architecture/platform/OS and add/remove/test/link features in your configure- file..
Please first send general questions / suggestions to:
while you can make a git- PR if you have new features available and while you can send issues/feature-requests described in technical detail of course here :
We look forward to getting to know you