diff --git a/README.md b/README.md
index 399e7cc311f..b90abcb60df 100644
--- a/README.md
+++ b/README.md
@@ -1,11 +1,11 @@
# Welcome to the JDK!
For build instructions please see the
-[online documentation](https://openjdk.java.net/groups/build/doc/building.html),
+[online documentation](https://openjdk.org/groups/build/doc/building.html),
or either of these files:
- [doc/building.html](doc/building.html) (html version)
- [doc/building.md](doc/building.md) (markdown version)
-See for more information about
+See for more information about
the OpenJDK Community and the JDK.
diff --git a/doc/building.html b/doc/building.html
index 5a775131812..2aab3ade6ca 100644
--- a/doc/building.html
+++ b/doc/building.html
@@ -122,7 +122,7 @@
If you are eager to try out building the JDK, these simple steps works most of the time. They assume that you have installed Git (and Cygwin if running on Windows) and cloned the top-level JDK repository that you want to build.
Get the complete source code:
-git clone https://git.openjdk.java.net/jdk/
+git clone https://git.openjdk.org/jdk/
Run configure:
bash configure
If configure
fails due to missing dependencies (to either the toolchain, build tools, external libraries or the boot JDK), most of the time it prints a suggestion on how to resolve the situation on your platform. Follow the instructions, and try running bash configure
again.
@@ -136,9 +136,9 @@
If any of these steps failed, or if you want to know more about build requirements or build functionality, please continue reading this document.
Introduction
The JDK is a complex software project. Building it requires a certain amount of technical expertise, a fair number of dependencies on external software, and reasonably powerful hardware.
-If you just want to use the JDK and not build it yourself, this document is not for you. See for instance OpenJDK installation for some methods of installing a prebuilt JDK.
+If you just want to use the JDK and not build it yourself, this document is not for you. See for instance OpenJDK installation for some methods of installing a prebuilt JDK.
Getting the Source Code
-Make sure you are getting the correct version. As of JDK 10, the source is no longer split into separate repositories so you only need to clone one single repository. At the OpenJDK Git site you can see a list of all available repositories. If you want to build an older version, e.g. JDK 11, it is recommended that you get the jdk11u
repo, which contains incremental updates, instead of the jdk11
repo, which was frozen at JDK 11 GA.
+Make sure you are getting the correct version. As of JDK 10, the source is no longer split into separate repositories so you only need to clone one single repository. At the OpenJDK Git site you can see a list of all available repositories. If you want to build an older version, e.g. JDK 11, it is recommended that you get the jdk11u
repo, which contains incremental updates, instead of the jdk11
repo, which was frozen at JDK 11 GA.
If you are new to Git, a good place to start is the book Pro Git. The rest of this document assumes a working knowledge of Git.
Special Considerations
For a smooth building experience, it is recommended that you follow these rules on where and how to check out the source code.
@@ -152,7 +152,7 @@
Do not put the JDK clone in a path under your Cygwin home directory. This is especially important if your user name contains spaces and/or mixed upper and lower case letters.
You need to install a git client. You have two choices, Cygwin git or Git for Windows. Unfortunately there are pros and cons with each choice.
-The Cygwin git
client has no line ending issues and understands Cygwin paths (which are used throughout the JDK build system). However, it does not currently work well with the Skara CLI tooling. Please see the Skara wiki on Git clients for up-to-date information about the Skara git client support.
+The Cygwin git
client has no line ending issues and understands Cygwin paths (which are used throughout the JDK build system). However, it does not currently work well with the Skara CLI tooling. Please see the Skara wiki on Git clients for up-to-date information about the Skara git client support.
The Git for Windows client has issues with line endings, and do not understand Cygwin paths. It does work well with the Skara CLI tooling, however. To alleviate the line ending problems, make sure you set core.autocrlf
to false
(this is asked during installation).
@@ -198,7 +198,7 @@
The double version numbers for Linux are due to the hybrid model used at Oracle, where header files and external libraries from an older version are used when building on a more modern version of the OS.
-The Build Group has a wiki page with Supported Build Platforms. From time to time, this is updated by contributors to list successes or failures of building on different platforms.
+The Build Group has a wiki page with Supported Build Platforms. From time to time, this is updated by contributors to list successes or failures of building on different platforms.
Windows
Windows XP is not a supported platform, but all newer Windows should be able to build the JDK.
On Windows, it is important that you pay attention to the instructions in the Special Considerations.
@@ -237,7 +237,7 @@
For Alpine Linux, aside from basic tooling, install the GNU versions of some programs:
sudo apk add build-base bash grep zip
AIX
-Please consult the AIX section of the Supported Build Platforms OpenJDK Build Wiki page for details about which versions of AIX are supported.
+Please consult the AIX section of the Supported Build Platforms OpenJDK Build Wiki page for details about which versions of AIX are supported.
Large portions of the JDK consists of native code, that needs to be compiled to be able to run on the target platform. In theory, toolchain and operating system should be independent factors, but in practice there's more or less a one-to-one correlation between target operating system and toolchain.
@@ -308,7 +308,7 @@
If you have multiple versions of Visual Studio installed, configure
will by default pick the latest. You can request a specific version to be used by setting --with-toolchain-version
, e.g. --with-toolchain-version=2022
.
If you have Visual Studio installed but configure
fails to detect it, it may be because of spaces in path.
IBM XL C/C++
-Please consult the AIX section of the Supported Build Platforms OpenJDK Build Wiki page for details about which versions of XLC are supported.
+Please consult the AIX section of the Supported Build Platforms OpenJDK Build Wiki page for details about which versions of XLC are supported.
Boot JDK Requirements
Paradoxically, building the JDK requires a pre-existing JDK. This is called the "boot JDK". The boot JDK does not, however, have to be a JDK built directly from the source code available in the OpenJDK Community. If you are porting the JDK 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 a JDK of major version N-1, so for building JDK 9 a JDK 8 would be suitable as boot JDK. However, the JDK should be able to "build itself", so an up-to-date build of the current JDK source is an acceptable alternative. If 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.
@@ -512,8 +512,8 @@
SPEC_FILTER
Running Tests
-Most of the JDK tests are using the JTReg test framework. Make sure that your configuration knows where to find your installation of JTReg. If this is not picked up automatically, use the --with-jtreg=<path to jtreg home>
option to point to the JTReg framework. Note that this option should point to the JTReg home, i.e. the top directory, containing lib/jtreg.jar
etc.
-The Adoption Group provides recent builds of jtreg here. Download the latest .tar.gz
file, unpack it, and point --with-jtreg
to the jtreg
directory that you just unpacked.
+Most of the JDK tests are using the JTReg test framework. Make sure that your configuration knows where to find your installation of JTReg. If this is not picked up automatically, use the --with-jtreg=<path to jtreg home>
option to point to the JTReg framework. Note that this option should point to the JTReg home, i.e. the top directory, containing lib/jtreg.jar
etc.
+The Adoption Group provides recent builds of jtreg here. Download the latest .tar.gz
file, unpack it, and point --with-jtreg
to the jtreg
directory that you just unpacked.
Building of Hotspot Gtest suite requires the source code of Google Test framework. The top directory, which contains both googletest
and googlemock
directories, should be specified via --with-gtest
. The supported version of Google Test is 1.8.1, whose source code can be obtained:
- by downloading and unpacking the source bundle from here
@@ -896,7 +896,7 @@ spawn failed
Spaces in Path
On Windows, when configuring, fixpath.sh
may report that some directory names have spaces. Usually, it assumes those directories have short paths. You can run fsutil file setshortname
in cmd
on certain directories, such as Microsoft Visual Studio
or Windows Kits
, to assign arbitrary short paths so configure
can access them.
Getting Help
-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 build-dev@openjdk.java.net. Please include the relevant parts of the configure and/or build log.
+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 build-dev@openjdk.org. Please include the relevant parts of the configure and/or build log.
If you need general help or advice about developing for the JDK, you can also contact the Adoption Group. See the section on Contributing to OpenJDK for more information.
Reproducible Builds
Build reproducibility is the property of getting exactly the same bits out when building, every time, independent on who builds the product, or where. This is for many reasons a harder goal than it initially appears, but it is an important goal, for security reasons and others. Please see Reproducible Builds for more information about the background and reasons for reproducible builds.
@@ -1037,12 +1037,12 @@ test-support/
make COMPARE_BUILD=CONF=--enable-new-hotspot-feature:MAKE=hotspot
See make/InitSupport.gmk
for details on how to use COMPARE_BUILD
.
To analyze build performance, run with LOG=trace
and check $BUILD/build-trace-time.log
. Use JOBS=1
to avoid parallelism.
-Please check that you adhere to the Code Conventions for the Build System before submitting patches.
+Please check that you adhere to the Code Conventions for the Build System before submitting patches.
Contributing to the JDK
So, now you've built your JDK, and made your first patch, and want to contribute it back to the OpenJDK Community.
First of all: Thank you! We gladly welcome your contribution. However, please bear in mind that the JDK is a massive project, and we must ask you to follow our rules and guidelines to be able to accept your contribution.
-The official place to start is the 'How to contribute' page. There is also an official (but somewhat outdated and skimpy on details) Developer's Guide.
-If this seems overwhelming to you, the Adoption Group is there to help you! A good place to start is their 'New Contributor' page, or start reading the comprehensive Getting Started Kit. The Adoption Group will also happily answer any questions you have about contributing. Contact them by mail or IRC.
+The official place to start is the 'How to contribute' page. There is also an official (but somewhat outdated and skimpy on details) Developer's Guide.
+If this seems overwhelming to you, the Adoption Group is there to help you! A good place to start is their 'New Contributor' page, or start reading the comprehensive Getting Started Kit. The Adoption Group will also happily answer any questions you have about contributing. Contact them by mail or IRC.
Editing this document
If you want to contribute changes to this document, edit doc/building.md
and then run make update-build-docs
to generate the same changes in doc/building.html
.