diff --git a/NOTICES.md b/NOTICES.md index d427f06b79c..f73c0629729 100644 --- a/NOTICES.md +++ b/NOTICES.md @@ -113,3 +113,9 @@ OpenSSL 1.1.1 * License: https://github.com/openssl/openssl/blob/OpenSSL_1_1_1-stable/LICENSE * Project: https://www.openssl.org/ * Source: https://github.com/openssl/openssl or https://github.com/ibmruntimes/openssl + +OpenSSL 3.x + +* License: https://www.openssl.org/source/apache-license-2.0.txt +* Project: https://www.openssl.org/ +* Source: https://github.com/openssl/openssl or https://github.com/ibmruntimes/openssl diff --git a/buildenv/jenkins/variables/defaults.yml b/buildenv/jenkins/variables/defaults.yml index a4a8b1145c6..388bb73d8b1 100644 --- a/buildenv/jenkins/variables/defaults.yml +++ b/buildenv/jenkins/variables/defaults.yml @@ -134,7 +134,7 @@ jitserver: # OpenSSL #========================================# openssl: - extra_getsource_options: '--openssl-version=1.1.1v' + extra_getsource_options: '--openssl-version=3.0.10' extra_configure_options: '--with-openssl=fetched' #========================================# # OpenSSL Bundling diff --git a/doc/build-instructions/Build_Instructions_V11.md b/doc/build-instructions/Build_Instructions_V11.md index fdca2b1f427..0d563b53a96 100644 --- a/doc/build-instructions/Build_Instructions_V11.md +++ b/doc/build-instructions/Build_Instructions_V11.md @@ -140,7 +140,7 @@ Now fetch additional sources from the Eclipse OpenJ9 project and its clone of Ec bash get_source.sh ``` -:pencil: **OpenSSL support:** If you want to build an OpenJDK with OpenJ9 binary with OpenSSL support and you do not have a built version of OpenSSL v1.1.x available locally, you must specify `--openssl-version=` where `` is an OpenSSL level like 1.1.0 or 1.1.1. If the specified version of OpenSSL is already available in the standard location (SRC_DIR/openssl), `get_source.sh` uses it. Otherwise, the script deletes the content and downloads the specified version of OpenSSL source to the standard location and builds it. If you already have the version of OpenSSL in the standard location but you want a fresh copy, you must delete your current copy. +:pencil: **OpenSSL support:** If you want to build an OpenJDK with OpenJ9 binary with OpenSSL support and you do not have a built version of OpenSSL v3.x available locally, you must specify `--openssl-version=` where `` is an OpenSSL level like `3.0.10`. If the specified version of OpenSSL is already available in the standard location (SRC_DIR/openssl), `get_source.sh` uses it. Otherwise, the script deletes the content and downloads the specified version of OpenSSL source to the standard location and builds it. If you already have the version of OpenSSL in the standard location but you want a fresh copy, you must delete your current copy. ### 3. Configure :penguin: @@ -225,7 +225,7 @@ OMR - f29d158 JCL - 98f2038 based on jdk-11+28) ``` -:pencil: **OpenSSL support:** If you built an OpenJDK with OpenJ9 that includes OpenSSL v1.1.x support, the following acknowledgements apply in accordance with the license terms: +:pencil: **OpenSSL support:** If you built an OpenJDK with OpenJ9 that includes OpenSSL v1.x support, the following acknowledgments apply in accordance with the license terms: - *This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. (https://www.openssl.org/).* - *This product includes cryptographic software written by Eric Young (eay@cryptsoft.com).* @@ -283,7 +283,7 @@ Now fetch additional sources from the Eclipse OpenJ9 project and its clone of Ec bash get_source.sh ``` -:pencil: **OpenSSL support:** If you want to build an OpenJDK with OpenJ9 binary with OpenSSL support and you do not have a built version of OpenSSL v1.1.x available locally, you must specify `--openssl-version=` where `` is an OpenSSL level like 1.1.0 or 1.1.1. If the specified version of OpenSSL is already available in the standard location (SRC_DIR/openssl), `get_source.sh` uses it. Otherwise, the script deletes the content and downloads the specified version of OpenSSL source to the standard location and builds it. If you already have the version of OpenSSL in the standard location but you want a fresh copy, you must delete your current copy. +:pencil: **OpenSSL support:** If you want to build an OpenJDK with OpenJ9 binary with OpenSSL support and you do not have a built version of OpenSSL v3.x available locally, you must specify `--openssl-version=` where `` is an OpenSSL level like `3.0.10`. If the specified version of OpenSSL is already available in the standard location (SRC_DIR/openssl), `get_source.sh` uses it. Otherwise, the script deletes the content and downloads the specified version of OpenSSL source to the standard location and builds it. If you already have the version of OpenSSL in the standard location but you want a fresh copy, you must delete your current copy. ### 3. Configure :blue_book: @@ -365,7 +365,7 @@ OMR - 28139f2 JCL - e5c64f5 based on jdk-11+21) ``` -:pencil: **OpenSSL support:** If you built an OpenJDK with OpenJ9 that includes OpenSSL v1.1.x support, the following acknowledgements apply in accordance with the license terms: +:pencil: **OpenSSL support:** If you built an OpenJDK with OpenJ9 that includes OpenSSL v1.x support, the following acknowledgments apply in accordance with the license terms: - *This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. (https://www.openssl.org/).* - *This product includes cryptographic software written by Eric Young (eay@cryptsoft.com).* @@ -448,7 +448,7 @@ bash get_source.sh :pencil: Create the directory that is going to contain the OpenJDK clone by using the `mkdir` command in the Cygwin bash shell and not using Windows Explorer. This ensures that it will have proper Cygwin attributes, and that its children will inherit those attributes. -:pencil: **OpenSSL support:** If you want to build an OpenJDK with OpenJ9 binary with OpenSSL support and you do not have a built version of OpenSSL v1.1.x available locally, you must specify `--openssl-version=` where `` is an OpenSSL level like 1.1.0 or 1.1.1. If the specified version of OpenSSL is already available in the standard location (SRC_DIR/openssl), `get_source.sh` uses it. Otherwise, the script deletes the content and downloads the specified version of OpenSSL source to the standard location and builds it. If you already have the version of OpenSSL in the standard location but you want a fresh copy, you must delete your current copy. +:pencil: **OpenSSL support:** If you want to build an OpenJDK with OpenJ9 binary with OpenSSL support and you do not have a built version of OpenSSL v3.x available locally, you must specify `--openssl-version=` where `` is an OpenSSL level like `3.0.10`. If the specified version of OpenSSL is already available in the standard location (SRC_DIR/openssl), `get_source.sh` uses it. Otherwise, the script deletes the content and downloads the specified version of OpenSSL source to the standard location and builds it. If you already have the version of OpenSSL in the standard location but you want a fresh copy, you must delete your current copy. ### 3. Configure :ledger: @@ -475,12 +475,11 @@ Mixed references is the default to build when no options are specified. _Note th - `--with-mixedrefs=static` (this is the default) create a mixed references build which avoids runtime checks by compiling source twice - `--with-noncompressedrefs` create a build supporting non-compressed references only -:pencil: **OpenSSL support:** If you want to build an OpenJDK that includes OpenSSL, you must specify `--with-openssl={fetched|system|path_to_library}` +:pencil: **OpenSSL support:** If you want to build an OpenJDK that includes OpenSSL, you must specify `--with-openssl={fetched|path_to_library}` where: - `fetched` uses the OpenSSL source downloaded by `get-source.sh` in step **2. Get the source**. - - `system` uses the package installed OpenSSL library in the system. - `path_to_library` uses a custom OpenSSL library that's already built. If you want to include the OpenSSL cryptographic library in the OpenJDK binary, you must include `--enable-openssl-bundling`. @@ -530,7 +529,7 @@ OMR - e2e4b67c JCL - a786f96b13 based on jdk-11+21) ``` -:pencil: **OpenSSL support:** If you built an OpenJDK with OpenJ9 that includes OpenSSL v1.1.x support, the following acknowledgements apply in accordance with the license terms: +:pencil: **OpenSSL support:** If you built an OpenJDK with OpenJ9 that includes OpenSSL v1.x support, the following acknowledgments apply in accordance with the license terms: - *This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. (https://www.openssl.org/).* - *This product includes cryptographic software written by Eric Young (eay@cryptsoft.com).* @@ -602,7 +601,7 @@ Now fetch additional sources from the Eclipse OpenJ9 project and its clone of Ec bash get_source.sh ``` -:pencil: **OpenSSL support:** If you want to build an OpenJDK with OpenJ9 binary with OpenSSL support and you do not have a built version of OpenSSL v1.1.x available locally, you must obtain a prebuilt OpenSSL v1.1.x binary. +:pencil: **OpenSSL support:** If you want to build an OpenJDK with OpenJ9 binary with OpenSSL support and you do not have a built version of OpenSSL v3.x available locally, you must specify `--openssl-version=` where `` is an OpenSSL level like `3.0.10`. If the specified version of OpenSSL is already available in the standard location (SRC_DIR/openssl), `get_source.sh` uses it. Otherwise, the script deletes the content and downloads the specified version of OpenSSL source to the standard location and builds it. If you already have the version of OpenSSL in the standard location but you want a fresh copy, you must delete your current copy. ### 3. Configure :apple: @@ -628,7 +627,14 @@ Mixed references is the default to build when no options are specified. _Note th - `--with-mixedrefs=static` (this is the default) create a mixed references build which avoids runtime checks by compiling source twice - `--with-noncompressedrefs` create a build supporting non-compressed references only -:pencil: **OpenSSL support:** If you want to build an OpenJDK that includes OpenSSL, you must specify `--with-openssl=path_to_library`, where `path_to_library` specifies the path to the prebuilt OpenSSL library that you obtained in **2. Get the source**. If you want to include the OpenSSL cryptographic library in the OpenJDK binary, you must also include `--enable-openssl-bundling`. +:pencil: **OpenSSL support:** If you want to build an OpenJDK that includes OpenSSL, you must specify `--with-openssl={fetched|path_to_library}` + + where: + + - `fetched` uses the OpenSSL source downloaded by `get-source.sh` in step **2. Get the source**. + - `path_to_library` uses a custom OpenSSL library that's already built. + + If you want to include the OpenSSL cryptographic library in the OpenJDK binary, you must include `--enable-openssl-bundling`. :pencil: When building using `--with-cmake=no`, you must specify `freemarker.jar` with an absolute path, such as `--with-freemarker-jar=/freemarker.jar`, where `` is the location where you stored `freemarker.jar`. @@ -679,7 +685,7 @@ OMR - d4cd7c31 JCL - 9da99f8b97 based on jdk-11+28) ``` -:pencil: **OpenSSL support:** If you built an OpenJDK with OpenJ9 that includes OpenSSL v1.1.x support, the following acknowledgements apply in accordance with the license terms: +:pencil: **OpenSSL support:** If you built an OpenJDK with OpenJ9 that includes OpenSSL v1.x support, the following acknowledgments apply in accordance with the license terms: - *This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. (https://www.openssl.org/).* - *This product includes cryptographic software written by Eric Young (eay@cryptsoft.com).* @@ -713,6 +719,8 @@ Now fetch additional sources from the Eclipse OpenJ9 project and its clone of Ec bash get_source.sh ``` +:pencil: **OpenSSL support:** On an AArch64 Linux system if you want to build an OpenJDK with OpenJ9 binary with OpenSSL support and you do not have a built version of OpenSSL v3.x available locally, you must specify `--openssl-version=` where `` is an OpenSSL level like `3.0.10`. If the specified version of OpenSSL is already available in the standard location (SRC_DIR/openssl), `get_source.sh` uses it. Otherwise, the script deletes the content and downloads the specified version of OpenSSL source to the standard location and builds it. If you already have the version of OpenSSL in the standard location but you want a fresh copy, you must delete your current copy. + ### 3. Prepare for build on AArch64 Linux You must install a number of software dependencies to create a suitable build environment on your AArch64 Linux system: @@ -779,13 +787,15 @@ Mixed references is the default to build when no options are specified. _Note th - `--with-mixedrefs=static` (this is the default) create a mixed references build which avoids runtime checks by compiling source twice - `--with-noncompressedrefs` create a build supporting non-compressed references only -:pencil: **OpenSSL support:** If you want to build an OpenJDK that uses OpenSSL, you must specify `--with-openssl={system|path_to_library}` +::pencil: **OpenSSL support:** If you want to build an OpenJDK that uses OpenSSL, you must specify `--with-openssl={fetched|system|path_to_library}` where: + - `fetched` uses the OpenSSL source downloaded by `get-source.sh` in step **2. Get the source**. Using `--with-openssl=fetched` will fail during the build in the Docker environment. - `system` uses the package installed OpenSSL library in the system. Use this option when you build on your AArch64 Linux system. - - `path_to_library` uses an OpenSSL v1.1.x library that's already built. You can use `${OPENJ9_CC_DIR}/${OPENJ9_CC_PREFIX}/libc/usr` as `path_to_library` when you are configuring in the Docker container. - - Using `--with-openssl=fetched` will fail during the build in the Docker environment. + - `path_to_library` uses an OpenSSL v3.x library that's already built. You can use `${OPENJ9_CC_DIR}/${OPENJ9_CC_PREFIX}/libc/usr` as `path_to_library` when you are configuring in the Docker container. + + If you want to include the OpenSSL cryptographic library in the OpenJDK binary, you must include `--enable-openssl-bundling`. :pencil: **DDR support:** You can build DDR support only on AArch64 Linux. If you are building in a cross-compilation environment, you need the `--disable-ddr` option. @@ -842,7 +852,7 @@ JCL - d247952 based on jdk-11.0.6+6) :construction: AArch64 JIT compiler is not fully optimized at the time of writing this, compared with other platforms. -:pencil: **OpenSSL support:** If you built an OpenJDK with OpenJ9 that includes OpenSSL v1.1.x support, the following acknowledgements apply in accordance with the license terms: +:pencil: **OpenSSL support:** If you built an OpenJDK with OpenJ9 that includes OpenSSL v1.x support, the following acknowledgments apply in accordance with the license terms: - *This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. (https://www.openssl.org/).* - *This product includes cryptographic software written by Eric Young (eay@cryptsoft.com).* @@ -1394,7 +1404,7 @@ Given that there is no JIT support for now, you might need to accelerate the com :rocket: (this section is based on verification result from HiFive U540 dev board / to be updated) -:pencil: **OpenSSL support:** If you built an OpenJDK with OpenJ9 that includes OpenSSL v1.1.x support, the following acknowledgements apply in accordance with the license terms: +:pencil: **OpenSSL support:** If you built an OpenJDK with OpenJ9 that includes OpenSSL v1.x support, the following acknowledgments apply in accordance with the license terms: - *This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. (https://www.openssl.org/).* - *This product includes cryptographic software written by Eric Young (eay@cryptsoft.com).* diff --git a/doc/build-instructions/Build_Instructions_V17.md b/doc/build-instructions/Build_Instructions_V17.md index 1a9a9204a41..4637a3eeead 100644 --- a/doc/build-instructions/Build_Instructions_V17.md +++ b/doc/build-instructions/Build_Instructions_V17.md @@ -131,7 +131,7 @@ Now fetch additional sources from the Eclipse OpenJ9 project and its clone of Ec bash get_source.sh ``` -:pencil: **OpenSSL support:** If you want to build an OpenJDK with OpenJ9 binary with OpenSSL support and you do not have a built version of OpenSSL V1.0.2 or v1.1.1 available locally, you must specify `--openssl-version=` where `` is an OpenSSL level like 1.0.2 or 1.1.1. If the specified version of OpenSSL is already available in the standard location (`SRC_DIR/openssl`), `get_source.sh` uses it. Otherwise, the script deletes the content and downloads the specified version of OpenSSL source to the standard location and builds it. If you already have the version of OpenSSL in the standard location but you want a fresh copy, you must delete your current copy. +:pencil: **OpenSSL support:** If you want to build an OpenJDK with OpenJ9 binary with OpenSSL support and you do not have a built version of OpenSSL v3.x available locally, you must specify `--openssl-version=` where `` is an OpenSSL level like `3.0.10`. If the specified version of OpenSSL is already available in the standard location (`SRC_DIR/openssl`), `get_source.sh` uses it. Otherwise, the script deletes the content and downloads the specified version of OpenSSL source to the standard location and builds it. If you already have the version of OpenSSL in the standard location but you want a fresh copy, you must delete your current copy. ### 3. Configure :penguin: @@ -216,7 +216,7 @@ OMR - 6b8136da4f3 JCL - b6c1a570c77 based on jdk-17+35) ``` -:pencil: **OpenSSL support:** If you built an OpenJDK with OpenJ9 that includes OpenSSL support, the following acknowledgements apply in accordance with the license terms: +:pencil: **OpenSSL support:** If you built an OpenJDK with OpenJ9 that includes OpenSSL v1.x support, the following acknowledgments apply in accordance with the license terms: - *This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. (https://www.openssl.org/).* - *This product includes cryptographic software written by Eric Young (eay@cryptsoft.com).* @@ -274,7 +274,7 @@ Now fetch additional sources from the Eclipse OpenJ9 project and its clone of Ec bash get_source.sh ``` -:pencil: **OpenSSL support:** If you want to build an OpenJDK with OpenJ9 binary with OpenSSL support and you do not have a built version of OpenSSL v1.0.2 or v1.1.1 available locally, you must specify `--openssl-version=` where `` is an OpenSSL level like 1.0.2 or 1.1.1. If the specified version of OpenSSL is already available in the standard location (`SRC_DIR/openssl`), `get_source.sh` uses it. Otherwise, the script deletes the content and downloads the specified version of OpenSSL source to the standard location and builds it. If you already have the version of OpenSSL in the standard location but you want a fresh copy, you must delete your current copy. +:pencil: **OpenSSL support:** If you want to build an OpenJDK with OpenJ9 binary with OpenSSL support and you do not have a built version of OpenSSL v3.x available locally, you must specify `--openssl-version=` where `` is an OpenSSL level like `3.0.10`. If the specified version of OpenSSL is already available in the standard location (`SRC_DIR/openssl`), `get_source.sh` uses it. Otherwise, the script deletes the content and downloads the specified version of OpenSSL source to the standard location and builds it. If you already have the version of OpenSSL in the standard location but you want a fresh copy, you must delete your current copy. ### 3. Configure :blue_book: @@ -358,7 +358,7 @@ OMR - 6b8136da4f3 JCL - b6c1a570c77 based on jdk-17+35) ``` -:pencil: **OpenSSL support:** If you built an OpenJDK with OpenJ9 that includes OpenSSL support, the following acknowledgements apply in accordance with the license terms: +:pencil: **OpenSSL support:** If you built an OpenJDK with OpenJ9 that includes OpenSSL v1.x support, the following acknowledgments apply in accordance with the license terms: - *This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. (https://www.openssl.org/).* - *This product includes cryptographic software written by Eric Young (eay@cryptsoft.com).* @@ -442,7 +442,7 @@ bash get_source.sh :pencil: Create the directory that is going to contain the OpenJDK clone by using the `mkdir` command in the Cygwin bash shell and not using Windows Explorer. This ensures that it will have proper Cygwin attributes, and that its children will inherit those attributes. -:pencil: **OpenSSL support:** If you want to build an OpenJDK with OpenJ9 binary with OpenSSL support and you do not have a built version of OpenSSL v1.1.x available locally, you must specify `--openssl-version=` where `` is an OpenSSL level like 1.1.0 or 1.1.1. If the specified version of OpenSSL is already available in the standard location (SRC_DIR/openssl), `get_source.sh` uses it. Otherwise, the script deletes the content and downloads the specified version of OpenSSL source to the standard location and builds it. If you already have the version of OpenSSL in the standard location but you want a fresh copy, you must delete your current copy. +:pencil: **OpenSSL support:** If you want to build an OpenJDK with OpenJ9 binary with OpenSSL support and you do not have a built version of OpenSSL v3.x available locally, you must specify `--openssl-version=` where `` is an OpenSSL level like `3.0.10`. If the specified version of OpenSSL is already available in the standard location (SRC_DIR/openssl), `get_source.sh` uses it. Otherwise, the script deletes the content and downloads the specified version of OpenSSL source to the standard location and builds it. If you already have the version of OpenSSL in the standard location but you want a fresh copy, you must delete your current copy. ### 3. Configure :ledger: @@ -470,12 +470,11 @@ Mixed references is the default to build when no options are specified. _Note th - `--with-mixedrefs=static` (this is the default) create a mixed references build which avoids runtime checks by compiling source twice - `--with-noncompressedrefs` create a build supporting non-compressed references only -:pencil: **OpenSSL support:** If you want to build an OpenJDK that includes OpenSSL, you must specify `--with-openssl={fetched|system|path_to_library}` +:pencil: **OpenSSL support:** If you want to build an OpenJDK that includes OpenSSL, you must specify `--with-openssl={fetched|path_to_library}` where: - `fetched` uses the OpenSSL source downloaded by `get-source.sh` in step **2. Get the source**. - - `system` uses the package installed OpenSSL library in the system. - `path_to_library` uses a custom OpenSSL library that's already built. If you want to include the OpenSSL cryptographic library in the OpenJDK binary, you must include `--enable-openssl-bundling`. @@ -525,7 +524,7 @@ OMR - 6b8136da4f3 JCL - b6c1a570c77 based on jdk-17+35) ``` -:pencil: **OpenSSL support:** If you built an OpenJDK with OpenJ9 that includes OpenSSL support, the following acknowledgements apply in accordance with the license terms: +:pencil: **OpenSSL support:** If you built an OpenJDK with OpenJ9 that includes OpenSSL v1.x support, the following acknowledgments apply in accordance with the license terms: - *This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. (https://www.openssl.org/).* - *This product includes cryptographic software written by Eric Young (eay@cryptsoft.com).* @@ -597,7 +596,7 @@ Now fetch additional sources from the Eclipse OpenJ9 project and its clone of Ec bash get_source.sh ``` -:pencil: **OpenSSL support:** If you want to build an OpenJDK with OpenJ9 binary with OpenSSL support and you do not have a built version of OpenSSL v1.0.2 or v1.1.1 available locally, you must obtain a prebuilt OpenSSL binary. +:pencil: **OpenSSL support:** If you want to build an OpenJDK with OpenJ9 binary with OpenSSL support and you do not have a built version of OpenSSL v3.x available locally, you must specify `--openssl-version=` where `` is an OpenSSL level like `3.0.10`. If the specified version of OpenSSL is already available in the standard location (SRC_DIR/openssl), `get_source.sh` uses it. Otherwise, the script deletes the content and downloads the specified version of OpenSSL source to the standard location and builds it. If you already have the version of OpenSSL in the standard location but you want a fresh copy, you must delete your current copy. ### 3. Configure :apple: @@ -623,7 +622,14 @@ Mixed references is the default to build when no options are specified. _Note th - `--with-mixedrefs=static` (this is the default) create a mixed references build which avoids runtime checks by compiling source twice - `--with-noncompressedrefs` create a build supporting non-compressed references only -:pencil: **OpenSSL support:** If you want to build an OpenJDK that includes OpenSSL, you must specify `--with-openssl=path_to_library`, where `path_to_library` specifies the path to the prebuilt OpenSSL library that you obtained in **2. Get the source**. If you want to include the OpenSSL cryptographic library in the OpenJDK binary, you must also include `--enable-openssl-bundling`. +:pencil: **OpenSSL support:** If you want to build an OpenJDK that includes OpenSSL, you must specify `--with-openssl={fetched|path_to_library}` + + where: + + - `fetched` uses the OpenSSL source downloaded by `get-source.sh` in step **2. Get the source**. + - `path_to_library` uses a custom OpenSSL library that's already built. + + If you want to include the OpenSSL cryptographic library in the OpenJDK binary, you must include `--enable-openssl-bundling`. :pencil: When building using `--with-cmake=no`, you must specify `freemarker.jar` with an absolute path, such as `--with-freemarker-jar=/freemarker.jar`, where `` is the location where you stored `freemarker.jar`. @@ -673,7 +679,7 @@ OMR - 6b8136da4f3 JCL - b6c1a570c77 based on jdk-17+35) ``` -:pencil: **OpenSSL support:** If you built an OpenJDK with OpenJ9 that includes OpenSSL support, the following acknowledgements apply in accordance with the license terms: +:pencil: **OpenSSL support:** If you built an OpenJDK with OpenJ9 that includes OpenSSL v1.x support, the following acknowledgments apply in accordance with the license terms: - *This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. (https://www.openssl.org/).* - *This product includes cryptographic software written by Eric Young (eay@cryptsoft.com).* @@ -707,6 +713,8 @@ Now fetch additional sources from the Eclipse OpenJ9 project and its clone of Ec bash get_source.sh ``` +:pencil: **OpenSSL support:** On an AArch64 Linux system if you want to build an OpenJDK with OpenJ9 binary with OpenSSL support and you do not have a built version of OpenSSL v3.x available locally, you must specify `--openssl-version=` where `` is an OpenSSL level like `3.0.10`. If the specified version of OpenSSL is already available in the standard location (SRC_DIR/openssl), `get_source.sh` uses it. Otherwise, the script deletes the content and downloads the specified version of OpenSSL source to the standard location and builds it. If you already have the version of OpenSSL in the standard location but you want a fresh copy, you must delete your current copy. + ### 3. Prepare for build on AArch64 Linux You must install a number of software dependencies to create a suitable build environment on your AArch64 Linux system: @@ -773,13 +781,15 @@ Mixed references is the default to build when no options are specified. _Note th - `--with-mixedrefs=static` (this is the default) create a mixed references build which avoids runtime checks by compiling source twice - `--with-noncompressedrefs` create a build supporting non-compressed references only -:pencil: **OpenSSL support:** If you want to build an OpenJDK that uses OpenSSL, you must specify `--with-openssl={system|path_to_library}` +:pencil: **OpenSSL support:** If you want to build an OpenJDK that uses OpenSSL, you must specify `--with-openssl={fetched|system|path_to_library}` where: + - `fetched` uses the OpenSSL source downloaded by `get-source.sh` in step **2. Get the source**. Using `--with-openssl=fetched` will fail during the build in the Docker environment. - `system` uses the package installed OpenSSL library in the system. Use this option when you build on your AArch64 Linux system. - - `path_to_library` uses an OpenSSL v1.1.1 library that's already built. You can use `${OPENJ9_CC_DIR}/${OPENJ9_CC_PREFIX}/libc/usr` as `path_to_library` when you are configuring in the Docker container. - - Using `--with-openssl=fetched` will fail during the build in the Docker environment. + - `path_to_library` uses an OpenSSL v3.x library that's already built. You can use `${OPENJ9_CC_DIR}/${OPENJ9_CC_PREFIX}/libc/usr` as `path_to_library` when you are configuring in the Docker container. + + If you want to include the OpenSSL cryptographic library in the OpenJDK binary, you must include `--enable-openssl-bundling`. :pencil: **DDR support:** You can build DDR support only on AArch64 Linux. If you are building in a cross-compilation environment, you need the `--disable-ddr` option. @@ -834,7 +844,7 @@ OMR - 6b8136da4f3 JCL - b6c1a570c77 based on jdk-17+35) ``` -:pencil: **OpenSSL support:** If you built an OpenJDK with OpenJ9 that includes OpenSSL v1.1.1 support, the following acknowledgements apply in accordance with the license terms: +:pencil: **OpenSSL support:** If you built an OpenJDK with OpenJ9 that includes OpenSSL v1.x support, the following acknowledgments apply in accordance with the license terms: - *This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. (https://www.openssl.org/).* - *This product includes cryptographic software written by Eric Young (eay@cryptsoft.com).* diff --git a/doc/build-instructions/Build_Instructions_V20.md b/doc/build-instructions/Build_Instructions_V20.md index 96fc7152f2a..0c233d81470 100644 --- a/doc/build-instructions/Build_Instructions_V20.md +++ b/doc/build-instructions/Build_Instructions_V20.md @@ -131,7 +131,7 @@ Now fetch additional sources from the Eclipse OpenJ9 project and its clone of Ec bash get_source.sh ``` -:pencil: **OpenSSL support:** If you want to build an OpenJDK with OpenJ9 binary with OpenSSL support and you do not have a built version of OpenSSL V1.0.2 or v1.1.1 available locally, you must specify `--openssl-version=` where `` is an OpenSSL level like 1.0.2 or 1.1.1. If the specified version of OpenSSL is already available in the standard location (`SRC_DIR/openssl`), `get_source.sh` uses it. Otherwise, the script deletes the content and downloads the specified version of OpenSSL source to the standard location and builds it. If you already have the version of OpenSSL in the standard location but you want a fresh copy, you must delete your current copy. +:pencil: **OpenSSL support:** If you want to build an OpenJDK with OpenJ9 binary with OpenSSL support and you do not have a built version of OpenSSL v3.x available locally, you must specify `--openssl-version=` where `` is an OpenSSL level like `3.0.10`. If the specified version of OpenSSL is already available in the standard location (`SRC_DIR/openssl`), `get_source.sh` uses it. Otherwise, the script deletes the content and downloads the specified version of OpenSSL source to the standard location and builds it. If you already have the version of OpenSSL in the standard location but you want a fresh copy, you must delete your current copy. ### 3. Configure :penguin: @@ -216,7 +216,7 @@ OMR - c766c4155b0 JCL - fd8df22bf2c based on jdk-20+36) ``` -:pencil: **OpenSSL support:** If you built an OpenJDK with OpenJ9 that includes OpenSSL support, the following acknowledgements apply in accordance with the license terms: +:pencil: **OpenSSL support:** If you built an OpenJDK with OpenJ9 that includes OpenSSL v1.x support, the following acknowledgments apply in accordance with the license terms: - *This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. (https://www.openssl.org/).* - *This product includes cryptographic software written by Eric Young (eay@cryptsoft.com).* @@ -274,7 +274,7 @@ Now fetch additional sources from the Eclipse OpenJ9 project and its clone of Ec bash get_source.sh ``` -:pencil: **OpenSSL support:** If you want to build an OpenJDK with OpenJ9 binary with OpenSSL support and you do not have a built version of OpenSSL v1.0.2 or v1.1.1 available locally, you must specify `--openssl-version=` where `` is an OpenSSL level like 1.0.2 or 1.1.1. If the specified version of OpenSSL is already available in the standard location (`SRC_DIR/openssl`), `get_source.sh` uses it. Otherwise, the script deletes the content and downloads the specified version of OpenSSL source to the standard location and builds it. If you already have the version of OpenSSL in the standard location but you want a fresh copy, you must delete your current copy. +:pencil: **OpenSSL support:** If you want to build an OpenJDK with OpenJ9 binary with OpenSSL support and you do not have a built version of OpenSSL v3.x available locally, you must specify `--openssl-version=` where `` is an OpenSSL level like `3.0.10`. If the specified version of OpenSSL is already available in the standard location (`SRC_DIR/openssl`), `get_source.sh` uses it. Otherwise, the script deletes the content and downloads the specified version of OpenSSL source to the standard location and builds it. If you already have the version of OpenSSL in the standard location but you want a fresh copy, you must delete your current copy. ### 3. Configure :blue_book: @@ -358,7 +358,7 @@ OMR - c766c4155b0 JCL - fd8df22bf2c based on jdk-20+36) ``` -:pencil: **OpenSSL support:** If you built an OpenJDK with OpenJ9 that includes OpenSSL support, the following acknowledgements apply in accordance with the license terms: +:pencil: **OpenSSL support:** If you built an OpenJDK with OpenJ9 that includes OpenSSL v1.x support, the following acknowledgments apply in accordance with the license terms: - *This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. (https://www.openssl.org/).* - *This product includes cryptographic software written by Eric Young (eay@cryptsoft.com).* @@ -442,7 +442,7 @@ bash get_source.sh :pencil: Create the directory that is going to contain the OpenJDK clone by using the `mkdir` command in the Cygwin bash shell and not using Windows Explorer. This ensures that it will have proper Cygwin attributes, and that its children will inherit those attributes. -:pencil: **OpenSSL support:** If you want to build an OpenJDK with OpenJ9 binary with OpenSSL support and you do not have a built version of OpenSSL v1.1.x available locally, you must specify `--openssl-version=` where `` is an OpenSSL level like 1.1.0 or 1.1.1. If the specified version of OpenSSL is already available in the standard location (SRC_DIR/openssl), `get_source.sh` uses it. Otherwise, the script deletes the content and downloads the specified version of OpenSSL source to the standard location and builds it. If you already have the version of OpenSSL in the standard location but you want a fresh copy, you must delete your current copy. +:pencil: **OpenSSL support:** If you want to build an OpenJDK with OpenJ9 binary with OpenSSL support and you do not have a built version of OpenSSL v3.x available locally, you must specify `--openssl-version=` where `` is an OpenSSL level like `3.0.10`. If the specified version of OpenSSL is already available in the standard location (SRC_DIR/openssl), `get_source.sh` uses it. Otherwise, the script deletes the content and downloads the specified version of OpenSSL source to the standard location and builds it. If you already have the version of OpenSSL in the standard location but you want a fresh copy, you must delete your current copy. ### 3. Configure :ledger: @@ -470,12 +470,11 @@ Mixed references is the default to build when no options are specified. _Note th - `--with-mixedrefs=static` (this is the default) create a mixed references build which avoids runtime checks by compiling source twice - `--with-noncompressedrefs` create a build supporting non-compressed references only -:pencil: **OpenSSL support:** If you want to build an OpenJDK that includes OpenSSL, you must specify `--with-openssl={fetched|system|path_to_library}` +:pencil: **OpenSSL support:** If you want to build an OpenJDK that includes OpenSSL, you must specify `--with-openssl={fetched|path_to_library}` where: - `fetched` uses the OpenSSL source downloaded by `get-source.sh` in step **2. Get the source**. - - `system` uses the package installed OpenSSL library in the system. - `path_to_library` uses a custom OpenSSL library that's already built. If you want to include the OpenSSL cryptographic library in the OpenJDK binary, you must include `--enable-openssl-bundling`. @@ -525,7 +524,7 @@ OMR - c766c4155b0 JCL - fd8df22bf2c based on jdk-20+36) ``` -:pencil: **OpenSSL support:** If you built an OpenJDK with OpenJ9 that includes OpenSSL support, the following acknowledgements apply in accordance with the license terms: +:pencil: **OpenSSL support:** If you built an OpenJDK with OpenJ9 that includes OpenSSL v1.x support, the following acknowledgments apply in accordance with the license terms: - *This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. (https://www.openssl.org/).* - *This product includes cryptographic software written by Eric Young (eay@cryptsoft.com).* @@ -597,7 +596,7 @@ Now fetch additional sources from the Eclipse OpenJ9 project and its clone of Ec bash get_source.sh ``` -:pencil: **OpenSSL support:** If you want to build an OpenJDK with OpenJ9 binary with OpenSSL support and you do not have a built version of OpenSSL v1.0.2 or v1.1.1 available locally, you must obtain a prebuilt OpenSSL binary. +:pencil: **OpenSSL support:** If you want to build an OpenJDK with OpenJ9 binary with OpenSSL support and you do not have a built version of OpenSSL v3.x available locally, you must specify `--openssl-version=` where `` is an OpenSSL level like `3.0.10`. If the specified version of OpenSSL is already available in the standard location (SRC_DIR/openssl), `get_source.sh` uses it. Otherwise, the script deletes the content and downloads the specified version of OpenSSL source to the standard location and builds it. If you already have the version of OpenSSL in the standard location but you want a fresh copy, you must delete your current copy. ### 3. Configure :apple: @@ -623,7 +622,14 @@ Mixed references is the default to build when no options are specified. _Note th - `--with-mixedrefs=static` (this is the default) create a mixed references build which avoids runtime checks by compiling source twice - `--with-noncompressedrefs` create a build supporting non-compressed references only -:pencil: **OpenSSL support:** If you want to build an OpenJDK that includes OpenSSL, you must specify `--with-openssl=path_to_library`, where `path_to_library` specifies the path to the prebuilt OpenSSL library that you obtained in **2. Get the source**. If you want to include the OpenSSL cryptographic library in the OpenJDK binary, you must also include `--enable-openssl-bundling`. +:pencil: **OpenSSL support:** If you want to build an OpenJDK that includes OpenSSL, you must specify `--with-openssl={fetched|path_to_library}` + + where: + + - `fetched` uses the OpenSSL source downloaded by `get-source.sh` in step **2. Get the source**. + - `path_to_library` uses a custom OpenSSL library that's already built. + + If you want to include the OpenSSL cryptographic library in the OpenJDK binary, you must include `--enable-openssl-bundling`. :pencil: When building using `--with-cmake=no`, you must specify `freemarker.jar` with an absolute path, such as `--with-freemarker-jar=/freemarker.jar`, where `` is the location where you stored `freemarker.jar`. @@ -673,7 +679,7 @@ OMR - c766c4155b0 JCL - fd8df22bf2c based on jdk-20+36) ``` -:pencil: **OpenSSL support:** If you built an OpenJDK with OpenJ9 that includes OpenSSL support, the following acknowledgements apply in accordance with the license terms: +:pencil: **OpenSSL support:** If you built an OpenJDK with OpenJ9 that includes OpenSSL v1.x support, the following acknowledgments apply in accordance with the license terms: - *This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. (https://www.openssl.org/).* - *This product includes cryptographic software written by Eric Young (eay@cryptsoft.com).* @@ -707,6 +713,8 @@ Now fetch additional sources from the Eclipse OpenJ9 project and its clone of Ec bash get_source.sh ``` +:pencil: **OpenSSL support:** On an AArch64 Linux system if you want to build an OpenJDK with OpenJ9 binary with OpenSSL support and you do not have a built version of OpenSSL v3.x available locally, you must specify `--openssl-version=` where `` is an OpenSSL level like `3.0.10`. If the specified version of OpenSSL is already available in the standard location (SRC_DIR/openssl), `get_source.sh` uses it. Otherwise, the script deletes the content and downloads the specified version of OpenSSL source to the standard location and builds it. If you already have the version of OpenSSL in the standard location but you want a fresh copy, you must delete your current copy. + ### 3. Prepare for build on AArch64 Linux You must install a number of software dependencies to create a suitable build environment on your AArch64 Linux system: @@ -773,13 +781,13 @@ Mixed references is the default to build when no options are specified. _Note th - `--with-mixedrefs=static` (this is the default) create a mixed references build which avoids runtime checks by compiling source twice - `--with-noncompressedrefs` create a build supporting non-compressed references only -:pencil: **OpenSSL support:** If you want to build an OpenJDK that uses OpenSSL, you must specify `--with-openssl={system|path_to_library}` +:pencil: **OpenSSL support:** If you want to build an OpenJDK that uses OpenSSL, you must specify `--with-openssl={fetched|system|path_to_library}` where: + - `fetched` uses the OpenSSL source downloaded by `get-source.sh` in step **2. Get the source**. Using `--with-openssl=fetched` will fail during the build in the Docker environment. - `system` uses the package installed OpenSSL library in the system. Use this option when you build on your AArch64 Linux system. - - `path_to_library` uses an OpenSSL v1.1.1 library that's already built. You can use `${OPENJ9_CC_DIR}/${OPENJ9_CC_PREFIX}/libc/usr` as `path_to_library` when you are configuring in the Docker container. - - Using `--with-openssl=fetched` will fail during the build in the Docker environment. + - `path_to_library` uses an OpenSSL v3.x library that's already built. You can use `${OPENJ9_CC_DIR}/${OPENJ9_CC_PREFIX}/libc/usr` as `path_to_library` when you are configuring in the Docker container. :pencil: **DDR support:** You can build DDR support only on AArch64 Linux. If you are building in a cross-compilation environment, you need the `--disable-ddr` option. @@ -834,7 +842,7 @@ OMR - c766c4155b0 JCL - fd8df22bf2c based on jdk-20+36) ``` -:pencil: **OpenSSL support:** If you built an OpenJDK with OpenJ9 that includes OpenSSL v1.1.1 support, the following acknowledgements apply in accordance with the license terms: +:pencil: **OpenSSL support:** If you built an OpenJDK with OpenJ9 that includes OpenSSL v1.x support, the following acknowledgments apply in accordance with the license terms: - *This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. (https://www.openssl.org/).* - *This product includes cryptographic software written by Eric Young (eay@cryptsoft.com).* diff --git a/doc/build-instructions/Build_Instructions_V8.md b/doc/build-instructions/Build_Instructions_V8.md index e42b2b88d20..4c379aa5662 100644 --- a/doc/build-instructions/Build_Instructions_V8.md +++ b/doc/build-instructions/Build_Instructions_V8.md @@ -141,7 +141,7 @@ Now fetch additional sources from the Eclipse OpenJ9 project and its clone of Ec bash get_source.sh ``` -:pencil: **OpenSSL support:** If you want to build an OpenJDK with OpenJ9 binary with OpenSSL support and you do not have a built version of OpenSSL v1.1.x available locally, you must specify `--openssl-version=` where `` is an OpenSSL level like 1.1.0 or 1.1.1. If the specified version of OpenSSL is already available in the standard location (SRC_DIR/openssl), `get_source.sh` uses it. Otherwise, the script deletes the content and downloads the specified version of OpenSSL source to the standard location and builds it. If you already have the version of OpenSSL in the standard location but you want a fresh copy, you must delete your current copy. +:pencil: **OpenSSL support:** If you want to build an OpenJDK with OpenJ9 binary with OpenSSL support and you do not have a built version of OpenSSL v3.x available locally, you must specify `--openssl-version=` where `` is an OpenSSL level like `3.0.10`. If the specified version of OpenSSL is already available in the standard location (SRC_DIR/openssl), `get_source.sh` uses it. Otherwise, the script deletes the content and downloads the specified version of OpenSSL source to the standard location and builds it. If you already have the version of OpenSSL in the standard location but you want a fresh copy, you must delete your current copy. ### 3. Configure :penguin: @@ -224,7 +224,7 @@ OMR - 7c3d3d7 OpenJDK - 27f5b8f based on jdk8u152-b03) ``` -:pencil: **OpenSSL support:** If you built an OpenJDK with OpenJ9 that includes OpenSSL v1.1.x support, the following acknowledgements apply in accordance with the license terms: +:pencil: **OpenSSL support:** If you built an OpenJDK with OpenJ9 that includes OpenSSL v1.x support, the following acknowledgments apply in accordance with the license terms: - *This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. (https://www.openssl.org/).* - *This product includes cryptographic software written by Eric Young (eay@cryptsoft.com).* @@ -281,7 +281,7 @@ Now fetch additional sources from the Eclipse OpenJ9 project and its clone of Ec ``` bash get_source.sh ``` -:pencil: **OpenSSL support:** If you want to build an OpenJDK with OpenJ9 binary with OpenSSL support and you do not have a built version of OpenSSL v1.1.x available locally, you must specify `--openssl-version=` where `` is an OpenSSL level like 1.1.0 or 1.1.1. If the specified version of OpenSSL is already available in the standard location (SRC_DIR/openssl), `get_source.sh` uses it. Otherwise, the script deletes the content and downloads the specified version of OpenSSL source to the standard location and builds it. If you already have the version of OpenSSL in the standard location but you want a fresh copy, you must delete your current copy. +:pencil: **OpenSSL support:** If you want to build an OpenJDK with OpenJ9 binary with OpenSSL support and you do not have a built version of OpenSSL v3.x available locally, you must specify `--openssl-version=` where `` is an OpenSSL level like `3.0.10`. If the specified version of OpenSSL is already available in the standard location (SRC_DIR/openssl), `get_source.sh` uses it. Otherwise, the script deletes the content and downloads the specified version of OpenSSL source to the standard location and builds it. If you already have the version of OpenSSL in the standard location but you want a fresh copy, you must delete your current copy. ### 3. Configure :blue_book: @@ -360,7 +360,7 @@ OMR - 7c3d3d7 OpenJDK - 27f5b8f based on jdk8u152-b03) ``` -:pencil: **OpenSSL support:** If you built an OpenJDK with OpenJ9 that includes OpenSSL v1.1.x support, the following acknowledgements apply in accordance with the license terms: +:pencil: **OpenSSL support:** If you built an OpenJDK with OpenJ9 that includes OpenSSL v1.x support, the following acknowledgments apply in accordance with the license terms: - *This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. (https://www.openssl.org/).* - *This product includes cryptographic software written by Eric Young (eay@cryptsoft.com).* @@ -436,7 +436,7 @@ bash get_source.sh :pencil: Create the directory that is going to contain the OpenJDK clone by using the `mkdir` command in the Cygwin bash shell and not using Windows Explorer. This ensures that it will have proper Cygwin attributes, and that its children will inherit those attributes. -:pencil: **OpenSSL support:** If you want to build an OpenJDK with OpenJ9 binary with OpenSSL support and you do not have a built version of OpenSSL v1.1.x available locally, you must specify `--openssl-version=` where `` is an OpenSSL level like 1.1.0 or 1.1.1. If the specified version of OpenSSL is already available in the standard location (SRC_DIR/openssl), `get_source.sh` uses it. Otherwise, the script deletes the content and downloads the specified version of OpenSSL source to the standard location and builds it. If you already have the version of OpenSSL in the standard location but you want a fresh copy, you must delete your current copy. +:pencil: **OpenSSL support:** If you want to build an OpenJDK with OpenJ9 binary with OpenSSL support and you do not have a built version of OpenSSL v3.x available locally, you must specify `--openssl-version=` where `` is an OpenSSL level like `3.0.10`. If the specified version of OpenSSL is already available in the standard location (SRC_DIR/openssl), `get_source.sh` uses it. Otherwise, the script deletes the content and downloads the specified version of OpenSSL source to the standard location and builds it. If you already have the version of OpenSSL in the standard location but you want a fresh copy, you must delete your current copy. ### 3. Configure :ledger: @@ -471,12 +471,11 @@ Mixed references is the default to build when no options are specified. _Note th - `--with-mixedrefs=static` (this is the default) create a mixed references build which avoids runtime checks by compiling source twice - `--with-noncompressedrefs` create a build supporting non-compressed references only -:pencil: **OpenSSL support:** If you want to build an OpenJDK that includes OpenSSL, you must specify `--with-openssl={fetched|system|path_to_library}` +:pencil: **OpenSSL support:** If you want to build an OpenJDK that includes OpenSSL, you must specify `--with-openssl={fetched|path_to_library}` where: - `fetched` uses the OpenSSL source downloaded by `get-source.sh` in step **2. Get the source**. - - `system` uses the package installed OpenSSL library in the system. - `path_to_library` uses a custom OpenSSL library that's already built. If you want to include the OpenSSL cryptographic library in the OpenJDK binary, you must include `--enable-openssl-bundling`. @@ -547,7 +546,7 @@ OMR - e5db96ba JCL - 7f27c537a8 based on jdk8u172-b11) ``` -:pencil: **OpenSSL support:** If you built an OpenJDK with OpenJ9 that includes OpenSSL v1.1.x support, the following acknowledgements apply in accordance with the license terms: +:pencil: **OpenSSL support:** If you built an OpenJDK with OpenJ9 that includes OpenSSL v1.x support, the following acknowledgments apply in accordance with the license terms: - *This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. (https://www.openssl.org/).* - *This product includes cryptographic software written by Eric Young (eay@cryptsoft.com).* @@ -618,7 +617,7 @@ Now fetch additional sources from the Eclipse OpenJ9 project and its clone of Ec bash get_source.sh ``` -:pencil: **OpenSSL support:** If you want to build an OpenJDK with OpenJ9 binary with OpenSSL support and you do not have a built version of OpenSSL v1.1.x available locally, you must obtain a prebuilt OpenSSL v1.1.x binary. +:pencil: **OpenSSL support:** If you want to build an OpenJDK with OpenJ9 binary with OpenSSL support and you do not have a built version of OpenSSL v3.x available locally, you must specify `--openssl-version=` where `` is an OpenSSL level like `3.0.10`. If the specified version of OpenSSL is already available in the standard location (SRC_DIR/openssl), `get_source.sh` uses it. Otherwise, the script deletes the content and downloads the specified version of OpenSSL source to the standard location and builds it. If you already have the version of OpenSSL in the standard location but you want a fresh copy, you must delete your current copy. ### 3. Configure :apple: @@ -647,7 +646,14 @@ Mixed references is the default to build when no options are specified. _Note th - `--with-mixedrefs=static` (this is the default) create a mixed references build which avoids runtime checks by compiling source twice - `--with-noncompressedrefs` create a build supporting non-compressed references only -:pencil: **OpenSSL support:** If you want to build an OpenJDK that includes OpenSSL, you must specify `--with-openssl=path_to_library`, where `path_to_library` specifies the path to the prebuilt OpenSSL library that you obtained in **2. Get the source**. If you want to include the OpenSSL cryptographic library in the OpenJDK binary, you must also include `--enable-openssl-bundling`. +:pencil: **OpenSSL support:** If you want to build an OpenJDK that includes OpenSSL, you must specify `--with-openssl={fetched|path_to_library}` + + where: + + - `fetched` uses the OpenSSL source downloaded by `get-source.sh` in step **2. Get the source**. + - `path_to_library` uses a custom OpenSSL library that's already built. + + If you want to include the OpenSSL cryptographic library in the OpenJDK binary, you must include `--enable-openssl-bundling`. :pencil: When building using `--with-cmake=no`, you must specify `freemarker.jar` with an absolute path, such as `--with-freemarker-jar=/freemarker.jar`, where `` is the location where you stored `freemarker.jar`. @@ -698,7 +704,7 @@ OMR - 4d96857a JCL - fcd436bf56 based on jdk8u192-b03) ``` -:pencil: **OpenSSL support:** If you built an OpenJDK with OpenJ9 that includes OpenSSL v1.1.x support, the following acknowledgements apply in accordance with the license terms: +:pencil: **OpenSSL support:** If you built an OpenJDK with OpenJ9 that includes OpenSSL v1.x support, the following acknowledgments apply in accordance with the license terms: - *This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. (https://www.openssl.org/).* - *This product includes cryptographic software written by Eric Young (eay@cryptsoft.com).* @@ -729,6 +735,8 @@ Now fetch additional sources from the Eclipse OpenJ9 project and its clone of Ec bash get_source.sh ``` +:pencil: **OpenSSL support:** On an AArch64 Linux system if you want to build an OpenJDK with OpenJ9 binary with OpenSSL support and you do not have a built version of OpenSSL v3.x available locally, you must specify `--openssl-version=` where `` is an OpenSSL level like `3.0.10`. If the specified version of OpenSSL is already available in the standard location (SRC_DIR/openssl), `get_source.sh` uses it. Otherwise, the script deletes the content and downloads the specified version of OpenSSL source to the standard location and builds it. If you already have the version of OpenSSL in the standard location but you want a fresh copy, you must delete your current copy. + ### 2. Prepare your system You must install a number of software dependencies to create a suitable build environment on your AArch64 Linux system: @@ -761,10 +769,11 @@ Mixed references is the default to build when no options are specified. _Note th - `--with-mixedrefs=static` (this is the default) create a mixed references build which avoids runtime checks by compiling source twice - `--with-noncompressedrefs` create a build supporting non-compressed references only -:pencil: **OpenSSL support:** If you want to build an OpenJDK that uses OpenSSL, you must specify `--with-openssl={system|path_to_library}` +:pencil: **OpenSSL support:** If you want to build an OpenJDK that uses OpenSSL, you must specify `--with-openssl={fetched|system|path_to_library}` where: + - `fetched` uses the OpenSSL source downloaded by `get-source.sh` in step **2. Get the source**. Using `--with-openssl=fetched` will fail during the build in the Docker environment. - `system` uses the package installed OpenSSL library in the system. - `path_to_library` uses a custom OpenSSL library that's already built. @@ -815,7 +824,7 @@ JCL - 28815f64 based on jdk8u265-b01) :construction: AArch64 JIT compiler is not fully optimized at the time of writing this, compared with other platforms. -:pencil: **OpenSSL support:** If you built an OpenJDK with OpenJ9 that includes OpenSSL v1.1.x support, the following acknowledgements apply in accordance with the license terms: +:pencil: **OpenSSL support:** If you built an OpenJDK with OpenJ9 that includes OpenSSL v1.x support, the following acknowledgments apply in accordance with the license terms: - *This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. (https://www.openssl.org/).* - *This product includes cryptographic software written by Eric Young (eay@cryptsoft.com).*