JEP 541: Deprecate the macOS/x64 Port for Removal

OwnerMikael Vidstedt
TypeFeature
ScopeImplementation
StatusCandidate
Discussionhotspot dash dev at openjdk dot org
EffortS
DurationS
Reviewed byErik Joelsson
Created2026/06/05 22:47
Updated2026/07/30 13:50
Issue8386091

Summary

Deprecate the macOS/x64 port, with the intent to remove it in a future release, in order to reduce maintenance costs.

Motivation

Apple has transitioned its hardware products to the AArch64 processor architecture and is phasing out support for x64. Oracle engineers will thus stop maintaining the macOS/x64 port as of JDK 27. Maintaining the port is a significant burden.

Description

An attempt to configure a macOS/x64 build will produce:

$ bash ./configure
...
checking compilation type... native
configure: error: The macOS/x64 port is deprecated and may be removed in a future release. Use --enable-deprecated-ports to suppress this error.
configure exiting with result code 1
$

The new build-configuration option --enable-deprecated-ports will suppress the error and continue:

$ bash ./configure --enable-deprecated-ports
...
checking compilation type... native
configure: WARNING: The macOS/x64 port is deprecated and may be removed in a future release.
...
Build performance summary:
* Cores to use:   32
* Memory limit:   96601 MB

The following warnings were produced. Repeated here for convenience:
WARNING: The macOS/x64 port is deprecated and may be removed in a future release.
$

There will be no guarantee that the port will build, much less function.

In order not to block mainline development, macOS/x64 will be disabled by default in the JDK repository’s GitHub actions.

Additionally, the macOS/x64 port, and related port-specific features, will be noted as being deprecated for removal in the relevant JDK documentation.

Alternatives

As with earlier port deprecations, an alternative is for a set of credible developers to express a clear desire to maintain the port going forward. If that happens before this JEP is integrated then this JEP can be withdrawn. If that happens after this JEP is integrated, but before the port is removed, then a follow-on JEP can revert the deprecation.