doc/building.md
changeset 51237 ea900a7dc7d7
parent 50885 7c728fa9d1af
child 51515 fa378e035b81
equal deleted inserted replaced
51236:a90d8198d7e4 51237:ea900a7dc7d7
   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