[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: