399 "boot JDK". The boot JDK does not have to be OpenJDK, though. If you are |
399 "boot JDK". The boot JDK does not have to be OpenJDK, though. If you are |
400 porting OpenJDK to a new platform, chances are that there already exists |
400 porting OpenJDK to a new platform, chances are that there already exists |
401 another JDK for that platform that is usable as boot JDK. |
401 another JDK for that platform that is usable as boot JDK. |
402 |
402 |
403 The rule of thumb is that the boot JDK for building JDK major version *N* |
403 The rule of thumb is that the boot JDK for building JDK major version *N* |
404 should be an JDK of major version *N-1*, so for building JDK 9 a JDK 8 would be |
404 should be a JDK of major version *N-1*, so for building JDK 9 a JDK 8 would be |
405 suitable as boot JDK. However, OpenJDK should be able to "build itself", so an |
405 suitable as boot JDK. However, OpenJDK should be able to "build itself", so an |
406 up-to-date build of the current OpenJDK source is an acceptable alternative. If |
406 up-to-date build of the current OpenJDK source is an acceptable alternative. If |
407 you are following the *N-1* rule, make sure you got the latest update version, |
407 you are following the *N-1* rule, make sure you've got the latest update |
408 since JDK 8 GA might not be able to build JDK 9 on all platforms. |
408 version, since JDK 8 GA might not be able to build JDK 9 on all platforms. |
|
409 |
|
410 Early in the release cycle, version *N-1* may not yet have been released. In |
|
411 that case, the preferred boot JDK will be version *N-2* until version *N-1* |
|
412 is available. |
409 |
413 |
410 If the Boot JDK is not automatically detected, or the wrong JDK is picked, use |
414 If the Boot JDK is not automatically detected, or the wrong JDK is picked, use |
411 `--with-boot-jdk` to point to the JDK to use. |
415 `--with-boot-jdk` to point to the JDK to use. |
412 |
416 |
413 ### JDK 8 on Linux |
417 ### Getting JDK binaries |
414 |
418 |
415 On apt-based distros (like Debian and Ubuntu), `sudo apt-get install |
419 OpenJDK binaries for Linux, Windows and macOS can be downloaded from |
416 openjdk-8-jdk` is typically enough to install OpenJDK 8. On rpm-based distros |
420 [jdk.java.net](http://jdk.java.net). An alternative is to download the |
417 (like Fedora and Red Hat), try `sudo yum install java-1.8.0-openjdk-devel`. |
421 [Oracle JDK](http://www.oracle.com/technetwork/java/javase/downloads). Another |
418 |
422 is the [Adopt OpenJDK Project](https://adoptopenjdk.net/), which publishes |
419 ### JDK 8 on Windows |
423 experimental prebuilt binaries for various platforms. |
420 |
424 |
421 No pre-compiled binaries of OpenJDK 8 are readily available for Windows at the |
425 On Linux you can also get OpenJDK from the Linux distribution. On apt-based |
422 time of writing. An alternative is to download the [Oracle JDK]( |
426 distros (like Debian and Ubuntu), `sudo apt-get install openjdk-<VERSION>-jdk` |
423 http://www.oracle.com/technetwork/java/javase/downloads). Another is the [Adopt |
427 is typically enough to install OpenJDK \<VERSION\>. On rpm-based distros (like |
424 OpenJDK Project](https://adoptopenjdk.net/), which publishes experimental |
428 Fedora and Red Hat), try `sudo yum install java-<VERSION>-openjdk-devel`. |
425 prebuilt binaries for Windows. |
|
426 |
|
427 ### JDK 8 on macOS |
|
428 |
|
429 No pre-compiled binaries of OpenJDK 8 are readily available for macOS at the |
|
430 time of writing. An alternative is to download the [Oracle JDK]( |
|
431 http://www.oracle.com/technetwork/java/javase/downloads), or to install it |
|
432 using `brew cask install java`. Another option is the [Adopt OpenJDK Project]( |
|
433 https://adoptopenjdk.net/), which publishes experimental prebuilt binaries for |
|
434 macOS. |
|
435 |
|
436 ### JDK 8 on AIX |
|
437 |
|
438 No pre-compiled binaries of OpenJDK 8 are readily available for AIX at the |
|
439 time of writing. A starting point for working with OpenJDK on AIX is |
|
440 the [PowerPC/AIX Port Project](http://openjdk.java.net/projects/ppc-aix-port/). |
|
441 |
429 |
442 ## External Library Requirements |
430 ## External Library Requirements |
443 |
431 |
444 Different platforms require different external libraries. In general, libraries |
432 Different platforms require different external libraries. In general, libraries |
445 are not optional - that is, they are either required or not used. |
433 are not optional - that is, they are either required or not used. |