JEP 541: Deprecate the macOS/x64 Port for Removal
Перевод порта macOS/x64 в статус Deprecated for Removal (устаревший, будет удалён)
| Ответственный | Mikael Vidstedt |
| Тип | Feature |
| Область | Implementation |
| Статус | Completed |
| Выпуск | 28 |
| Обсуждение | hotspot dash dev at openjdk dot org |
| Трудоёмкость | S |
| Длительность | S |
| Рецензенты | Erik Joelsson |
| Одобрен | Mark Reinhold |
| Создан | 2026/06/05 22:47 |
| Обновлён | 2026/09/09 19:46 |
| Задача | 8386091 |
Аннотация
Объявить порт macOS/x64 устаревшим с намерением удалить его в одном из будущих выпусков, чтобы снизить затраты на сопровождение.
Мотивация
Apple перевела свои аппаратные продукты на процессорную архитектуру AArch64 и постепенно прекращает поддержку x64. Поэтому начиная с JDK 27 инженеры Oracle перестанут сопровождать порт macOS/x64. Сопровождение этого порта требует значительных усилий.
Описание
Попытка сконфигурировать сборку для macOS/x64 выдаст:
$ 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
$
Новый параметр конфигурации сборки --enable-deprecated-ports подавит ошибку, и конфигурирование продолжится:
$ 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.
$
Не будет никакой гарантии, что порт соберётся, не говоря уже о том, что он будет работать.
Чтобы не блокировать основную разработку, macOS/x64 по умолчанию будет отключён в GitHub Actions репозитория JDK.
Кроме того, в соответствующей документации JDK порт macOS/x64 и связанные с ним возможности, специфичные для этого порта, будут отмечены как находящиеся в статусе Deprecated for Removal.
Альтернативы
Как и в случае с ранее объявленными устаревшими портами, альтернатива такова: группа заслуживающих доверия разработчиков может явно заявить о желании сопровождать порт в дальнейшем. Если это произойдёт до перехода этого JEP в статус Integrated (интегрирован), этот JEP может быть отозван. Если это произойдёт после перехода этого JEP в статус Integrated, но до удаления порта, последующий JEP может отменить перевод порта в устаревшие.