JEP 362: Deprecate the Solaris and SPARC Ports

OwnerMikael Vidstedt
TypeFeature
ScopeImplementation
StatusTargeted
Release14
Discussionjdk dash dev at openjdk dot java dot net
EffortS
DurationS
Reviewed byBrian Goetz, Mark Reinhold, Stuart Marks, Vladimir Kozlov
Endorsed byMark Reinhold
Created2019/09/26 20:05
Updated2019/12/11 00:00
Issue8231554

Summary

Deprecate the Solaris/SPARC, Solaris/x64, and Linux/SPARC ports, with the intent to remove them in a future release.

Goals

Non-Goals

It is not a goal of this JEP to change the status of the affected ports in any prior release. The earliest release to which this JEP could be targeted is JDK 14.

Motivation

Dropping support for these ports will enable contributors in the OpenJDK Community to accelerate the development of new features that will move the platform forward.

Description

Build-configuration changes

An attempt to configure a Solaris and/or SPARC build will produce the following output:

$ bash ./configure
...
checking compilation type... native
configure: error: The Solaris and SPARC ports are deprecated and may be removed in a future release. \
Use --enable-deprecated-ports=yes to suppress this error.
configure exiting with result code 1
$

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

$ bash ./configure --enable-deprecated-ports=yes
...
checking compilation type... native
configure: WARNING: The Solaris and SPARC ports are 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 Solaris and SPARC ports are deprecated and may be removed in a future release.
$

The error/warning will be issued when configuring a build for Solaris and SPARC (including Solaris/SPARC, Solaris/x64, Linux/SPARC).

Solaris-specific features deprecated for removal

Alternatives

Just as with JEP 291 (Deprecate the CMS Garbage Collector) and JEP 335 (Deprecate the Nashorn JavaScript Engine), an alternative is for a set of credible developers to express a clear desire to maintain these ports 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 ports are removed, then a follow-on JEP can revert the deprecation.