Информационные технологииStfw.Ru 🔍
🕛

Аналог Wine Mac OS X

В рамках проекта Darling началось развитие системы для обеспечения запуска в Linux немодифицированных исполняемых файлов, собранных для Mac OS X. Проектом также намечено развитие инструменто
В рамках проекта Darling началось развитие системы для обеспечения запуска в Linux немодифицированных исполняемых файлов, собранных для Mac OS X. Проектом также намечено развитие инструментов для установки в Linux пакетов программ, оформленных для Mac OS X. Созданные наработки распространяются под свободной лицензией GPLv3.



Несмотря на то, что проект находится на начальной стадии развития и носит в основном академический характер (дипломная работа студента), он уже позволяет выполнять некоторые консольные приложения, собранные для Mac OS X. Например, протестирован запуск gcc-4.2, otool, nm, clang и других утилит. Поддерживается запуск как 32- так и 64-разрядных исполняемых файлов в формате Mach-O. У создателя проекта в настоящее время нет цели по обеспечению запуска любых программ, его область интересов пока ограничена только обеспечением выполнения инструментов, используемых для разработки приложений.

В настоящее время проект завязан на многих особенностях Linux, но не исключается его дальнейшее портирование для BSD-систем. Пока поддерживается запуск приложений для Mac OS X. Для поддержки запуска мобильных приложений, собранных для iOS, требуются дополнительные усилия по задействованию некоторых специфичных для iOS фреймворков и портированию ассемблерного кода для архитектуры ARM.

Организация выполнения программ в целом напоминает подход проекта Wine - производится разбор исполняемого файла, его загрузка в память и передача выполнения. Для работы приложений предоставляется совместимая на уровне ABI прослойка из библиотек, используемых в Mac OS X. Часть функций подобных библиотек реализуется путем прямого маппинга или трансляции через враппер в аналогичные функции, доступные в Linux. Для некоторых функций приходится создавать отдельные реализации, работающие поверх других нативных API.


В частности, в Darling задействованы наработки проекта GNUstep, в рамках которого развивается открытая реализация лежащего в основе Mac OS X и iOS программного интерфейса Cocoa, включая AppKit, базовые и runtime-библиотеки Objective-C, наборы виджетов и сопутствующие приложения. Кроме того, в Darling используются доступные открытые библиотеки и фреймворки, позволяющие обеспечить бинарную совместимость с Darwin и Mac OS X (например, системная библиотека libSystem, развиваемая проектом Darwin), а также заголовочные файлы с сайта Apple.

Также по теме:
Каталог лучших, бесплатных программ.