<chapter id="adv-build-management">
<title>Ehitamise haldamisest põhjalikumalt</title>
<indexterm zone="adv-build-management"><primary>&automake;</primary></indexterm>

<sect1 id="buildconfigurations">
<title>Mitu ehitamisseadistust</title>
<indexterm zone="buildconfigurations"><primary>ehitamisseadistused</primary><secondary>mitu</secondary></indexterm>

<para>(... veel kirjutamata ...) </para>

</sect1> <!-- buildconfigurations -->

<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->

<sect1 id="crosscompiling">
<title>Krosskompileerimine</title>
<indexterm zone="crosscompiling"><primary>krosskompileerimine</primary></indexterm>
<indexterm zone="crosscompiling"><primary>kompileerimine</primary><secondary>kross-</secondary></indexterm>
<indexterm zone="crosscompiling"><primary><option>--host</option></primary></indexterm>

<para>Kui sinu käsutuses on sobivad krosskompilaatorid, saad oma programme kompileerida ka protsessoritele ja operatsioonisüsteemidle, mis erinevad süsteemist, kus töötavad sinu &tdevelop; ja kompilaator. &GNU; kompilaatori &gcc; võib seadistada ja kompileerida krosskompilaatorina, aga seda pead sa ise tegema. Täpsemat infot annavad <ulink url="info://gcc/Cross-Compiler">GCC info-leheküljed</ulink>. Mõned &Linux; distributsioonid pakuvad küll ka binaarpakette. </para>

<para>Pakette, mille aluseks on <application>automake</application>, saab hõlpsasti krosskompileerida konfigureerimisskripti võtmega <option>--host</option> ning krosskompilaatori binaarfailidele keskkonnamuutujaid <envar>CC</envar> ja <envar>CXX</envar> määrates. Mõnigi kord võib tekkida vajadus lülituda oma rakenduse krosskompileeritud ning enda süsteemi jaoks ehitatud versioonide vahel. Selleks saab ära kasutada &tdevelop;i mitme ehitusseadistuse võimalust, mida selgitab <xref linkend="buildconfigurations"/>. Kui oled loonud uue ehitusseadistuse krosskompileerimiseks dialoogis <menuchoice><guimenu>Projekt</guimenu><guimenuitem>Projekti seadistused</guimenuitem></menuchoice>, lisa võti </para>

<screen><option>--host=</option><replaceable>platvorm</replaceable></screen>

<para>konfiguratsioonivõtmete sekka. <replaceable>platvorm</replaceable> on siinkohal korteež kujul </para>

<programlisting>cpu-valmistaja-os</programlisting>
<para>või</para>
<programlisting>cpu-valmistaja-kernel-os</programlisting>

<para>Väga sageli võib kasutada ka lühivormi, näiteks <wordasword>i386-linux</wordasword> või <wordasword>arm-elf</wordasword>. </para>

</sect1> <!-- crosscompiling -->

<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->

<sect1 id="qtembedded">
<title>Qt/Embedded</title>
<indexterm zone="qtembedded"><primary>põimitud</primary><secondary>Qt</secondary></indexterm>
<indexterm zone="qtembedded"><primary>Qt/Embedded</primary></indexterm>
<indexterm zone="qtembedded"><primary>Qtopia</primary></indexterm>
<indexterm zone="qtembedded"><primary>kaadripuhver</primary></indexterm>

<para>&qte; on &Qt; teegi versioon, mis ei kasuta X Window süsteemi, vaid kirjutab &Linux; süsteemides otse kaadripuhvrisse. Seepärast on see kasulik manussüsteemides, kus valitsevad üsna suured piirangud süsteemi mälukasutusele. Selle &API; ühildub täielikult X11 versiooniga. </para>

<para>Rakenduse loomine &qte; tarbeks &tdevelop;iga ei erine eriliselt programmi loomisest &Qt; X11 versiooni jaoks. Kood on õigupoolest mõlemal juhul üks ja sama. Kui kasutad automaatset projektihaldust, saad lülituda manusversioonile konfiguratsiooniskriptile võtit <option>--enable-embedded</option> lisades. Selle saab määrata dialoogi <menuchoice><guimenu>Projekt</guimenu><guimenuitem>Projekti seadistused</guimenuitem></menuchoice> kaardil <guilabel>Konfigureerimise seadistused</guilabel>. Võtmega <option>--with-qt-dir=KATALOOG</option> saab määrata kataloogi, kuhu &qte; on paigaldatud. </para>

<para>Pärast rakenduse konfigureerimist ja kompileerimist nende võtmetega lingitakse see teegiga <filename>libqpe.so</filename>. See rakenduse versioon tavaliselt ei tööta X11 tingimustes. Selle testimiseks käivita see programmiga <application>tqvfb</application> (&Qt; virtuaalne kaadripuhver). Selleks käivita <application>tqvfb</application> ja seejärel oma rakendus käsuga </para>

<screen><command>rakendus <option>-qws</option> <option>-display QVFb:0</option></command></screen>

<para>Kui sul on rakenduse toimiv versioon, soovid seda mõistagi sihtprotsessoril kasutada. Selleks on ilmselt kõige mõistlikum luua mitu ehitamisseadistust, nagu eespool selgitatud, et saaksid kiiresti lülituda oma süsteemile ning sihtsüsteemile ehitatud versioonide vahel. </para>

<para>&qte; jaoks loodud rakendused töötavad tavaliselt üksikrakendusena seadmes, millele nad on mõeldud. Trolltech toetab ka Qtopiat ehk rakendustekogu personaalse info haldamiseks, veebi lehitsemiseks ja veel mitmeks asjaks, mis töötavad kooskõlastatult üheskoos. See on näiteks Sharp Zauruse standardkeskkond. Sa võid kirjutada Qtopia arenduskomplekti (SDK) abil rakendusi, mis sobituvad sellesse keskkonda. See tähendab sinu rakenduse klassi muutmist klassi <classname>QPEApplication</classname> alamklassiks ja linkimist teegiga <filename>libqpe.so</filename>. Kui töötad oma rakendust välja automaatse projektihalduse abil, tuleb konfigureerimisvõtmete sekka lisada <option>--enable-qtopia</option>. </para>

</sect1> <!-- qtembedded -->

</chapter> <!-- adv-build-management -->
