8199266: Update boot and build jdk requirements in configure
Reviewed-by: ihse, tbell
This commit is contained in:
parent
7a762e0598
commit
2cf53991cd
@ -44,10 +44,7 @@
|
||||
<li><a href="#ibm-xl-cc">IBM XL C/C++</a></li>
|
||||
</ul></li>
|
||||
<li><a href="#boot-jdk-requirements">Boot JDK Requirements</a><ul>
|
||||
<li><a href="#jdk-8-on-linux">JDK 8 on Linux</a></li>
|
||||
<li><a href="#jdk-8-on-windows">JDK 8 on Windows</a></li>
|
||||
<li><a href="#jdk-8-on-macos">JDK 8 on macOS</a></li>
|
||||
<li><a href="#jdk-8-on-aix">JDK 8 on AIX</a></li>
|
||||
<li><a href="#getting-jdk-binaries">Getting JDK binaries</a></li>
|
||||
</ul></li>
|
||||
<li><a href="#external-library-requirements">External Library Requirements</a><ul>
|
||||
<li><a href="#freetype">FreeType</a></li>
|
||||
@ -364,16 +361,12 @@ CC: Sun C++ 5.13 SunOS_i386 151846-10 2015/10/30</code></pre>
|
||||
<p>See the <a href="http://cr.openjdk.java.net/~simonis/ppc-aix-port">OpenJDK PowerPC Port Status Page</a> for details.</p>
|
||||
<h2 id="boot-jdk-requirements">Boot JDK Requirements</h2>
|
||||
<p>Paradoxically, building OpenJDK requires a pre-existing JDK. This is called the "boot JDK". The boot JDK does not have to be OpenJDK, though. If you are porting OpenJDK to a new platform, chances are that there already exists another JDK for that platform that is usable as boot JDK.</p>
|
||||
<p>The rule of thumb is that the boot JDK for building JDK major version <em>N</em> should be an JDK of major version <em>N-1</em>, so for building JDK 9 a JDK 8 would be suitable as boot JDK. However, OpenJDK should be able to "build itself", so an up-to-date build of the current OpenJDK source is an acceptable alternative. If you are following the <em>N-1</em> rule, make sure you got the latest update version, since JDK 8 GA might not be able to build JDK 9 on all platforms.</p>
|
||||
<p>The rule of thumb is that the boot JDK for building JDK major version <em>N</em> should be a JDK of major version <em>N-1</em>, so for building JDK 9 a JDK 8 would be suitable as boot JDK. However, OpenJDK should be able to "build itself", so an up-to-date build of the current OpenJDK source is an acceptable alternative. If you are following the <em>N-1</em> rule, make sure you've got the latest update version, since JDK 8 GA might not be able to build JDK 9 on all platforms.</p>
|
||||
<p>Early in the release cycle, version <em>N-1</em> may not yet have been released. In that case, the preferred boot JDK will be version <em>N-2</em> until version <em>N-1</em> is available.</p>
|
||||
<p>If the Boot JDK is not automatically detected, or the wrong JDK is picked, use <code>--with-boot-jdk</code> to point to the JDK to use.</p>
|
||||
<h3 id="jdk-8-on-linux">JDK 8 on Linux</h3>
|
||||
<p>On apt-based distros (like Debian and Ubuntu), <code>sudo apt-get install openjdk-8-jdk</code> is typically enough to install OpenJDK 8. On rpm-based distros (like Fedora and Red Hat), try <code>sudo yum install java-1.8.0-openjdk-devel</code>.</p>
|
||||
<h3 id="jdk-8-on-windows">JDK 8 on Windows</h3>
|
||||
<p>No pre-compiled binaries of OpenJDK 8 are readily available for Windows at the time of writing. An alternative is to download the <a href="http://www.oracle.com/technetwork/java/javase/downloads">Oracle JDK</a>. Another is the <a href="https://adoptopenjdk.net/">Adopt OpenJDK Project</a>, which publishes experimental prebuilt binaries for Windows.</p>
|
||||
<h3 id="jdk-8-on-macos">JDK 8 on macOS</h3>
|
||||
<p>No pre-compiled binaries of OpenJDK 8 are readily available for macOS at the time of writing. An alternative is to download the <a href="http://www.oracle.com/technetwork/java/javase/downloads">Oracle JDK</a>, or to install it using <code>brew cask install java</code>. Another option is the <a href="https://adoptopenjdk.net/">Adopt OpenJDK Project</a>, which publishes experimental prebuilt binaries for macOS.</p>
|
||||
<h3 id="jdk-8-on-aix">JDK 8 on AIX</h3>
|
||||
<p>No pre-compiled binaries of OpenJDK 8 are readily available for AIX at the time of writing. A starting point for working with OpenJDK on AIX is the <a href="http://openjdk.java.net/projects/ppc-aix-port/">PowerPC/AIX Port Project</a>.</p>
|
||||
<h3 id="getting-jdk-binaries">Getting JDK binaries</h3>
|
||||
<p>OpenJDK binaries for Linux, Windows and macOS can be downloaded from <a href="http://jdk.java.net">jdk.java.net</a>. An alternative is to download the <a href="http://www.oracle.com/technetwork/java/javase/downloads">Oracle JDK</a>. Another is the <a href="https://adoptopenjdk.net/">Adopt OpenJDK Project</a>, which publishes experimental prebuilt binaries for various platforms.</p>
|
||||
<p>On Linux you can also get OpenJDK from the Linux distribution. On apt-based distros (like Debian and Ubuntu), <code>sudo apt-get install openjdk-<VERSION>-jdk</code> is typically enough to install OpenJDK <VERSION>. On rpm-based distros (like Fedora and Red Hat), try <code>sudo yum install java-<VERSION>-openjdk-devel</code>.</p>
|
||||
<h2 id="external-library-requirements">External Library Requirements</h2>
|
||||
<p>Different platforms require different external libraries. In general, libraries are not optional - that is, they are either required or not used.</p>
|
||||
<p>If a required library is not detected by <code>configure</code>, you need to provide the path to it. There are two forms of the <code>configure</code> arguments to point to an external library: <code>--with-<LIB>=<path></code> or <code>--with-<LIB>-include=<path to include> --with-<LIB>-lib=<path to lib></code>. The first variant is more concise, but require the include files an library files to reside in a default hierarchy under this directory. In most cases, it works fine.</p>
|
||||
@ -758,12 +751,7 @@ cannot create ... Permission denied
|
||||
spawn failed</code></pre>
|
||||
<p>This can be a sign of a Cygwin problem. See the information about solving problems in the <a href="#cygwin">Cygwin</a> section. Rebooting the computer might help temporarily.</p>
|
||||
<h3 id="getting-help">Getting Help</h3>
|
||||
<p>If none of the suggestions in this document helps you, or if you find what you believe is a bug in the build system, please contact the Build Group by sending a mail to <script type="text/javascript">
|
||||
<!--
|
||||
h='openjdk.java.net';a='@';n='build-dev';e=n+a+h;
|
||||
document.write('<a h'+'ref'+'="ma'+'ilto'+':'+e+'" clas'+'s="em' + 'ail">'+e+'<\/'+'a'+'>');
|
||||
// -->
|
||||
</script><noscript>build-dev at openjdk dot java dot net</noscript>. Please include the relevant parts of the configure and/or build log.</p>
|
||||
<p>If none of the suggestions in this document helps you, or if you find what you believe is a bug in the build system, please contact the Build Group by sending a mail to <a href="mailto:build-dev@openjdk.java.net">build-dev@openjdk.java.net</a>. Please include the relevant parts of the configure and/or build log.</p>
|
||||
<p>If you need general help or advice about developing for OpenJDK, you can also contact the Adoption Group. See the section on <a href="#contributing-to-openjdk">Contributing to OpenJDK</a> for more information.</p>
|
||||
<h2 id="hints-and-suggestions-for-advanced-users">Hints and Suggestions for Advanced Users</h2>
|
||||
<h3 id="setting-up-a-forest-for-pushing-changes-defpath">Setting Up a Forest for Pushing Changes (defpath)</h3>
|
||||
|
@ -401,43 +401,31 @@ porting OpenJDK to a new platform, chances are that there already exists
|
||||
another JDK for that platform that is usable as boot JDK.
|
||||
|
||||
The rule of thumb is that the boot JDK for building JDK major version *N*
|
||||
should be an JDK of major version *N-1*, so for building JDK 9 a JDK 8 would be
|
||||
should be a JDK of major version *N-1*, so for building JDK 9 a JDK 8 would be
|
||||
suitable as boot JDK. However, OpenJDK should be able to "build itself", so an
|
||||
up-to-date build of the current OpenJDK source is an acceptable alternative. If
|
||||
you are following the *N-1* rule, make sure you got the latest update version,
|
||||
since JDK 8 GA might not be able to build JDK 9 on all platforms.
|
||||
you are following the *N-1* rule, make sure you've got the latest update
|
||||
version, since JDK 8 GA might not be able to build JDK 9 on all platforms.
|
||||
|
||||
Early in the release cycle, version *N-1* may not yet have been released. In
|
||||
that case, the preferred boot JDK will be version *N-2* until version *N-1*
|
||||
is available.
|
||||
|
||||
If the Boot JDK is not automatically detected, or the wrong JDK is picked, use
|
||||
`--with-boot-jdk` to point to the JDK to use.
|
||||
|
||||
### JDK 8 on Linux
|
||||
### Getting JDK binaries
|
||||
|
||||
On apt-based distros (like Debian and Ubuntu), `sudo apt-get install
|
||||
openjdk-8-jdk` is typically enough to install OpenJDK 8. On rpm-based distros
|
||||
(like Fedora and Red Hat), try `sudo yum install java-1.8.0-openjdk-devel`.
|
||||
OpenJDK binaries for Linux, Windows and macOS can be downloaded from
|
||||
[jdk.java.net](http://jdk.java.net). An alternative is to download the
|
||||
[Oracle JDK](http://www.oracle.com/technetwork/java/javase/downloads). Another
|
||||
is the [Adopt OpenJDK Project](https://adoptopenjdk.net/), which publishes
|
||||
experimental prebuilt binaries for various platforms.
|
||||
|
||||
### JDK 8 on Windows
|
||||
|
||||
No pre-compiled binaries of OpenJDK 8 are readily available for Windows at the
|
||||
time of writing. An alternative is to download the [Oracle JDK](
|
||||
http://www.oracle.com/technetwork/java/javase/downloads). Another is the [Adopt
|
||||
OpenJDK Project](https://adoptopenjdk.net/), which publishes experimental
|
||||
prebuilt binaries for Windows.
|
||||
|
||||
### JDK 8 on macOS
|
||||
|
||||
No pre-compiled binaries of OpenJDK 8 are readily available for macOS at the
|
||||
time of writing. An alternative is to download the [Oracle JDK](
|
||||
http://www.oracle.com/technetwork/java/javase/downloads), or to install it
|
||||
using `brew cask install java`. Another option is the [Adopt OpenJDK Project](
|
||||
https://adoptopenjdk.net/), which publishes experimental prebuilt binaries for
|
||||
macOS.
|
||||
|
||||
### JDK 8 on AIX
|
||||
|
||||
No pre-compiled binaries of OpenJDK 8 are readily available for AIX at the
|
||||
time of writing. A starting point for working with OpenJDK on AIX is
|
||||
the [PowerPC/AIX Port Project](http://openjdk.java.net/projects/ppc-aix-port/).
|
||||
On Linux you can also get OpenJDK from the Linux distribution. On apt-based
|
||||
distros (like Debian and Ubuntu), `sudo apt-get install openjdk-<VERSION>-jdk`
|
||||
is typically enough to install OpenJDK \<VERSION\>. On rpm-based distros (like
|
||||
Fedora and Red Hat), try `sudo yum install java-<VERSION>-openjdk-devel`.
|
||||
|
||||
## External Library Requirements
|
||||
|
||||
|
@ -77,10 +77,11 @@ AC_DEFUN([BOOTJDK_DO_CHECK],
|
||||
BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | $HEAD -n 1`
|
||||
|
||||
# Extra M4 quote needed to protect [] in grep expression.
|
||||
[FOUND_CORRECT_VERSION=`$ECHO $BOOT_JDK_VERSION | $EGREP '\"10([\.+-].*)?\"|\"9([\.+-].*)?\"'`]
|
||||
[FOUND_CORRECT_VERSION=`$ECHO $BOOT_JDK_VERSION \
|
||||
| $EGREP "\"(${DEFAULT_ACCEPTABLE_BOOT_VERSIONS// /|})([\.+-].*)?\""`]
|
||||
if test "x$FOUND_CORRECT_VERSION" = x; then
|
||||
AC_MSG_NOTICE([Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring])
|
||||
AC_MSG_NOTICE([(Your Boot JDK must be version 9 or 10)])
|
||||
AC_MSG_NOTICE([(Your Boot JDK version must be one of: $DEFAULT_ACCEPTABLE_BOOT_VERSIONS)])
|
||||
BOOT_JDK_FOUND=no
|
||||
else
|
||||
# We're done! :-)
|
||||
@ -510,10 +511,10 @@ AC_DEFUN([BOOTJDK_CHECK_BUILD_JDK],
|
||||
BUILD_JDK_VERSION=`"$BUILD_JDK/bin/java" -version 2>&1 | $HEAD -n 1`
|
||||
|
||||
# Extra M4 quote needed to protect [] in grep expression.
|
||||
[FOUND_CORRECT_VERSION=`echo $BUILD_JDK_VERSION | $EGREP '\"10([\.+-].*)?\"'`]
|
||||
[FOUND_CORRECT_VERSION=`echo $BUILD_JDK_VERSION | $EGREP "\"$VERSION_FEATURE([\.+-].*)?\""`]
|
||||
if test "x$FOUND_CORRECT_VERSION" = x; then
|
||||
AC_MSG_NOTICE([Potential Build JDK found at $BUILD_JDK is incorrect JDK version ($BUILD_JDK_VERSION); ignoring])
|
||||
AC_MSG_NOTICE([(Your Build JDK must be version 10)])
|
||||
AC_MSG_NOTICE([(Your Build JDK must be version $VERSION_FEATURE)])
|
||||
BUILD_JDK_FOUND=no
|
||||
else
|
||||
# We're done!
|
||||
|
@ -32,6 +32,7 @@ DEFAULT_VERSION_PATCH=0
|
||||
DEFAULT_VERSION_DATE=2018-09-18
|
||||
DEFAULT_VERSION_CLASSFILE_MAJOR=55 # "`$EXPR $DEFAULT_VERSION_FEATURE + 44`"
|
||||
DEFAULT_VERSION_CLASSFILE_MINOR=0
|
||||
DEFAULT_ACCEPTABLE_BOOT_VERSIONS="9 10 11"
|
||||
|
||||
LAUNCHER_NAME=openjdk
|
||||
PRODUCT_NAME=OpenJDK
|
||||
|
Loading…
Reference in New Issue
Block a user