# &tdevelop;i paigaldamine

Käesolevas peatükis räägime sammudest, mida on vaja ette võtta &tdevelop;i IDE kompileerimiseks ja paigaldamiseks:

- &tdevelop;i hankimine kõneleb peamiselt &tdevelop;i uusima lähtekoodi allalaadimisest SVN-ist.

- &tdevelop;i nõuded toob ära programmid ja teegid, mida on paigaldada IDE edukaks kompileerimiseks.

- &tdevelop;i kompileerimine ja paigaldamine käib samm-sammult läbi kogu rakenduse kompileerimise ja paigaldamise protsessi.

- &tdevelop;i &API; dokumentatsiooni hankimine selgitab, mis on API ja kuidas hankida see väga kasulik töövahend &tdevelop;i lähtekoodifailides liikumiseks.

## &tdevelop;i hankimine

&tdevelop; on binaarpaketina saadaval paljudes &Linux; distributsioonides (näiteks SuSE, RedHat ja nii edasi). Binaarpaketid on mõnes käepärases vormingus, näiteks RPM, mis muudab nende paigaldamise üsna lihtsaks. Järgida tuleb lihtsalt distributsiooni tarkvara paigaldamise üldisi reegleid.

&tdevelop;i lähtekoodi võib aga hankida, kompileerida ja paigaldada ka ise. Lähtekoodi leiab projekti koduleheküljelt http://www.kdevelop.org või &kde; FTP-saidilt.

### &tdevelop;i igapäevaste hetkeversioonide hankimine SVN-ist

Kui soovid käia ühte jalga arenduse hetkeseisuga, võid kasutada SVN-i hoidla hetkeversioone (snapshot).

Mooduli nimi on tdevelop ja selle asukoht `svn co svn://anonsvn.kde.org/home/kde/branches/KDE/3.5/tdevelop`.

#### Esialgne SVN-i väljavõte

&tdevelop;i esialgse versiooni hankimiseks tuleb see alla laadida anonüümse SVN-iga. Selleks väljavõtmise toiminguks talita järgmiselt.

Me eeldame, et sa tahad paigutada &tdevelop;i kataloogi `kde3src` oma kodukataloogis (`~`).

- # Vajaduse korral loo sihtkataloog:
- `~>` `mkdir kde3src`
- `~>` `cd kde3src`
- `~/kde3src>` `svn co svn://anonsvn.kde.org/home/kde/branches/KDE/3.5/tdevelop`
- `~/kde3src>` `cd tdevelop`

Kui oled &tdevelop;i edukalt hoidlast välja võtnud, võid selle alati värskena hoida uuendamist kasutades, mida tutvustame järgmises osas.

Ürita serverit mitte liigselt koormata. Palun ära tee väljavõtet iga kord, kui tahad hankida &tdevelop;i uusimat versiooni! Kasuta selle asemel SVN-i uuendamise võimalust.

Nüüd võid &tdevelop;i kompileerida nii, nagu seda selgitab osa &tdevelop;i kompileerimine ja paigaldamine.

#### SVN-i versiooni hoidmine värskena

Kui oled &tdevelop;i SVN-ist edukalt välja võtnud (ja kompileerinud), soovid arvatavasti seda värskena hoida, et näha, kuidas arendustegevus edasi kulgeb. Selleks järgi järgmisi samme (me eeldame taas, et &tdevelop; asub kataloogis `kde3src`).

Pane tähele käsu `up` (= update ehk uuendamine) kasutamist käsu `co` (mis tähendab checkout ehk väljavõte) asemel.

- `~>` `cd kde3src`
- `~/kde3src>` `cd tdevelop`
- `~/kde3src>` `svn up`

Jälgi uuendamise ajal SVN-i teateid. Sellest sõltuvad ka kompileerimise ajal vajalikud sammud.

Nüüd võid uue &tdevelop;i versiooni kompileerida nii, nagu seda õpetab tegema peatükk SVN-i kompileerimise iseärasused.

## &tdevelop;i nõuded

&tdevelop;i edukaks kompileerimiseks ja kasutamiseks on vajalikud järgmised programmid ja teegid. Enamikul platvormidel käivad need juba distributsiooniga kaasas ja peaks olema paigaldatud või vähemalt väga lihtsasti paigaldatavad.

## Nõutavad:

- gcc/g++ ≥ 2.95.3 (või ühilduv)

  Saadaval: gcc.gnu.org

- &GNU; make (või ühilduv)

  Saadaval: www.gnu.org/software/make

- &perl; 5.004 (või uuem)

  Saadaval: www.perl.com

- autoconf ≥ 2.52 (või uuem)

  Saadaval: www.gnu.org/software/autoconf

- automake ≥ 1.6 (või uuem)

  Saadaval: www.gnu.org/software/automake

- flex 2.5.4 (või uuem)

  Saadaval: www.gnu.org/software/flex

- &Qt; ≥ 3.3.0 (või uuem)

  Saadaval: www.trolltech.com/products/qt

- KDE ≥ 3.4.0 (või uuem)

  Saadaval: www.kde.org

## Lisavõimalused:

- Lähtekoodis liikumise tööriist ctags (saadaval: http://ctags.sourceforge.net), mis lubab kõigest paari klõpsuga redaktoris liikuda vajalikele deklaratsioonidele ja definitsioonidele.

- Graafikakeele kompilaator dot (saadaval: http:/www.graphviz.org). Seda läheb vaja allpool mainitud &doxygen;i jaoks, kui soovid esitada graafiliselt klasside seoseid (mis on väga soovitatav).

- Dokumentatsioonitööriist &doxygen; (saadaval: http://www.doxygen.org), millega saab oma projektist genereerida kokkuvõtliku ja võimsa API dokumentatsiooni.

- valgrind (saadaval: http://developer.kde.org/~sewardj/) aitab tuvastada rakenduses esinevaid mälukasutusprobleeme.

- svn (saadaval: http://subversion.tigris.org/), kui soovid kasutada versioonikontrollisüsteemi SVN.

- Mis tahes kompilaator ja/või tööriist, kui soovid arendada muus keeles või muu platvormi jaoks kui C++/&kde; või kui kasutad midagi spetsiaalset.

1. Teatud määral saab mööda minna nõudest &autoconf; ≥ 2.52 ja &automake; ≥ 1.6 järele. Eemalda lihtsalt oma &tdevelop;i paigalduskataloogist kataloog `admin` ja anna käsk

   - `(sinu-tdevelopi-kataloog)>` `ln -s $TDEDIR/share/apps/tdelibs/admin admin`

   See sunnib &tdevelop;i kasutama &kde; kataloogis `admin` määratud standardseadistusi.

2. Pane tähele, et sa ei segaks &Qt; versioone. Lingi &tdevelop; alati selle &Qt; versiooniga, millega on kompileeritud sinu &kde; teek. Vastasel juhul võid kohata mitmeid väga kummalisi ilminguid.

## &tdevelop;i kompileerimine ja paigaldamine

Kui kõik nõuded on rahuldatud, võid asuda &tdevelop;i kompileerimise ja paigaldamise kallale. Järgnevalt tutvustamegi selleks vajalikke samme.

- Eelnevad sammud räägib sobiva keskkonna loomisest.

- &tdevelop;i kompileerimine käsitleb &tdevelop;i lähtekoodi hankimist SVN-ist, selle ettevalmistamist paigaldamiseks ning esitab sammud, mida on vaja &tdevelop;i kompileerimiseks ja paigaldamiseks.

- Mõned märkused configure võtmete kohta vaatleb, kuidas panna tööle &tdevelop;, kui see on paigaldatud kuhugi mujale kui &kde; kataloogi.

### Eelnevad sammud

Enne kompileerimise kallale asumist tuleb kontrollida, et süsteemis on ikka olemas kõik vajalikud teegid ja tööriistad. Selleks tuleb korrektselt määrata mõned keskkonnamuutujad. Milliseid konkreetseid samme astuda, sõltub sellest, millist shelli sa kasutad.

Et mitte käsitsi kirjutada kogu aeg kõiki lauseid, mis loovad vajalikud keskkonnamuutujad, võiks need lisada faili `.bashrc` või `.cshrc`. Nii määratakse keskkonnamuutujatele sobiv väärtus alati, kui shelli käivitad.

#### Keskkonna loomine Bashi shellile

Kui kasutad Bashi shelli, lisa järgmised read:

- `export TDEDIR=`(sinu KDE paigalduse asukoht)
- `export TQTDIR=`(sinu Qt teegi asukoht)
- `export LD_LIBRARY_PATH=$TQTDIR/lib:$TDEDIR/lib:$LD_LIBRARY_PATH`
- `export LIBRARY_PATH=$TQTDIR/lib:$TDEDIR/lib:$LIBRARY_PATH`
- `export PATH=$TQTDIR/bin:$TDEDIR/bin:$PATH`

#### Keskkonna loomine Tcsh shellile

Kui kasutad Tcsh shelli, lisa järgmised read:

- `setenv TDEDIR` (sinu KDE paigalduse asukoht)
- `setenv TQTDIR` (sinu Qt teegi asukoht)
- `setenv LD_LIBRARY_PATH=$TQTDIR/lib:$TDEDIR/lib:$LD_LIBRARY_PATH`
- `setenv LIBRARY_PATH $TQTDIR/lib:$TDEDIR/lib:$LIBRARY_PATH`
- `setenv PATH $TQTDIR/bin:$TDEDIR/bin:$PATH`

### &tdevelop;i kompileerimine

Järgnevalt eeldame, et oled &tdevelop;i lähtekoodi paigutanud kataloogi `~/kde3src/tdevelop`.

#### SVN-i kompileerimise iseärasused

Kui kasutad &tdevelop;i hetkeversiooni SVN-ist, sõltuvad esimesed kompileerimissammud sellest, kas oled teinud täieliku väljavõtte või ainult lähtekoodi uuendanud.

Pärast SVN-i väljavõtet

- Pärast esimest väljavõtet tuleb initsialiseerida ehitussüsteem. Seda tuleb õieti teha alati, kui soovid kõike algusest peale alustada. Anna käsk:

  - `~/kde3src/tdevelop>` `make -f admin/Makefile.common svn-clean`

  ja seejärel kõik järgnevad sammud.

  Sul on vajalik ligipääs SVN-i hoidlasse puhastamiseks, kui seal tuleb taastada vigaseid või puuduvaid faile.

  Käsk `svn-clean` eemaldab kataloogist kõik failid, mida ei leidu SVN-is! Kontrolli eelnevalt, et oleksid teinud varukoopia mis tahes väärtuslikust infost.

Pärast SVN-i uuendamist

- Järgmine samm sõltub SVN-i uuendamisel nähtud teadetest. Kui näed midagi sellist (vasakpoolses veerus võib olla kas U või P, mis mõlemad annavad märku, et faili on muudetud):

      U /mingi_kataloogi_asukoht/Makefile.am

  või kui tegid täieliku väljavõtte, tuleb sul anda käsk:

  - `~/kde3src/tdevelop>` `make -f Makefile.svn`

  enne kui asud kõigi järgnevate sammude juurde.

#### Käsu `make` põhisammud

Kui ehitussüsteem on põhimõtteliselt paigas, tuleb otsustada, millist &tdevelop;i süsteemi sa soovid kasutada. Seda saab teha järgneva konfigureerimissammu käigus, millega luuakse tegelikud `Makefile`'id, mida käsk `make` kasutab.

Sa võid loobuda võtmest `--prefix` järgnevates `configure` näidetes, kui paigaldad &tdevelop;i &kde; vaikekataloogi. Täpsemalt räägib sellest osa Mõned märkused configure võtmete kohta.

Silumisega kompileeritud versioon

- Kui soovid hoida silma peal, mida &tdevelop;i rakendus teeb käitusajal, tuleks ehitada silumisega kompileeritud versioon. Selleks anna vastav käsklus käsule `configure`:

  - `~/kde3src/tdevelop>` `./configure --enable-debug=full --prefix=`(sinu-kde3-asukoht)

Väljalaskeks kompileeritud versioon

- Kui soovid kasutada &tdevelop;i nii nagu ta on (väiksem ja töötab kiiremini), piisab väljalaskeks mõeldud versioonist. Vaikimisi `configure` seda teebki.

  - `~/kde3src/tdevelop>` `./configure --prefix=`(sinu-kde3-asukoht)

  Kui soovid ehitada omaenda API dokumentatsiooni &tdevelop;ile, tuleb käsule `configure` anda veel üks võti:

  - `~/kde3src/tdevelop>` `./configure --`(võtmed-nagu-eespool) `\`
  - `--with-tdelibsdoxy-dir=$TDEDIR/share/doc/HTML/en/tdelibs-apidocs`

&tdevelop;i ehitamine ja paigaldamine

- Käsk `configure` kontrollib süsteemi ja ehitab vastavalt leitule mõned `Makefile`'id. Käsk `make` kasutab vaikimisi peamist `Makefile`'i. Sestap on piisav

  - `~/kde3src/tdevelop>` `make`

  Vajaduse korral võta endale administraatori (root) õigused käsuga

  - `~/kde3src/tdevelop>` `su`

  ja anna administraatori parool. Seejärel paigalda rakendus:

  - `~/kde3src/tdevelop>` `make install`

  Ja ongi kõik. Kui paigaldasid tdevelop;i &kde; vaikekataloogi, võid IDE kohe käivitada. Vastasel juhul on vajalikud mõned lisasammud, mida tutvustab osa Enda määratud paigalduskataloog.

  Õigupoolest paigaldatakse tavaliselt kolm &tdevelop;ile tuginevat rakendust:

  - &tdevelop;i IDE — koht, kus sa tavaliselt tööd teed.

  - Iseseisev &tdevelop;i abiline ehk dokumentatsioonisirvija — see koondab kogu &tdevelop;i IDE võimsa dokumentatsioonitööriista omaette rakendusse. See on kasuks, kui soovid lihtsalt uurida dokumentatsiooni, aga ei taha kogu IDE-t käivitada.

  - &tdevelop;i disainer — see täiustab &Qt; kasutajaliidese disainerit &kde; spetsiifiliste elementidega ning põimub kenasti &tdevelop;i IDE-ga.

### Mõned märkused `configure` võtmete kohta

#### Enda määratud paigalduskataloog

Vaikimisi valmistab `configure` ette IDE paigaldamise &kde; vaikekataloogi. See on vajalik selleks, et &tdevelop; eeldab otseligipääsu teatud tööriistadele ja komponentidele, mis asuvad just seal. Kui soovid kasutada enda määratud paigalduskataloogi, pead selle käsule `configure` teatavaks tegema võtmega `--prefix`:

- `~/kde3src/tdevelop>` `./configure --prefix=`(sinu-kde3-asukoht)

Siin on üks probleem. Nimelt pead nüüd tagama, et &tdevelop; ikka pääseks töötamise ajal ligi &kde; kataloogis paiknevatele tööriistadele ja komponentidele (sa võid muidugi IDE-t kasutada ka ilma selleta, aga see piirab rängalt funktsionaalsust).

Ava shell ja anna järgmised käsud enne &tdevelop;i käivitamist.

Pane tähele mitmust: õige on `TDEDIRS`, mitte aga `TDEDIR`

- `~>` `export TDEDIRS=/usr/local/kde:/opt/kde3`
- `~>` `tdebuildsycoca`
- (Nüüd käivita &tdevelop;:)
- `~>` `tdevelop`

- Keskkonnamuutuja `TDEDIRS` peab vastama sinu süsteemi aktiivsete &kde; kataloogide nimekirjale. Me kasutame
- `/usr/local/kde`:`/opt/kde3`
- ainult näitena.
- Kataloog `/usr/local/kde` võib näiteks sisaldada ebatäielikku &kde; versiooni, mille oled kompileerinud silumise huvides, ning kataloog `/opt/kde3` võib lisaks sisaldada sinu distributsiooni standardset &kde; versiooni, mida kasutatakse igapäevatöös.

Tcsh shellis tuleb keskkonnamuutujad määrata käsuga:

- `~>` `setenv TDEDIRS /usr/local/kde:/opt/kde3`

Käsk `tdebuildsycoca` (build system control cache ehk ehitussüsteemi kontrollimise puhver) otsib teeke ja puhverdab nende asukoha ning versiooni, et &tdevelop; need üles leiaks. Kuid see võtab tublisti aega — ning see tuleb käivitada iga kord, kui käivitad shelli, et panna &tdevelop; tööle mittestandardsest kataloogist. Seepärast soovitame eeltoodud käsud lisada shelliskripti, et sa ei peaks neid kogu aeg käsitsi sisestama.

(Need read võib lisada ka failile `.bashrc` või `.cshrc`, kuid see pole soovitatav, sest `tdebuildsycoca` käivitatakse sel juhul alati, kui avad shelli.)

Käsk `tdebuildsycoca` ei tööta administraatori õigustes. See tuleb välja kutsuda mitteadministraatorist kasutaja õigustes. (Pealegi ei ole üldse hea mõte tegelda tarkvara arendamisega administraatori õigustes!)

## &tdevelop;i API dokumentatsiooni hankimine

API tähendab Application Program Interface ehk programmi- või rakendusliides. Õigupoolest sisaldab API rida kirjeldusi (&ie; nimekonventsioone), mida kasutades rakendus saab kasutada operatsioonisüsteemi ja teisi teenuseid. Meie kontekstis on sellel aga laiem tähendus. &kde; või &Qt; rakenduse API on klasside ja meetodite kokkuvõte, mida saab kasutada oma moodi sõnaraamatuna lähtekoodis liikumisel.

Uusima API versiooni leiab KDevelopi koduleheküljelt. Seda uuendatakse automaatselt iga 24 tunni järel, nii et see on alati maksimaalselt värske.

Paraku on see versioon kõige paremini loetav ainult internetis. Kui sul puudub pidev interneti kasutamise võimalus, võid &tdevelop;i lähtekoodist ehitada omaenda API dokumentatsiooni. Selleks peab automake'i süsteemile ütlema, kust sinu süsteemis leida KDELIBS'i API. Selleks anna spetsiaalne võti `--with-tdelibsdoxy-dir` käsule `configure` &tdevelop;i lähtekoodi kompileerimiseks valmistudes:

- `~/kde3src/tdevelop>` `./configure --`(tavalised-võtmed)`\`
- `--with-tdelibsdoxy-dir=$TDEDIR/share/doc/HTML/en/tdelibs-apidocs`

(`make` asendab globaalse muutuja `$TDEDIR` siin kirja pandud tegeliku &kde; kataloogi määratlusega.) Seejärel anna käsk `make` nagu tavaliselt. Pärast &tdevelop;i IDE ehitamist on sul võimalus ehitada ka API. Selleks tuleb anda käsk

- `~/kde3src/tdevelop>` `make apidocs`

See ehitab `Doxyfile`'i sinu &tdevelop;i baaskataloogis, mida omakorda asub töötlema rakendus Doxygen, mis ehitab terve rea `.html`-vormingus API faile. Kui see üsna kaua aega võttev API ehitamise protsess (aeglasemates arvutites võib kesta ka üle tunni) lõpuks mäele jõuab, tuleb APIpaigaldada samamoodi nagu &tdevelop;i IDE. Vajaduse korral võta endale administraatori (root) õigused käsuga

- `~/kde3src/tdevelop>` `su`

ja anna administraatori parool. Seejärel paigalda API failid:

- `~/kde3src/tdevelop>` `make install-apidox`

Kui see tehtud, annab `make` teada kataloogi, kus võid lõpuks näha API dokumentatsiooni sisu. Jäta see aadress meelde: sa võid seda kasutada nii &konqueror;is kui ka &tdevelop;is, eriti kui kavatsed &tdevelop;is neid oma rakenduse loomise ajal uurida.

Tõenäoliselt näed terve hulga hoiatusi ja/või veateateid, kui Doxygen API dokumentatsiooni ehitab. Neid on kõige mõistlikum ignoreerida, sest need pakuvad peamiselt huvi ainult &tdevelop;i arendajatele. Kui API tekitamine lõpuks edukalt lõpule jõuab, on `.html`-vormingus API failid kasutamiseks valmis.