Skip to content

Commit

Permalink
Merge branch 'master' into templated-strings
Browse files Browse the repository at this point in the history
  • Loading branch information
JimLaskey committed Dec 2, 2022
2 parents 5aa742f + e846b04 commit d7a6850
Show file tree
Hide file tree
Showing 1,503 changed files with 49,360 additions and 36,963 deletions.
9 changes: 9 additions & 0 deletions bin/jib.sh
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,15 @@ install_jib() {
exit 1
fi
fi
# Want to check the filetype using file, to see if we got served a HTML error page.
# This is sensitive to the filename containing a specific string, but good enough.
file ${installed_jib_script}.gz | grep "gzip compressed data" > /dev/null
if [ $? -ne 0 ]; then
echo "Warning: ${installed_jib_script}.gz is not a gzip file."
echo "If you are behind a proxy you may need to configure exceptions using no_proxy."
echo "The download URL was: ${jib_url}"
exit 1
fi
echo "Extracting JIB bootstrap script"
rm -f "${installed_jib_script}"
gunzip "${installed_jib_script}.gz"
Expand Down
2,241 changes: 1,709 additions & 532 deletions doc/building.html

Large diffs are not rendered by default.

59 changes: 25 additions & 34 deletions doc/building.md
Original file line number Diff line number Diff line change
Expand Up @@ -316,12 +316,12 @@ ongoing efforts to loosen this strict coupling between compiler and operating
system (see [JDK-8288293](https://bugs.openjdk.org/browse/JDK-8288293)) but it
will likely be a very long time before this goal can be realized.

Operating system Supported toolchain
------------------ -------------------------
Linux gcc, clang
macOS Apple Xcode (using clang)
AIX IBM XL C/C++
Windows Microsoft Visual Studio
| Operating system | Supported toolchain |
| ------------------ | ------------------------- |
| Linux | gcc, clang |
| macOS | Apple Xcode (using clang) |
| AIX | IBM XL C/C++ |
| Windows | Microsoft Visual Studio |

Please see the individual sections on the toolchains for version
recommendations. As a reference, these versions of the toolchains are used, at
Expand All @@ -330,11 +330,11 @@ possible to compile the JDK with both older and newer versions, but the closer
you stay to this list, the more likely you are to compile successfully without
issues.

Operating system Toolchain version
------------------ -------------------------------------------------------
Linux gcc 11.2.0
macOS Apple Xcode 10.1 (using clang 10.0.0)
Windows Microsoft Visual Studio 2022 update 17.1.0
| Operating system | Toolchain version |
| ------------------ | ------------------------------------------ |
| Linux | gcc 11.2.0 |
| macOS | Apple Xcode 10.1 (using clang 10.0.0) |
| Windows | Microsoft Visual Studio 2022 update 17.1.0 |

All compilers are expected to be able to compile to the C99 language standard,
as some C99 features are used in the source code. Microsoft Visual Studio
Expand Down Expand Up @@ -362,20 +362,20 @@ To use clang instead of gcc on Linux, use `--with-toolchain-type=clang`.

The oldest supported version of Xcode is 8.

You will need the Xcode command lines developers tools to be able to build
the JDK. (Actually, *only* the command lines tools are needed, not the IDE.)
You will need the Xcode command line developer tools to be able to build
the JDK. (Actually, *only* the command line tools are needed, not the IDE.)
The simplest way to install these is to run:
```
xcode-select --install
```

It is advisable to keep an older version of Xcode for building the JDK when
updating Xcode. This [blog page](
http://iosdevelopertips.com/xcode/install-multiple-versions-of-xcode.html) has
good suggestions on managing multiple Xcode versions. To use a specific version
of Xcode, use `xcode-select -s` before running `configure`, or use
`--with-toolchain-path` to point to the version of Xcode to use, e.g.
`configure --with-toolchain-path=/Applications/Xcode8.app/Contents/Developer/usr/bin`
When updating Xcode, it is advisable to keep an older version for building the JDK.
To use a specific version of Xcode you have multiple options:

* Use `xcode-select -s` before running `configure`, e.g. `xcode-select -s /Applications/Xcode13.1.app`. The drawback is that the setting
is system wide and you may have to revert it after an OpenJDK build.
* Use configure option `--with-xcode-path`, e.g. `configure --with-xcode-path=/Applications/Xcode13.1.app`
This allows using a specific Xcode version for an OpenJDK build, independently of the active Xcode version by `xcode-select`.

If you have recently (inadvertently) updated your OS and/or Xcode version, and
the JDK can no longer be built, please see the section on [Problems with the
Expand Down Expand Up @@ -403,15 +403,6 @@ Please consult the AIX section of the [Supported Build Platforms](
https://wiki.openjdk.org/display/Build/Supported+Build+Platforms) OpenJDK
Build Wiki page for details about which versions of XLC are supported.

### Support for checking standards conforming code

The make system has a strict mode that enforces conforming code based on the
standard that is used by the build, which can be useful to ensure that native code
behaves strictly according to said standard. This option can by enabled by passing
`--enable-conforming-compilation` during configure, but is off by default.
If you just want to compile a working JDK it is not recommended that you set this
flag, as it is mainly meant to aid developers that are working with native code.


## Boot JDK Requirements

Expand Down Expand Up @@ -1342,12 +1333,12 @@ it.
To use, setup an icecc network, and install icecc on the build machine. Then
run `configure` using `--enable-icecc`.
### Using sjavac
### Using the javac server
To speed up compilation of Java code, especially during incremental compilations,
the sjavac server is automatically enabled in the configuration step by default.
To explicitly enable or disable sjavac, use either `--enable-javac-server`
or `--disable-javac-server`.
To speed up compilation of Java code, especially during incremental
compilations, the javac server is automatically enabled in the configuration
step by default. To explicitly enable or disable the javac server, use either
`--enable-javac-server` or `--disable-javac-server`.
### Building the Right Target
Expand Down
Loading

0 comments on commit d7a6850

Please sign in to comment.