Portál AbcLinuxu, 30. dubna 2025 10:52

Makefile na kompiláciu Qt 5 a Webkit 2 z gitu

2.4.2012 22:59 | Přečteno: 1459× | Linux | Výběrový blog | poslední úprava: 3.4.2012 16:50

Dnes len krátky zápis o kompilácii Qt 5 a Webkitu2 + Makefile súbor, ktorý možno bude fungovať ;)

Potreba pomaly portovať softvér na novšei verzie knižníc ma dohnala k tak strašnému činu akým je ručná kompilácia knižníc. S blížiacou sa alfa verziou prestáva byť Qt 5 pohyblivým cieľom, takže portovaniu starých a vývoju nových aplikácií už nič okrem bugov nestojí v ceste ;)

Makefile

Pri písaní Makefile som využíval ako zdroj informácií qt-project.org/wiki/Building_Qt_5_from_Git, README súbor z repozitára git://gitorious.org/qt/qt5.git

.PHONY: all reset

PATH := $(shell pwd)/qt5-source/qtbase/bin:$(PATH)

all: compile

# Stiahnutie zdrojových kódov
qt5-source:
        git clone --depth 1 git://gitorious.org/qt/qt5.git qt5-source

# Inicializácia submodulov
qt5-source/qtbase/src: qt5-source
        cd qt5-source; perl init-repository

# Konfigurácia Qt
qt5-source/qtbase/bin/qmake:qt5-source/qtbase/src
        # Pridanie linku na chýbajúc mkspecs
        ln -sf $(shell pwd)/qt5-source/qtbase/mkspecs $(shell pwd)/qt5-source/mkspecs
        # Spustenie configure skriptu - možné selektívne vypnúť niektoré moduly
        cd qt5-source; PATH="$(PATH)" \
                ./configure -prefix $(shell pwd)/qtbase -nomake tests -opensource \
                -release -confirm-license -no-phonon-backend -no-sql-mysql -no-sql-psql

# Kompilácia submodulov
compile: qt5-source/qtbase/bin/qmake
        cd qt5-source; PATH="$(PATH)" \
                ./build -j 3 qtlocation qtwebkit qtpim qtimageformats qtdeclarative \
                qlalr qtquick1 qttranslations qtbase qtqa qtscript qtfeedback \
                qtwebkit-examples-and-demos qtconnectivity qtxmlpatterns qtsensors \
                qtdoc qtmultimedia qtdocgallery qtgraphicaleffects qtsvg qt3d \
                qtjsbackend qtphonon qttools qtsystems

webkit: qt5-source/qtbase/bin/qmake
        # Odstránenie -Werror inak by kompilácia padla pri prvom varovaní
        sed -i 's/[ ]*!contains(QT, declarative): QMAKE_CXXFLAGS += -Werror//g' \
                qt5-source/qtwebkit/Tools/qmake/mkspecs/features/unix/default_post.prf
        cd qt5-source/qtwebkit; PATH="$(PATH)" WEBKITOUTPUTDIR="$(shell pwd)/WebKitBuild" \
                perl Tools/Scripts/build-webkit --install-libs=$(shell pwd)/qtbase --release

Pred kompiláciou musia byť nainštalované závislosti. Okrem štandardných ako g++ budeme potrebovať nástroje perl, python a git. Novou závislosťou Qt 5 je knižnica xcb (samozrejme je potrebné nainštalovať aj príslušné *-dev balíky).

Po inštalácií závislosti stačí už len vytvoriť pracovný adresár, umiestniť Makefile a spustiť make.

Webkit2 sa kompiluje samostatne príkazom make webkit. Pri kompilácii vyžaduje bison vo verzii >= 2.5.

Výsledky

Výsledkom kompilácii budú samozrejme knižnice zopár demo programov.

Moje prvé pocity z Qt 5 sú tak trochu zmiešané. Backend xcb ešte nie je celkom odladený a aplikácie často padajú. Pre beh nie je potrebné OpenGL / EGL. Rýchlosť je pri zaťaženom notebooku postačujúca (pri resize okien vidieť pomalšiu odozvu oproti Qt 4). Bez záťaže som nepostrehol žiaden zásadný rozdiel vo výkone oproti Qt 4.

WebKit 2 je oproti staršiemu WebKit-u milým prekvapením. Nemýľte si prosím WebKit 2 s doteraz používaným WebKit-om 2.x. WebKit 2 je totiž forkom WebKit-u s podporou multiprocesového režimu.

Demo prehlaidač ma prekvapil výkonom renderovania. Žiaľ ostatné benchmarky napriek integrácii V8 neboli nijako oslnivé. Pre zvedavcov pridávam odkaz na výsledky testov QtWebkit-u(1111 bodov) a chromia 18 (1651) na tom istom stroji.

Qt 5 samozrejme ešte nie je hotovým produktom, ale už v tomto pre-alfa štádiu začína byť reálne použiteľné.

       

Hodnocení: 100 %

        špatnédobré        

Obrázky

Makefile na kompiláciu Qt 5 a Webkit 2 z gitu, obrázek 1 Makefile na kompiláciu Qt 5 a Webkit 2 z gitu, obrázek 2

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

3.4.2012 12:09 hanoj
Rozbalit Rozbalit vše Re: Makefile na komiláciu Qt 5 a Webkit 2 z gitu
Odpovědět | Sbalit | Link | Blokovat | Admin
Komiláce - chvíli jsem premyslel, co je to za cizi slovo ;)
mirec avatar 3.4.2012 16:53 mirec | skóre: 32 | blog: mirecove_dristy | Poprad
Rozbalit Rozbalit vše Re: Makefile na komiláciu Qt 5 a Webkit 2 z gitu
Lol, 2 pivá a neviem písať ;) Ďakujem za upozornenie.
LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
=^..^= AmigaPower® avatar 3.4.2012 16:57 =^..^= AmigaPower® | skóre: 30 | blog: BLB | Praha
Rozbalit Rozbalit vše Re: Makefile na kompiláciu Qt 5 a Webkit 2 z gitu
Odpovědět | Sbalit | Link | Blokovat | Admin
hele, na co to je to qt? pomně to zrovna dneska chtělo nějaký qt>4:3.2 nebo co, jinak mi to na ntb nenainstalí Skype... :-(
I♥DRX * www.KERNELULTRAS.org
Milan Lajtoš avatar 3.4.2012 19:45 Milan Lajtoš | skóre: 22 | blog: /blog/babraq
Rozbalit Rozbalit vše Re: Makefile na kompiláciu Qt 5 a Webkit 2 z gitu
aj imbecyl vje, ze qt je quicktime.. skype ho pouziva na prenos videa a zvuku..
“Every great achievement was once considered impossible.”
=^..^= AmigaPower® avatar 4.4.2012 18:39 =^..^= AmigaPower® | skóre: 30 | blog: BLB | Praha
Rozbalit Rozbalit vše Re: Makefile na kompiláciu Qt 5 a Webkit 2 z gitu
To je dobře že to víš...
4.4.2012 00:03 kralyk z abclinuxu | skóre: 29 | blog:
Rozbalit Rozbalit vše Re: Makefile na kompiláciu Qt 5 a Webkit 2 z gitu
Qt, knhovna/framework. Jestli máš starší než 4.3.2, tak to bude nějaká hodně archaická... Snad je v balíčkovači novější, ne?
kotyz avatar 4.4.2012 12:33 kotyz | skóre: 25 | blog: kotyzblog | Plzeň
Rozbalit Rozbalit vše Re: Makefile na kompiláciu Qt 5 a Webkit 2 z gitu
Má tam nějakou starou Mandrivu, 2010 nebo 2009, tak se nediv že má tak starý Qt. Radši vymysli jak by to šlo zaonačit aby tam ten Skype šel ...
Hrdý člen KERNEL ULTRAS. | Furry/Brony/Otaku | Nemám čas ztrácet čas. | In 'pacman -Syu' we trust!
4.4.2012 17:16 kralyk z abclinuxu | skóre: 29 | blog:
Rozbalit Rozbalit vše Re: Makefile na kompiláciu Qt 5 a Webkit 2 z gitu
No, Skype závisí na Qt. A jestliže potřebuje Qt určité minimální verze, tak s tím nic nanděláš. Leda naportovat novější Qt na jeho distro.
kotyz avatar 4.4.2012 18:19 kotyz | skóre: 25 | blog: kotyzblog | Plzeň
Rozbalit Rozbalit vše Re: Makefile na kompiláciu Qt 5 a Webkit 2 z gitu
No buď starej Skype nebo nový Qt, ideálně tak aby se to nemuselo kompilovat ...
Hrdý člen KERNEL ULTRAS. | Furry/Brony/Otaku | Nemám čas ztrácet čas. | In 'pacman -Syu' we trust!
=^..^= AmigaPower® avatar 4.4.2012 18:37 =^..^= AmigaPower® | skóre: 30 | blog: BLB | Praha
Rozbalit Rozbalit vše Re: Makefile na kompiláciu Qt 5 a Webkit 2 z gitu
tywoe, 1.3 tam nejde :-D starší sem rpm nenašel.
kotyz avatar 4.4.2012 22:42 kotyz | skóre: 25 | blog: kotyzblog | Plzeň
Rozbalit Rozbalit vše Re: Makefile na kompiláciu Qt 5 a Webkit 2 z gitu
LOL, já už mam 2.2.0. To nevim jak strašně archivní verzi by to chtělo když ani ta 1.3 s tim nejde. Že se na to radši nevysereš ...
Hrdý člen KERNEL ULTRAS. | Furry/Brony/Otaku | Nemám čas ztrácet čas. | In 'pacman -Syu' we trust!
=^..^= AmigaPower® avatar 4.4.2012 23:27 =^..^= AmigaPower® | skóre: 30 | blog: BLB | Praha
Rozbalit Rozbalit vše Re: Makefile na kompiláciu Qt 5 a Webkit 2 z gitu
jedu online na "imo" ;-)
Rezza avatar 5.4.2012 14:27 Rezza | skóre: 25 | blog: rezza | Brno
Rozbalit Rozbalit vše Re: Makefile na kompiláciu Qt 5 a Webkit 2 z gitu
Skype jeste nedavno nabizel staticky slinkovane Qt. Nevim, jestli to jeste plati.
3.4.2012 17:19 skywaker
Rozbalit Rozbalit vše Re: Makefile na kompiláciu Qt 5 a Webkit 2 z gitu
Odpovědět | Sbalit | Link | Blokovat | Admin
QT fuj.. co to je? no kniznica ktoru nerad kompilujem QT4 ked kompilujem na svojom 2 jadru tak o 2 hodinky mam postarane . na Haiku sem tam kompilujem qt4 je to obrovskz moloch..
Rezza avatar 5.4.2012 14:28 Rezza | skóre: 25 | blog: rezza | Brno
Rozbalit Rozbalit vše Re: Makefile na kompiláciu Qt 5 a Webkit 2 z gitu
V Koji je to necela pul hodka i s instalaci build rootu a vseho :) V jinsich build systemech je to podobne.
mirec avatar 7.4.2012 08:35 mirec | skóre: 32 | blog: mirecove_dristy | Poprad
Rozbalit Rozbalit vše Re: Makefile na kompiláciu Qt 5 a Webkit 2 z gitu
Podľa toho čo považujeme za Qt 5 ;) Základné knižnice (core, gui, declarative, ...) sa mi skompilujú tak za pol hodiny. Webkit sa však kompiluje asi 2h ;)
LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
Rezza avatar 7.4.2012 12:44 Rezza | skóre: 25 | blog: rezza | Brno
Rozbalit Rozbalit vše Re: Makefile na kompiláciu Qt 5 a Webkit 2 z gitu
Aj SkrakoKit, na ten jsem zapomel :D
3.4.2012 21:48 __dark__
Rozbalit Rozbalit vše Re: Makefile na kompiláciu Qt 5 a Webkit 2 z gitu
Odpovědět | Sbalit | Link | Blokovat | Admin
To muze byt jeste pomalejsi nez to bylo :-D ?
mirec avatar 3.4.2012 21:58 mirec | skóre: 32 | blog: mirecove_dristy | Poprad
Rozbalit Rozbalit vše Re: Makefile na kompiláciu Qt 5 a Webkit 2 z gitu

Sorry za rýpnutie, ale toto mi nedalo ...

<rýpanie>
Áno, mohlo by sa to priblížiť úrovni GTK ;)
</rýpanie>
LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
3.4.2012 23:55 __dark__
Rozbalit Rozbalit vše Re: Makefile na kompiláciu Qt 5 a Webkit 2 z gitu
Nj, kazda druha zpravicka obsahuje "zvyseni vykonu", ale tak nejak mam pocit, ze kdyz se ten vykon nahodou snizi, tak tim se radsi nikdo nechlubi:)
Michal Fecko avatar 6.4.2012 23:06 Michal Fecko | skóre: 31 | blog: Poznámkový blog
Rozbalit Rozbalit vše Re: Makefile na kompiláciu Qt 5 a Webkit 2 z gitu
Ak to pojde takto dalej zachvilu uz nebudu mat co zvysovat :-D

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.