Re: Пакет pocketpc-gcc и программирование под WinCE
On 2006.12.29 at 19:00:40 +0300, Pechnikov Alexey wrote:
> В сообщении от Пятница 29 декабря 2006 18:36 Victor Wagner написал(a):
> > Честно сказать, не понимаю, зачем для кросс-компиляции "множество
> > скриптов". Я, конечно, в Windows CE не специалист, может там экзешники
> > какие хитрые, которые должны быть заархисированные, с подписью и прочей
> > фигней.
>
> Множество скриптов было, когда мы прикручивали gd, libjpeg, libpng и прочее
> для КПК, как-то все получалось через одно место, с патчами исходников и т.п.
Вот для такой цели я делаю кросс-пакеты. То есть -dev пакет, который
ставится на хост-систему, который ставит библиотеки (*.a) в
/usr/<architecture>/lib, инклюды в /usr/<architecture>/include
а dll-ки - куда-нибудь в /usr/share складывает, чтобы можно было
дистрибутив собранной софтины формировать.
При этом все патчи либо уходят в .diff.gz, либо менеджатся dpatch-ем,
а нетривиальная логика - в debian/rules.
Если надо что-нибудь изменить, то apt-get source и вперед.
Всё что надо не забыть про этот пакет, пишется в README.Debian
Опубликован из таких пакетов у меня пока только mingw-zlib
(идея делать кросс-пакеты потырена из Cygwin, для которого сборка
mingw, то есть с native win32 runtime - тоже, фактически, кросс-сборка)
Надо бы еще mingw-pdcurses, djgpp-pdcurses, djgpp-watt32 и
djgpp-libtcl8.5 опубликовать. В mingw-libtcl8.4 необходимости не вижу.
Проще скопировать из дистрибутива ActiveState tcl84.lib и tk84.lib,
переименовав их в libtcl8.4.a и libtk8.4.a соответственно.
А tcl.h можно и из хост-системы брать.
> и хотя все компилирую под последний, тестить приходится на обеих версиях в
> эмуляторе под виндой. А вы как тестируете разрабатываемый софт под виндоус?
Ну слава богу, с эмуляторами десктопных Windows проблем нет. Есть vmware,
есть qemu. Основой test farm у нас сейчас служит vmware GSX сервер. Там
крутится чуть ли не десяток разных дистрибутивов linux, в том числе
woody и etch (sarge пока в эмуляторе не нуждается - можно поюзать в
качестве тестовой машинки любую из рабочих станций разработчиков),
три FreeBSD (4-CURRENT, 5-CURRENT и 6-CURRENT), три Solaris x86 (8,9,10)
и потребное количество виндей. На винды для автоматизированных тестов
ставится cygwin-овский sshd. Ну и скрипт-диспетчер, который ходит по
всем этим машинам и запускает скриптик, который тащит либо исходники из
CVS, либо собранные бинарники со сборочной машины (если эта платформа,
под которую ведется кросс-сборка), и запускает автоматизированные тесты.
Основная работа диспетчера - следить чтобы число активно используемых
виртуальных машин не превышало возможности железяки, на которой это всё
крутится. А то производительность просаживается очень сильно и за ночь
оно не успевает протестироваться. Поэтому диспетчер ещё и саспендить
виртуальные машины обучен.
Кстати, основой среды разработки для Maemo служит qemu. Возможно стоит
попробовать его попатчить на предмет эмуляции wince-наладонника. Если он
Nokia 770 умеет эмулировать, то может быть можно и более другой
ARM-based наладонник сэмулировать.
Я вот жду не дождусь, когда qemu научится при эмуляции Sparc солярис
грузить. Хотя бы только на спарковском хосте. А то у нас Solaris x86
тестируется в трех вариантах, а Solaris/Sparc - только десятка.
Reply to: