Hi again.
I'm now trying to build QtWebkit 2.3.1 on top of Qt 4.8 as an external package. 
(using Linux)

Here's what I found so far:
- running 'qmake' does nothing cause the released bundle already has a 
Makefile. 
- so, running 'make' will try to build QtWebKit for OSX, looking for Xcode 
tools. 
- after removing the Makefile and running qmake again, it says I cannot use my 
system's qmake, but I need to set QMAKEPATH to an internal path. This is weird 
and I believe QtWebKit should compile like any other Qt application in the 
'qmake/make/make install' way
- after setting QMAKEPATH where it wanted, 'make' started to compile
- here I've got 2 cases:

>>> on Ubuntu 12.04 32 bit, GCC 4.6.3, Qt 4.8.2:

g++ -c -Wall -Wextra -Wreturn-type -fno-strict-aliasing -Wchar-subscripts 
-Wformat-security -Wreturn-type -Wno-unused-parameter -Wno-sign-compare 
-Wno-switch -Wno-switch-enum -Wundef -Wmissing-noreturn -Winit-self -pipe 
-ffunction-sections -fdata-sections -march=pentium4 -msse2 -mfpmath=sse 
-mtune=generic -Werror -Wno-c++0x-compat -O2 -fvisibility=hidden 
-fvisibility-inlines-hidden -fPIC -D_REENTRANT -DQT_WEBKIT -DWTF_USE_LIBJPEG=1 
-DWTF_USE_LIBPNG=1 -DQT_MAKEDLL -DBUILDING_QT__=1 -DNDEBUG -DBUILDING_WebCore 
-DBUILDING_WEBKIT -DQT_ASCII_CAST_WARNINGS 
-DSTATICALLY_LINKED_WITH_JavaScriptCore -DSTATICALLY_LINKED_WITH_WTF 
-DQT_NO_DEBUG -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED 
-I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore 
-I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. 
-I. -IModules/filesystem -IModules/geolocation -IModules/indexeddb 
-IModules/navigatorcontentutils -IModules/notifications
 -IModules/quota -IModules/webaudio -IModules/webdatabase -IModules/websockets 
-Iaccessibility -Ibindings -Ibindings/generic -Ibridge -Ibridge/qt -Icss -Idom 
-Idom/default -Iediting -Ifileapi -Ihistory -Ihtml -Ihtml/canvas -Ihtml/parser 
-Ihtml/shadow -Ihtml/track -Iinspector -Iloader -Iloader/appcache 
-Iloader/archive -Iloader/cache -Iloader/icon -Imathml -Ipage -Ipage/animation 
-Ipage/qt -Ipage/scrolling -Iplatform -Iplatform/animation -Iplatform/audio 
-Iplatform/graphics -Iplatform/graphics/cpu/arm 
-Iplatform/graphics/cpu/arm/filters -Iplatform/graphics/filters 
-Iplatform/graphics/filters/texmap -Iplatform/graphics/opengl 
-Iplatform/graphics/opentype -Iplatform/graphics/qt 
-Iplatform/graphics/surfaces -Iplatform/graphics/texmap 
-Iplatform/graphics/transforms -Iplatform/image-decoders 
-Iplatform/image-decoders/bmp -Iplatform/image-decoders/ico 
-Iplatform/image-decoders/gif -Iplatform/image-decoders/jpeg 
-Iplatform/image-decoders/png
 -Iplatform/image-decoders/webp -Iplatform/leveldb -Iplatform/mock 
-Iplatform/network -Iplatform/network/qt -Iplatform/qt -Iplatform/sql 
-Iplatform/text -Iplatform/text/transcoder -Iplugins -Irendering 
-Irendering/mathml -Irendering/style -Irendering/svg -Istorage -Isvg 
-Isvg/animation -Isvg/graphics -Isvg/graphics/filters -Isvg/properties 
-Itesting -I/home/cam/Fase9/webkit-qtwebkit-23/Source/WebCore/websockets 
-Iworkers -Ixml -Ixml/parser -I../ThirdParty -Ibridge/jsc -Ibindings/js 
-Ibridge/c -Itesting/js -Igenerated -I../../../qtbase/src/3rdparty/sqlite/ 
-I../WTF/wtf/qt/compat -I../../Source 
-I/home/cam/Fase9/webkit-qtwebkit-23/Source/include -I../JavaScriptCore 
-I../../Source -I../WTF -I../JavaScriptCore/assembler 
-I../JavaScriptCore/bytecode -I../JavaScriptCore/bytecompiler 
-I../JavaScriptCore/heap -I../JavaScriptCore/dfg -I../JavaScriptCore/debugger 
-I../JavaScriptCore/disassembler -I../JavaScriptCore/interpreter 
-I../JavaScriptCore/jit
 -I../JavaScriptCore/llint -I../JavaScriptCore/parser 
-I../JavaScriptCore/profiler -I../JavaScriptCore/runtime 
-I../JavaScriptCore/tools -I../JavaScriptCore/yarr -I../JavaScriptCore/API 
-I../JavaScriptCore/ForwardingHeaders -I../JavaScriptCore/generated 
-I../JavaScriptCore/disassembler/udis86 -I../WTF -o 
obj/release/WorkerContextWebDatabase.o 
Modules/webdatabase/WorkerContextWebDatabase.cpp
Modules/webdatabase/WorkerContextWebDatabase.cpp: In static member function 
‘static WTF::PassRefPtr<WebCore::Database> 
WebCore::WorkerContextWebDatabase::openDatabase(WebCore::WorkerContext*, const 
WTF::String&, const WTF::String&, const WTF::String&, long unsigned int, 
WTF::PassRefPtr<WebCore::DatabaseCallback>, WebCore::ExceptionCode&)’:
Modules/webdatabase/WorkerContextWebDatabase.cpp:46:17: error: invalid use of 
incomplete type ‘struct WebCore::WorkerContext’
Modules/webdatabase/WorkerContextWebDatabase.h:43:7: error: forward declaration 
of ‘struct WebCore::WorkerContext’
Modules/webdatabase/WorkerContextWebDatabase.cpp:46:62: error: invalid use of 
incomplete type ‘struct WebCore::WorkerContext’
Modules/webdatabase/WorkerContextWebDatabase.h:43:7: error: forward declaration 
of ‘struct WebCore::WorkerContext’
Modules/webdatabase/WorkerContextWebDatabase.cpp:51:107: error: no matching 
function for call to ‘WebCore::Database::openDatabase(WebCore::WorkerContext*&, 
const WTF::String&, const WTF::String&, const WTF::String&, long unsigned int&, 
WTF::PassRefPtr<WebCore::DatabaseCallback>&, WebCore::ExceptionCode&)’
Modules/webdatabase/WorkerContextWebDatabase.cpp:51:107: note: candidate is:
Modules/webdatabase/Database.h:59:33: note: static 
WTF::PassRefPtr<WebCore::Database> 
WebCore::Database::openDatabase(WebCore::ScriptExecutionContext*, const 
WTF::String&, const WTF::String&, const WTF::String&, long unsigned int, 
WTF::PassRefPtr<WebCore::DatabaseCallback>, WebCore::ExceptionCode&)
Modules/webdatabase/Database.h:59:33: note:   no known conversion for argument 
1 from ‘WebCore::WorkerContext*’ to ‘WebCore::ScriptExecutionContext*’
Modules/webdatabase/WorkerContextWebDatabase.cpp: In static member function 
‘static WTF::PassRefPtr<WebCore::DatabaseSync> 
WebCore::WorkerContextWebDatabase::openDatabaseSync(WebCore::WorkerContext*, 
const WTF::String&, const WTF::String&, const WTF::String&, long unsigned int, 
WTF::PassRefPtr<WebCore::DatabaseCallback>, WebCore::ExceptionCode&)’:
Modules/webdatabase/WorkerContextWebDatabase.cpp:56:17: error: invalid use of 
incomplete type ‘struct WebCore::WorkerContext’
Modules/webdatabase/WorkerContextWebDatabase.h:43:7: error: forward declaration 
of ‘struct WebCore::WorkerContext’
Modules/webdatabase/WorkerContextWebDatabase.cpp:56:62: error: invalid use of 
incomplete type ‘struct WebCore::WorkerContext’
Modules/webdatabase/WorkerContextWebDatabase.h:43:7: error: forward declaration 
of ‘struct WebCore::WorkerContext’
Modules/webdatabase/WorkerContextWebDatabase.cpp:61:115: error: no matching 
function for call to 
‘WebCore::DatabaseSync::openDatabaseSync(WebCore::WorkerContext*&, const 
WTF::String&, const WTF::String&, const WTF::String&, long unsigned int&, 
WTF::PassRefPtr<WebCore::DatabaseCallback>&, WebCore::ExceptionCode&)’
Modules/webdatabase/WorkerContextWebDatabase.cpp:61:115: note: candidate is:
Modules/webdatabase/DatabaseSync.h:59:37: note: static 
WTF::PassRefPtr<WebCore::DatabaseSync> 
WebCore::DatabaseSync::openDatabaseSync(WebCore::ScriptExecutionContext*, const 
WTF::String&, const WTF::String&, const WTF::String&, long unsigned int, 
WTF::PassRefPtr<WebCore::DatabaseCallback>, WebCore::ExceptionCode&)
Modules/webdatabase/DatabaseSync.h:59:37: note:   no known conversion for 
argument 1 from ‘WebCore::WorkerContext*’ to ‘WebCore::ScriptExecutionContext*’
Modules/webdatabase/WorkerContextWebDatabase.cpp:62:1: error: control reaches 
end of non-void function [-Werror=return-type]
Modules/webdatabase/WorkerContextWebDatabase.cpp: In static member function 
‘static WTF::PassRefPtr<WebCore::Database> 
WebCore::WorkerContextWebDatabase::openDatabase(WebCore::WorkerContext*, const 
WTF::String&, const WTF::String&, const WTF::String&, long unsigned int, 
WTF::PassRefPtr<WebCore::DatabaseCallback>, WebCore::ExceptionCode&)’:
Modules/webdatabase/WorkerContextWebDatabase.cpp:52:1: error: control reaches 
end of non-void function [-Werror=return-type]
cc1plus: all warnings being treated as errors
make[2]: *** [obj/release/WorkerContextWebDatabase.o] Error 1
make[2]: uscita dalla directory "/home/dev/webkit-qtwebkit-23/Source/WebCore"
make[1]: *** [sub-Target-pri-make_default-ordered] Error 2
make[1]: uscita dalla directory "/home/dev/webkit-qtwebkit-23/Source/WebCore"
make: *** [sub-Source-WebCore-WebCore-pro-make_default-ordered] Error 2

>>> on a MIPSel board, GCC 4.5.3 + ccache, Qt 4.8.4 (using a mips mkspec), it 
>>> hangs when reaching this PERL command:

perl 
-I/home/dev/buildroot/output/build/qtwebkit-2.3.1/Source/WebCore/bindings/scripts
 
/home/dev/buildroot/output/build/qtwebkit-2.3.1/Source/WebCore/dom/make_names.pl
 --tags 
/home/dev/buildroot/output/build/qtwebkit-2.3.1/Source/WebCore/mathml/mathtags.in
 --attrs 
/home/dev/buildroot/output/build/qtwebkit-2.3.1/Source/WebCore/mathml/mathattrs.in
 --extraDefines "" --preprocessor "/home/dev/buildroot/output/host/usr/bin/moc 
-E" --factory --wrapperFactory --outputDir generated

I've waited a couple of minutes, but the 'generated' folder stays empty and no 
signs of life.

It seems I'm stuck either way. Is there something I am obviously doing wrong or 
is there a patch that I can apply ?

My priority is on the MIPS board, running QtWebKit on DirectFB.
The standard QtWebKit module bundled with Qt 4.8.4 builds successfully and runs 
quite good on DirectFB. Although graphics performances are very good (even 
better than Opera running on the same board), the processing part is very poor 
and HTML 5 support is pretty basic. I might investigate if I need more build 
optimization flags to increase performances, but first I would like to use a 
more 'up to date' version of WebKit before making any other consideration.

Thank you very much for any help !

Massimo


________________________________
 Da: Massimo Callegari <[email protected]>
A: "[email protected]" <[email protected]> 
Inviato: Giovedì 18 Aprile 2013 11:49
Oggetto: QtWebKit 2.3.1 and Qt-4.8.4
 


Hi all and thanks for the hard work you're doing here !

Probably my question has already been asked here, so excuse me in case. I did a 
research on the ML archives but found no answer :(

Is it possible to compile QtWebKit 2.3.1 tagged yesterday into a Qt 4.8.4 tree ?
I don't mean externally (I know it's possible to do that), but copying a 
snapshot into Qt's src/3rdparty/webkit.

I've seen the "include" directory has disappeared so I'm wondering if there are 
major incompatibilities or if Qt 5 is mandatory at this point.

In case it is possible, are there major requirements for 2.3.1 that were not 
requested by 2.2.0 included in Qt 4.8.4 ?


Thank you in advance !

Best regards,

Massimo
_______________________________________________
webkit-qt mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-qt

Reply via email to