Using qt webkit from revision 48423 (that's the last one integrated with current 4.6 qt branch), the build fails when trying to compile with ENABLE_SVG=0. I'm trying to cross compile it for an ARMv5 machine we have, using OpenEmbedded to handle the cross-compilation. It seems that there's a bug in the auto generated code, that's including calls to the SVG library even when I explicit disabled it. Log: ccache arm-mamona-linux-gnueabi-g++ -march=armv5te -mtune=arm926ej-s -c -isystem/home/rsalveti/projects/build/tmp/galah-2/default/staging/arm-mamona-linux-gnueabi/include -fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2 -fpermissive -fvisibility-inlines-hidden -I/home/rsalveti/projects/build/tmp/galah-2/default/staging/arm-mamona-linux-gnueabi/include -I/home/rsalveti/projects/build/tmp/galah-2/default/staging/arm-mamona-linux-gnueabi/include/freetype2 -Wreturn-type -fno-strict-aliasing -ffunction-sections -fdata-sections -Wall -W -D_REENTRANT -fPIC -DQT_SHARED -DENABLE_SVG=0 -DENABLE_RUBY=0 -DENABLE_DATAGRID=0 -DENABLE_JAVASCRIPT_DEBUGGER=0 -DENABLE_NETSCAPE_PLUGIN_API=0 -DENABLE_WORKERS=0 -DENABLE_SHARED_WORKERS=0 -DBUILDING_QT__=1 -DUSE_SYSTEM_MALLOC -DENABLE_YARR_JIT=0 -DENABLE_YARR=0 -DENABLE_JIT=0 -DWTF_USE_JSVALUE32=1 -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DNDEBUG -DHAVE_STDINT_H -DBUILD_WEBKIT -DENABLE_DATABASE=1 -DENABLE_EVENTSOURCE=1 -DENABLE_OFFLINE_WEB_APPLICATIONS=1 -DENABLE_DOM_STORAGE=1 -DENABLE_ICONDATABASE=1 -DENABLE_CHANNEL_MESSAGING=1 -DENABLE_SQLITE=1 -DENABLE_DASHBOARD_SUPPORT=0 -DENABLE_FILTERS=0 -DENABLE_XPATH=1 -DENABLE_XSLT=0 -DENABLE_WCSS=0 -DENABLE_WML=0 -DENABLE_XHTMLMP=0 -DENABLE_SVG_FONTS=0 -DENABLE_SVG_FOREIGN_OBJECT=0 -DENABLE_SVG_ANIMATION=0 -DENABLE_SVG_AS_IMAGE=0 -DENABLE_SVG_USE=0 -DENABLE_VIDEO=1 -DENABLE_DATALIST=1 -DWTF_USE_JAVASCRIPTCORE_BINDINGS=1 -DWTF_CHANGES=1 -DBUILDING_QT__ -DBUILDING_JavaScriptCore -DBUILDING_WTF -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I../../../../mkspecs/linux-g++ -I. -I../../../../include/QtCore -I../../../../include/QtNetwork -I../../../../include/QtGui -I../../../../include -Ibridge/qt -Ipage/qt -Iplatform/graphics/qt -Iplatform/network/qt -Iplatform/qt -I../WebKit/qt/WebCoreSupport -I. -Iaccessibility -Ibindings/js -Ibridge -Ibridge/c -Icss -Idom -Idom/default -Iediting -Ihistory -Ihtml -Ihtml/canvas -Iinspector -Iloader -Iloader/appcache -Iloader/archive -Iloader/icon -Inotifications -Ipage -Ipage/animation -Iplatform -Iplatform/animation -Iplatform/graphics -Iplatform/graphics/filters -Iplatform/graphics/transforms -Iplatform/image-decoders -Iplatform/mock -Iplatform/network -Iplatform/sql -Iplatform/text -Iplugins -Irendering -Irendering/style -Istorage -Isvg -Isvg/animation -Isvg/graphics -Isvg/graphics/filters -Iwebsockets -Iwml -Iworkers -Ixml -Igenerated -I../JavaScriptCore -I../../webkit -I../JavaScriptCore/assembler -I../JavaScriptCore/bytecode -I../JavaScriptCore/bytecompiler -I../JavaScriptCore/debugger -I../JavaScriptCore/interpreter -I../JavaScriptCore/jit -I../JavaScriptCore/parser -I../JavaScriptCore/profiler -I../JavaScriptCore/runtime -I../JavaScriptCore/wrec -I../JavaScriptCore/wtf -I../JavaScriptCore/wtf/unicode -I../JavaScriptCore/yarr -I../JavaScriptCore/API -I../JavaScriptCore/ForwardingHeaders -Igenerated -I../WebKit/qt/Api -I../../../../include/QtWebKit -I.rcc/debug-shared -I../JavaScriptCore/pcre -I/home/rsalveti/projects/build/tmp/galah-2/default/work/qt4-x11-free-4.6.0-r17.8/git/src/3rdparty/webkit/WebKitBuild/Debug/JavaScriptCore/tmp -I../../../../include/phonon -I.moc/debug-shared -o obj/debug/JSHTMLFieldSetElement.o generated/JSHTMLFieldSetElement.cpp generated/JSHTMLEmbedElement.cpp: In function ‘JSC::JSValue WebCore::jsHTMLEmbedElementPrototypeFunctionGetSVGDocument(JSC::ExecState*, JSC::JSObject*, JSC::JSValue, const JSC::ArgList&)’: generated/JSHTMLEmbedElement.cpp:284: error: ‘class WebCore::HTMLEmbedElement’ has no member named ‘getSVGDocument’ generated/JSHTMLEmbedElement.cpp:288: error: ‘class WebCore::HTMLEmbedElement’ has no member named ‘getSVGDocument’ make[1]: *** [obj/debug/JSHTMLEmbedElement.o] Error 1 make[1]: *** Waiting for unfinished jobs....
Oh, just realized that Qt itself already deploy the automatically generated files inside WebCore, so that's probably the reason. Without running the generator without the build flags it will use code that's not actually compatible with current definitions. So is a problem in how Qt itself manages the webkit flags instead of Webkit itself. I'll generate the generated files by hand to see if the build goes fine and will report the result.
Yup, after using the new automatically generated files from the webkit build (with the same build flags), I was able to build webkit successfully. I also noticed that the code inside qt is not actually the same thing we have at the webkit repository, as I also had to update some other code with current WebKit HEAD. Too bad we still don't have an easy way to configure webkit inside Qt. Closing the bug.