Bug 29728 - Compiling with ENABLE_SVG=0 results in generated file containing references to getSVGDocument
Summary: Compiling with ENABLE_SVG=0 results in generated file containing references t...
Status: RESOLVED INVALID
Alias: None
Product: WebKit
Classification: Unclassified
Component: SVG (show other bugs)
Version: 528+ (Nightly build)
Hardware: Other Linux
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-09-24 16:34 PDT by Ricardo Salveti de Araujo
Modified: 2009-09-25 00:32 PDT (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ricardo Salveti de Araujo 2009-09-24 16:34:34 PDT
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....
Comment 1 Ricardo Salveti de Araujo 2009-09-24 18:32:15 PDT
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.
Comment 2 Ricardo Salveti de Araujo 2009-09-25 00:32:47 PDT
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.