Kompilacne skripty ecompile a ecompilelib sa nachadzaju na styxe: /opt/emtest/bin/compile/ **Skripty umoznuju:** * refreshovanie libiek zo styxa * kompilacia multiplatformovych projektov * kompilacia bud na 2.4 alebo 2.6 systemy ===== Priprava pre pouzivanie skriptov: ===== ** 1. Pridat aliasy do .bash_aliases ** \\ alias ecompile=/usr/local/emtest/bin/compile/ecompile alias ecompilelib=/usr/local/emtest/bin/compile/ecompilelib ** 2. Ak bash_aliases neexistuje je potrebne vytvorit ho v /home/ a doplnit spominane aliasy ** \\ touch ./.bash_aliases ** 3. Overit, ci sa nachadza kod v .bashrc ** \\ if [ -f ~/.bash_aliases ]; then . ~/.bash_aliases fi ** 4. Je potrebny restart konzoly alebo pustenie bash prikazu ** ===== Pouzivanie skriptov: ===== - **ecompile** - skript sluzi na kompilaciu aplikacii - **ecompilelib** - skript sluzi na kompilaciu kniznic Skripty maju spracovany help a je ho mozne prezriet: ecompile -h alebo ecompile --help ecompilelib -h alebo ecompilelib --help ==== Volitelne argumenty skriptov ==== Skript umoznuje navolit platformy alebo pozadovane operacie pomocou argumentov: * -26 specifikuje kompilaciu pre systemy s jadrom operacneho systemu verzie 2.6 * -24 specifikuje kompilaciu pre systemy s jadrom operacneho systemu verzie 2.4 * -L24 specifikuje operaciu stiahnutia kniznic verzie 2.4 zo styx-u * -L26 specifikuje operaciu stiahnutia kniznic verzie 2.6 zo styx-u * -c specifikuje operaciu vymazannia l_ adresara pre specifikovany projekt ** Vseobecne poziadavky pre kompilaciu** * Skript je potrebne spustat v priecinku trunk alebo branches \\ {{howto:ecompilelib.png|ecompilelib}} ** Poziadavky pre kompilaciu aplikacie: ** - prvy argument musi predstavovat nazov aplikacie - druhy az n-ty argument su vyssie popisane argumenty (dalsie argumenty su poskytnute dalsim volanym skriptom) ** Poziadavky pre kompilaciu kniznice: ** * Skript si automaticky zdetekuje nazov projektu \\ * V priecinku je potrebne aby sa nachadzal len jeden projekt, inak skript nevie zdetekovat projekt, ktory ma kompilovat a upozorni uzivatela chybou v konzole {{howto:ecompilelib-errornew.png|ecompile error}} \\ alebo \\ {{howto:complielib-moreprojects.png|}} ==== Ukazka pouzitia ecompile ==== ** 1. Multiplatformopva kompilacia aplikacie ** ecompile ESlave ** 2. Kompilacia aplikacie so specifikovanou platformou ** ecompile EOnboardComputer -26 ** 3. Stiahnutie alebo obnovenie kniznic so styx-a ** ecompile EOnboardComputer -L26 ==== Ukazka pouzitia ecompilelib ==== ** 1. Multiplatformopva kompilacia kniznice ** ecompilelib ** 2. Kompilacia kniznice so specifikovanou platformou ** ecompilelib -26 ** 3. Stiahnutie alebo obnovenie kniznic so styx-a ** ecompilelib -L26 ====== Vytvorenie balíčku pre 2.6 - Prostredie KDevelop ====== V Kdevelope vyberieme - Scripts -> refresh libs from phoenix 2.6 - Build -> Dist-Clean-Project - Build -> Build Project - Scripts -> distclean for embeded - Scripts ->compile for embeded 2.6(nl) Balíček sa nachádza v nad adresárom projektu. Je označený ako l_ . Ak kompilujeme hlavný, tak je balíček na tejto ceste: ''l_EOnboardComputer/EOnboardComputer/'' Balíček má označenie tgz__Build__.img. Súbor s koncovkou .gz je len symlink na súbor tgz__Build__.img Ak sa kompilujú UICKA, niekedy sa nedá skompilovať pre arm. Potom sa treba cez konzolu nastaviť na cestu, kde máme aplikáciu a spustiť príkaz for file in `grep -R QT_BEGIN_NAMESPACE * | awk -F : '{ print $1; }'` ; do sed -i -e '/QT_.*NAMESPACE/d' $file ; done alebo skuste remoutnut styx \\ alebo ak obsahuju kompilovane zdrojaky testovaciu qt aplikaciu s gui je potrebne spravit distclean pred kompilaciou ====== Vytvorenie balíčku pre 2.4 - Prostredie KDevelop====== - Scripts -> refresh libs from phoenix 2.4 - Build -> Dist-Clean-Project - Build -> Build Project Problém je s vytvorením balíčku pre arm. Tento sa vytvára pomocou skriptov cez konzolu. Treba vytvoriť skript v priečinku, kde sa nachádza aj EOnboardComputer. Názov skriptu bude ''_EOnboardComputer_2.4'' Obsahovať bude: #!/bin/bash export LD_LIBRARY_PATH=$EM_SYS24_DIR/usr/lib/ PATH=/usr/local/emtest/bin/compile/:$EM_SYS24_DIR/usr/bin/:$PATH export BASE=EOnboardComputer_2.4 export DIR_FROM="EOnboardComputer_2.4" export PXA="192.168.34.49" updatePrj_stable ${1} Spustením tohto skriptu v konzole sa vytvorí balíček pre arm 2.4. Ak chceme vytvoriť balíček znova, distclean for embeded v Kdevelope nefunguje. Treba vzniknutý adresár l_EOnboardComputer_2.4 zmazať celý ručne.