Tag Archives: Mimbolovemac os
Решил, что пора бы добавить поддержку макоси тоже. Всё портирование свелось к нескольким простым вещам:
- Собрать libtermkey. Под мак mono почему-то исключительно 32-битный, поэтому нужно следить за разрядностью выходного dylib-модуля. По сути достаточно в майкфайл добавить CCFLAGS += -arch i386 -arch x86_64 (я собирал fat binary) и выполнить make. Если не указать i386, скорее всего будет собран 64-разрядный модуль, и моно не сможет его загрузить для интеропа, будет сбивающий с толку DllNotFoundException (на самом деле dll found, но просто не может быть загружена).
- Найти libncurses и сделать для него symlink. Сам пакет может быть установлен при помощи MacPorts. У меня он автоматически поставился при установке midnight commander (через MacPorts)
- Убрать eventfd в качестве объекта-источника poll-сигналов. Заменил на self-pipe.
- Корректно проставить symlinks к оставшимся библиотекам (libc.so). Или прописать dllmap в App.config-файле – моно умеет оттуда распарсивать пути к библиотекам.
Всё в принципе работоспособно, но, к сожалению, качество эмуляторов терминала под Mac оставляет желать лучшего..
0