@@ -83,19 +83,39 @@ on where and how to check out the source code.
83
83
for the source code, see below for suggestions on how to keep the build
84
84
artifacts on a local disk.
85
85
86
- * On Windows, if using [ Cygwin] ( #cygwin ) , extra care must be taken to make sure
87
- the environment is consistent. It is recommended that you follow this
88
- procedure:
89
-
90
- * Create the directory that is going to contain the top directory of the JDK
91
- clone by using the ` mkdir ` command in the Cygwin bash shell. That is, do
92
- * not* create it using Windows Explorer. This will ensure that it will have
93
- proper Cygwin attributes, and that it's children will inherit those
94
- attributes.
95
-
96
- * Do not put the JDK clone in a path under your Cygwin home directory. This
97
- is especially important if your user name contains spaces and/or mixed
98
- upper and lower case letters.
86
+ * On Windows, extra care must be taken to have a smooth building experience:
87
+
88
+ * Make sure that all relevant paths have short names. Short names are used by
89
+ the build system to create space-free alternative paths. Short name
90
+ creation is enabled per volume. The default setting can be checked with the
91
+ command: ` fsutil 8dot3name query ` . If short name creation was turned off
92
+ when a directory was created, it will not have a short name. Whether a
93
+ short name exists can be checked by running ` dir /X ` in the containing
94
+ directory (in cmd.exe). If a short path is present you should see something
95
+ like 'ASDF~ 1' being displayed in one of the columns of the ouput. If a
96
+ directory is missing a short name, the safest way to get one is to enable
97
+ short names for that particular volume with `fsutil 8dot3name set <drive
98
+ letter>: 0` (note that you need to run as administrator for this), and then
99
+ re-create the particular directory. A short name should be generated
100
+ automatically then. Another option is to manually assign a short name to
101
+ the directory using ` fsutil file setShortName <path> <short name> ` .
102
+
103
+ * If using [ Cygwin] ( #cygwin ) , you must make sure the file permissions and
104
+ attributes between Windows and Cygwin are consistent. It is recommended
105
+ that you follow this procedure:
106
+
107
+ * Create the directory that is going to contain the top directory of the
108
+ JDK clone by using the ` mkdir ` command in the Cygwin bash shell. That is,
109
+ do * not* create it using Windows Explorer. This will ensure that it will
110
+ have proper Cygwin attributes, and that it's children will inherit those
111
+ attributes.
112
+
113
+ * Do not put the JDK clone in a path under your Cygwin home directory. This
114
+ is especially important if your user name contains spaces and/or mixed
115
+ upper and lower case letters.
116
+
117
+ Failure to follow these procedures might result in hard-to-debug build
118
+ problems.
99
119
100
120
* You need to install a git client. You have two choices, Cygwin git or Git
101
121
for Windows. Unfortunately there are pros and cons with each choice.
@@ -113,9 +133,6 @@ on where and how to check out the source code.
113
133
make sure you set ` core.autocrlf ` to ` false ` (this is asked during
114
134
installation).
115
135
116
- Failure to follow this procedure might result in hard-to-debug build
117
- problems.
118
-
119
136
## Build Hardware Requirements
120
137
121
138
The JDK is a massive project, and require machines ranging from decent to
@@ -175,7 +192,7 @@ time of writing.
175
192
| ----------------- | ---------------------------------- |
176
193
| Linux/x64 | Oracle Enterprise Linux 6.4 / 8.x |
177
194
| Linux/aarch64 | Oracle Enterprise Linux 7.6 / 8.x |
178
- | macOS | macOS 13 .x (Ventura) |
195
+ | macOS | macOS 14 .x |
179
196
| Windows | Windows Server 2016 |
180
197
181
198
The double version numbers for Linux are due to the hybrid model used at
@@ -327,7 +344,7 @@ difficult for a project such as the JDK to keep pace with a continuously
327
344
updated machine running macOS. See the section on [ Apple Xcode] ( #apple-xcode )
328
345
on some strategies to deal with this.
329
346
330
- It is recommended that you use at least macOS 13 (Ventura) and Xcode 14 , but
347
+ It is recommended that you use at least macOS 14 and Xcode 15.4 , but
331
348
earlier versions may also work.
332
349
333
350
The standard macOS environment contains the basic tooling needed to build, but
@@ -393,7 +410,7 @@ issues.
393
410
| Operating system | Toolchain version |
394
411
| ------------------ | -------------------------------------------- |
395
412
| Linux | gcc 14.2.0 |
396
- | macOS | Apple Xcode 14.3.1 (using clang 14 .0.3) |
413
+ | macOS | Apple Xcode 15.4 (using clang 15 .0.0) |
397
414
| Windows | Microsoft Visual Studio 2022 version 17.13.2 |
398
415
399
416
All compilers are expected to be able to handle the C11 language standard for
0 commit comments