Spec-Zone.ru › Crystal

Поддержка платформ в Crystal

Компилятор Crystal работает на множестве платформ и компилирует программы для них, однако поддержка разных платформ неодинакова. Уровни поддержки Crystal разделены на три категории, каждая из которых предусматривает свой набор гарантий.

Платформы обозначаются «тройкой целевой платформы» — строкой, которая сообщает компилятору, какой тип выходного файла следует создать. Столбцы ниже показывают, работает ли соответствующий компонент на указанной платформе.


Уровень 1

Платформы уровня 1 можно считать «гарантированно работающими». В частности, каждая из них отвечает следующим требованиям:

  • Для платформы выпускаются официальные бинарные версии.
  • Настроено автоматическое тестирование платформы.
  • Доступна документация по использованию платформы и сборке для неё.
Целевая платформа Компилятор Стандартная библиотека Описание
x86_64-darwin ✓ ✓ 64-разрядная OSX (10.7+, Lion+)
x86_64-linux-gnu ✓ ✓ 64-разрядный Linux (2.6.18+)

Уровень 2

Платформы уровня 2 можно считать «ожидаемо собирающимися». Автоматические тесты для них не запускаются, поэтому работоспособность сборки не гарантируется. Однако такие платформы часто работают достаточно хорошо, и мы всегда рады патчам!

Целевая платформа Компилятор Стандартная библиотека Описание
aarch64-darwin ✓ ✓ 64-разрядная ARM OSX (Apple Silicon)
aarch64-linux-gnu ✓ ✓ 64-разрядный Linux ARM (GNU, hardfloat)
aarch64-linux-musl ✓ ✓ 64-разрядный Linux ARM (MUSL, hardfloat)
arm-linux-gnueabihf ✓ ✓ 32-разрядный Linux ARM (GNU, hardfloat)
i386-linux-gnu ✓ ✓ 32-разрядный Linux (2.6.18+)
i386-linux-musl ✓ ✓ 32-разрядный Linux (MUSL)
x86_64-linux-musl ✓ ✓ 64-разрядный Linux (MUSL)
x86_64-openbsd ✓ ✓ 64-разрядный OpenBSD (6.x)
x86_64-freebsd ✓ ✓ 64-разрядный FreeBSD (11.x)

Уровень 3

Платформы уровня 3 — это платформы, которые в той или иной степени поддерживаются кодовой базой Crystal, но для которых автоматическая сборка и тестирование не выполняются, поэтому они могут не работать. Официальные сборки недоступны.

Целевая платформа Компилятор Стандартная библиотека Описание
x86_64-windows-msvc 64-разрядный MSVC (Windows 7+)
x86_64-unknown-dragonfly 64-разрядный DragonFlyBSD
x86_64-unknown-netbsd 64-разрядный NetBSD

Примечание: большое спасибо команде Rust за подготовку такого ясного документа о поддержке платформ в Rust. Он оказался настолько близок к тому, что нам было нужно для Crystal, что мы фактически скопировали многие его фрагменты. См. https://forge.rust-lang.org/platform-support.html.

To the extent possible under law, the persons who contributed to this workhave waived
all copyright and related or neighboring rights to this workby associating CC0 with it.
https://crystal-lang.org/reference/1.2/platform_support.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API