231 these updates with required updates of Xcode. Unfortunately, this makes it |
231 these updates with required updates of Xcode. Unfortunately, this makes it |
232 difficult for a project such as the JDK to keep pace with a continuously updated |
232 difficult for a project such as the JDK to keep pace with a continuously updated |
233 machine running macOS. See the section on [Apple Xcode](#apple-xcode) on some |
233 machine running macOS. See the section on [Apple Xcode](#apple-xcode) on some |
234 strategies to deal with this. |
234 strategies to deal with this. |
235 |
235 |
236 It is recommended that you use at least Mac OS X 10.9 (Mavericks). At the time |
236 It is recommended that you use at least Mac OS X 10.13 (High Sierra). At the time |
237 of writing, the JDK has been successfully compiled on macOS versions up to |
237 of writing, the JDK has been successfully compiled on macOS 10.12 (Sierra). |
238 10.12.5 (Sierra), using XCode 8.3.2 and `--disable-warnings-as-errors`. |
|
239 |
238 |
240 The standard macOS environment contains the basic tooling needed to build, but |
239 The standard macOS environment contains the basic tooling needed to build, but |
241 for external libraries a package manager is recommended. The JDK uses |
240 for external libraries a package manager is recommended. The JDK uses |
242 [homebrew](https://brew.sh/) in the examples, but feel free to use whatever |
241 [homebrew](https://brew.sh/) in the examples, but feel free to use whatever |
243 manager you want (or none). |
242 manager you want (or none). |
290 issues. |
289 issues. |
291 |
290 |
292 Operating system Toolchain version |
291 Operating system Toolchain version |
293 ------------------ ------------------------------------------------------- |
292 ------------------ ------------------------------------------------------- |
294 Linux gcc 7.3.0 |
293 Linux gcc 7.3.0 |
295 macOS Apple Xcode 6.3 (using clang 6.1.0) |
294 macOS Apple Xcode 9.4 (using clang 9.1.0) |
296 Solaris Oracle Solaris Studio 12.4 (with compiler version 5.13) |
295 Solaris Oracle Solaris Studio 12.4 (with compiler version 5.13) |
297 Windows Microsoft Visual Studio 2013 update 4 |
296 Windows Microsoft Visual Studio 2017 update 15.5.5 |
298 |
297 |
299 ### gcc |
298 ### gcc |
300 |
299 |
301 The minimum accepted version of gcc is 4.8. Older versions will generate a warning |
300 The minimum accepted version of gcc is 4.8. Older versions will generate a warning |
302 by `configure` and are unlikely to work. |
301 by `configure` and are unlikely to work. |
313 |
312 |
314 To use clang instead of gcc on Linux, use `--with-toolchain-type=clang`. |
313 To use clang instead of gcc on Linux, use `--with-toolchain-type=clang`. |
315 |
314 |
316 ### Apple Xcode |
315 ### Apple Xcode |
317 |
316 |
318 The oldest supported version of Xcode is 5. |
317 The oldest supported version of Xcode is 8. |
319 |
318 |
320 You will need the Xcode command lines developers tools to be able to build |
319 You will need the Xcode command lines developers tools to be able to build |
321 the JDK. (Actually, *only* the command lines tools are needed, not the IDE.) |
320 the JDK. (Actually, *only* the command lines tools are needed, not the IDE.) |
322 The simplest way to install these is to run: |
321 The simplest way to install these is to run: |
323 ``` |
322 ``` |
328 updating Xcode. This [blog page]( |
327 updating Xcode. This [blog page]( |
329 http://iosdevelopertips.com/xcode/install-multiple-versions-of-xcode.html) has |
328 http://iosdevelopertips.com/xcode/install-multiple-versions-of-xcode.html) has |
330 good suggestions on managing multiple Xcode versions. To use a specific version |
329 good suggestions on managing multiple Xcode versions. To use a specific version |
331 of Xcode, use `xcode-select -s` before running `configure`, or use |
330 of Xcode, use `xcode-select -s` before running `configure`, or use |
332 `--with-toolchain-path` to point to the version of Xcode to use, e.g. |
331 `--with-toolchain-path` to point to the version of Xcode to use, e.g. |
333 `configure --with-toolchain-path=/Applications/Xcode5.app/Contents/Developer/usr/bin` |
332 `configure --with-toolchain-path=/Applications/Xcode8.app/Contents/Developer/usr/bin` |
334 |
333 |
335 If you have recently (inadvertently) updated your OS and/or Xcode version, and |
334 If you have recently (inadvertently) updated your OS and/or Xcode version, and |
336 the JDK can no longer be built, please see the section on [Problems with the |
335 the JDK can no longer be built, please see the section on [Problems with the |
337 Build Environment](#problems-with-the-build-environment), and [Getting |
336 Build Environment](#problems-with-the-build-environment), and [Getting |
338 Help](#getting-help) to find out if there are any recent, non-merged patches |
337 Help](#getting-help) to find out if there are any recent, non-merged patches |
370 |
369 |
371 ### Microsoft Visual Studio |
370 ### Microsoft Visual Studio |
372 |
371 |
373 The minimum accepted version of Visual Studio is 2010. Older versions will not |
372 The minimum accepted version of Visual Studio is 2010. Older versions will not |
374 be accepted by `configure`. The maximum accepted version of Visual Studio is |
373 be accepted by `configure`. The maximum accepted version of Visual Studio is |
375 2013. |
374 2017. Versions older than 2017 are unlikely to continue working for long. |
376 |
375 |
377 If you have multiple versions of Visual Studio installed, `configure` will by |
376 If you have multiple versions of Visual Studio installed, `configure` will by |
378 default pick the latest. You can request a specific version to be used by |
377 default pick the latest. You can request a specific version to be used by |
379 setting `--with-toolchain-version`, e.g. `--with-toolchain-version=2010`. |
378 setting `--with-toolchain-version`, e.g. `--with-toolchain-version=2015`. |
380 |
379 |
381 If you get `LINK: fatal error LNK1123: failure during conversion to COFF: file |
380 If you get `LINK: fatal error LNK1123: failure during conversion to COFF: file |
382 invalid` when building using Visual Studio 2010, you have encountered |
381 invalid` when building using Visual Studio 2010, you have encountered |
383 [KB2757355](http://support.microsoft.com/kb/2757355), a bug triggered by a |
382 [KB2757355](http://support.microsoft.com/kb/2757355), a bug triggered by a |
384 specific installation order. However, the solution suggested by the KB article |
383 specific installation order. However, the solution suggested by the KB article |