Разработка под Symbian: SDK

в 0:00, , рубрики: c++, open source, метки: , ,

Речь пойдет о платформе Series 60, позже переименованной в S^1.

Это обзорная статья, если немного сумбурная — извините. Только-только исправил все ошибки в postinker elf2e32, её описание и ссылка на гитхаб — в конце статьи :)
image
Система сборки существует в четырех лицах: abld, raptor с рудиментами от всех остальных, hellium и какая-то ещё… Краткое описание:

  1. Raptor написан на питоне с кусками от abld build system, для работы требуется bash
  2. abld build system написана на Perl
  3. Helium написана на perl, java и python
  4. видел название в истории коммитов, не разбирался

Первые две требуют для работы допотопный Activestate Perl 5.6.1, Strawberry Perl той же версии не заводится. Старые версии Activestste Perl к сожалению можно скачать только за денюжку. Существуют патчи, исправляющие совместимость с новыми версиями перла, но возможны глюки. Минуса у второй системы — тормознутость при генерации makefile на проекте с большим количеством файлов (на ffmpeg уходило свыше 10 минут!), configure работает несравнимо быстрее.

Глючность elf2e32 расла с каждой версией. В symbian 9.4 sdk питон уже не собирался. Решил исправить и взял из загашника на харде исходники. К сожалению старой версии, а может и к счастью…

Как выяснил позже, есть отдельные меркуриал репозитории содержащие elf2e32 под линукс, винду и еще здесь — разтроение личности, однако. И все разных версий… В итоге вроде починил и даже hello word печатает.

Симбиан интересная ось, жаль забросила ее нокиа. Я хочу портировать её на Rasberry pi. Почему на нее — это единственная плата с официальной документацией и открытыми драйвкрами на гпу. Симбиан конечно может и софтовым рендерингом обходиться, но все же… Открытые драйвера, документация на плату, модули расширения — тач дисплей, акб, gsm модуль — выглядит вкусно :-)

С чего начинать порт симбы на малину? С SDK! Эмулятор (точнее симулятор) пока не нужен, заголовочные файлы возьмем здесь, elf2e32 готов, gcc собирается скриптом, библиотеки импорта сгенерирует elf2e32, скрипты сборки будут написаны на питоне (или возьму готовое решение), тем более и конвертер rtf->xml также на питоне написан, прочие утилиты надо портировать (надеюсь там не так плохо как с elf2e32).

Скриптов на перле в SDK и левых утилит — аж на 100 мегабайт. Хотя достаточно elf2e32, rcomp & help compiler, препроцессор bld.inf и .mmp конвертор для сборки проекта минуя make.exe.
Help файлы написаные в ворде и сохраняемые в rtf для дальнейшей конвертации в xml. Почему не использовать HTML или Markdown?
Достаточно шести скриптов на питоне.

Для гуи доступны аж 3 подсистемы и ни какой удобной обертки над ними. В pyS60 интересно начали и за 6 лет так и не добавили работу copy-paste и скроллбары, да много чего не добавили. Проще сказать что есть!

Обещал — выполняю :)
Elf2e32 преобразует входной elf в родной для ОС бинарный файл, exe или dll. Смотреть — здесь

Автор: авторитет

Источник

* - обязательные к заполнению поля