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>
|
<li><a href="#ibm-xl-cc">IBM XL C/C++</a></li>
|
||||||
</ul></li>
|
</ul></li>
|
||||||
<li><a href="#boot-jdk-requirements">Boot JDK Requirements</a><ul>
|
<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="#getting-jdk-binaries">Getting JDK binaries</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>
|
|
||||||
</ul></li>
|
</ul></li>
|
||||||
<li><a href="#external-library-requirements">External Library Requirements</a><ul>
|
<li><a href="#external-library-requirements">External Library Requirements</a><ul>
|
||||||
<li><a href="#freetype">FreeType</a></li>
|
<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>
|
<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>
|
<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>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>
|
<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>
|
<h3 id="getting-jdk-binaries">Getting JDK binaries</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>
|
<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>
|
||||||
<h3 id="jdk-8-on-windows">JDK 8 on Windows</h3>
|
<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>
|
||||||
<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>
|
|
||||||
<h2 id="external-library-requirements">External Library Requirements</h2>
|
<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>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>
|
<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>
|
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>
|
<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>
|
<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">
|
<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>
|
||||||
<!--
|
|
||||||
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 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>
|
<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>
|
<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>
|
<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.
|
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*
|
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
|
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
|
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,
|
you are following the *N-1* rule, make sure you've got the latest update
|
||||||
since JDK 8 GA might not be able to build JDK 9 on all platforms.
|
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
|
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.
|
`--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 binaries for Linux, Windows and macOS can be downloaded from
|
||||||
openjdk-8-jdk` is typically enough to install OpenJDK 8. On rpm-based distros
|
[jdk.java.net](http://jdk.java.net). An alternative is to download the
|
||||||
(like Fedora and Red Hat), try `sudo yum install java-1.8.0-openjdk-devel`.
|
[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
|
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`
|
||||||
No pre-compiled binaries of OpenJDK 8 are readily available for Windows at the
|
is typically enough to install OpenJDK \<VERSION\>. On rpm-based distros (like
|
||||||
time of writing. An alternative is to download the [Oracle JDK](
|
Fedora and Red Hat), try `sudo yum install java-<VERSION>-openjdk-devel`.
|
||||||
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/).
|
|
||||||
|
|
||||||
## External Library Requirements
|
## 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`
|
BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | $HEAD -n 1`
|
||||||
|
|
||||||
# Extra M4 quote needed to protect [] in grep expression.
|
# 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
|
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([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
|
BOOT_JDK_FOUND=no
|
||||||
else
|
else
|
||||||
# We're done! :-)
|
# 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`
|
BUILD_JDK_VERSION=`"$BUILD_JDK/bin/java" -version 2>&1 | $HEAD -n 1`
|
||||||
|
|
||||||
# Extra M4 quote needed to protect [] in grep expression.
|
# 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
|
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([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
|
BUILD_JDK_FOUND=no
|
||||||
else
|
else
|
||||||
# We're done!
|
# We're done!
|
||||||
|
@ -32,6 +32,7 @@ DEFAULT_VERSION_PATCH=0
|
|||||||
DEFAULT_VERSION_DATE=2018-09-18
|
DEFAULT_VERSION_DATE=2018-09-18
|
||||||
DEFAULT_VERSION_CLASSFILE_MAJOR=55 # "`$EXPR $DEFAULT_VERSION_FEATURE + 44`"
|
DEFAULT_VERSION_CLASSFILE_MAJOR=55 # "`$EXPR $DEFAULT_VERSION_FEATURE + 44`"
|
||||||
DEFAULT_VERSION_CLASSFILE_MINOR=0
|
DEFAULT_VERSION_CLASSFILE_MINOR=0
|
||||||
|
DEFAULT_ACCEPTABLE_BOOT_VERSIONS="9 10 11"
|
||||||
|
|
||||||
LAUNCHER_NAME=openjdk
|
LAUNCHER_NAME=openjdk
|
||||||
PRODUCT_NAME=OpenJDK
|
PRODUCT_NAME=OpenJDK
|
||||||
|
Loading…
Reference in New Issue
Block a user