i  В рамках проекта 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.
Карта сайта: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34