CMake is too slow to make it the default build for us. This
authorzack <zack@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sun, 10 Dec 2006 00:58:36 +0000 (00:58 +0000)
committerzack <zack@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sun, 10 Dec 2006 00:58:36 +0000 (00:58 +0000)
patch adds QMake build which works, way, way better. Mostly
done by Simon Hausmann.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@18114 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 files changed:
ChangeLog
JavaScriptCore/ChangeLog
JavaScriptCore/JavaScriptCore.pro [new file with mode: 0644]
JavaScriptCore/kjs/kjs.pro [deleted file]
JavaScriptCore/pcre/pcre.pri [new file with mode: 0644]
WebCore/ChangeLog
WebCore/WebCore.pro [new file with mode: 0644]
WebCore/platform/graphics/qt/GraphicsContextQt.cpp
WebKit.pri [new file with mode: 0644]
WebKit.pro [new file with mode: 0644]
WebKitQt/ChangeLog
WebKitQt/QtLauncher/QtLauncher.pro [new file with mode: 0644]
WebKitQt/QtLauncher/main.cpp

index b5d01fc..0106d0d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2006-12-09  Lars Knoll <lars@trolltech.com>
+
+        Reviewed by Zack
+
+        Make it possible to build WebKit with qmake.
+
+        * WebKit.pri: Added.
+        * WebKit.pro: Added.
+
 2006-11-19  Simon Hausmann  <hausmann@kde.org>
 
         Reviewed by Zack.
index b925446..8b894fb 100644 (file)
@@ -1,3 +1,13 @@
+2006-12-09  Lars Knoll <lars@trolltech.com>
+
+        Reviewed by Zack
+
+        Make it possible to build WebKit with qmake.
+
+        * JavaScriptCore.pro: Added.
+        * kjs/kjs.pro: Removed.
+        * pcre/pcre.pri: Added.
+
 2006-12-09  Zack Rusin  <zack@kde.org>
 
         Fixing the compilation with platform kde after the icu changes.
diff --git a/JavaScriptCore/JavaScriptCore.pro b/JavaScriptCore/JavaScriptCore.pro
new file mode 100644 (file)
index 0000000..a5d0177
--- /dev/null
@@ -0,0 +1,114 @@
+# JavaScriptCore - Qt4 build info
+VPATH += $$PWD
+TEMPLATE = lib
+TARGET = JavaScriptCore
+DESTDIR = ../lib
+OBJECTS_DIR = tmp
+INCLUDEPATH += tmp
+INCLUDEPATH += $$PWD $$PWD/kjs $$PWD/bindings $$PWD/bindings/c $$PWD/wtf
+DEFINES -= KJS_IDENTIFIER_HIDE_GLOBALS 
+DEFINES += BUILDING_QT__
+QT -= gui
+
+isEmpty(OUTPUT_DIR):OUTPUT_DIR=$$PWD
+include($$OUTPUT_DIR/config.pri)
+
+include(pcre/pcre.pri)
+
+LUT_FILES += \
+    kjs/date_object.cpp \
+    kjs/number_object.cpp \
+    kjs/string_object.cpp \
+    kjs/array_object.cpp \
+    kjs/math_object.cpp \
+    kjs/regexp_object.cpp
+
+KEYWORDLUT_FILES += \
+    kjs/keywords.table
+
+KJSBISON += \
+    kjs/grammar.y
+
+SOURCES += \
+    wtf/TCSystemAlloc.cpp \
+    wtf/Assertions.cpp \
+    wtf/HashTable.cpp \
+    wtf/FastMalloc.cpp \
+    bindings/NP_jsobject.cpp \
+    bindings/npruntime.cpp \
+    bindings/runtime_array.cpp \
+    bindings/runtime.cpp \
+    bindings/runtime_method.cpp \
+    bindings/runtime_object.cpp \
+    bindings/runtime_root.cpp \
+    bindings/c/c_class.cpp \
+    bindings/c/c_instance.cpp \
+    bindings/c/c_runtime.cpp \
+    bindings/c/c_utility.cpp \
+    kjs/DateMath.cpp \
+    kjs/JSWrapperObject.cpp \
+    kjs/PropertyNameArray.cpp \
+    kjs/array_object.cpp \
+    kjs/bool_object.cpp \
+    kjs/collector.cpp \
+    kjs/Context.cpp \
+    kjs/date_object.cpp \
+    kjs/debugger.cpp \
+    kjs/dtoa.cpp \
+    kjs/error_object.cpp \
+    kjs/ExecState.cpp \
+    kjs/fpconst.cpp \
+    kjs/function.cpp \
+    kjs/function_object.cpp \
+    kjs/identifier.cpp \
+    kjs/internal.cpp \
+    kjs/interpreter.cpp \
+    kjs/JSImmediate.cpp \
+    kjs/JSLock.cpp \
+    kjs/lexer.cpp \
+    kjs/list.cpp \
+    kjs/lookup.cpp \
+    kjs/math_object.cpp \
+    kjs/nodes.cpp \
+    kjs/nodes2string.cpp \
+    kjs/number_object.cpp \
+    kjs/object.cpp \
+    kjs/object_object.cpp \
+    kjs/operations.cpp \
+    kjs/Parser.cpp \
+    kjs/property_map.cpp \
+    kjs/property_slot.cpp \
+    kjs/regexp.cpp \
+    kjs/regexp_object.cpp \
+    kjs/scope_chain.cpp \
+    kjs/string_object.cpp \
+    kjs/ustring.cpp \
+    kjs/value.cpp
+
+
+# GENERATOR 1-A: LUT creator
+lut.output = tmp/${QMAKE_FILE_BASE}.lut.h
+lut.commands = perl $$PWD/kjs/create_hash_table ${QMAKE_FILE_NAME} -i > ${QMAKE_FILE_OUT}
+lut.depend = ${QMAKE_FILE_NAME}
+lut.input = LUT_FILES
+lut.CONFIG += no_link
+QMAKE_EXTRA_COMPILERS += lut
+
+# GENERATOR 1-B: particular LUT creator (for 1 file only)
+keywordlut.output = tmp/lexer.lut.h
+keywordlut.commands = perl $$PWD/kjs/create_hash_table ${QMAKE_FILE_NAME} -i > ${QMAKE_FILE_OUT}
+keywordlut.depend = ${QMAKE_FILE_NAME}
+keywordlut.input = KEYWORDLUT_FILES
+keywordlut.CONFIG += no_link
+QMAKE_EXTRA_COMPILERS += keywordlut
+
+# GENERATOR 2: bison grammar
+kjsbison.output = tmp/${QMAKE_FILE_BASE}.cpp
+macx:kjsbison.commands = bison -d -p kjsyy ${QMAKE_FILE_NAME} && mv kjs/${QMAKE_FILE_BASE}.tab.c ${QMAKE_FILE_OUT} && mv kjs/${QMAKE_FILE_BASE}.tab.h tmp/${QMAKE_FILE_BASE}.h
+!macx:kjsbison.commands = bison -d -p kjsyy ${QMAKE_FILE_NAME} && mv ${QMAKE_FILE_BASE}.tab.c ${QMAKE_FILE_OUT} && mv ${QMAKE_FILE_BASE}.tab.h tmp/${QMAKE_FILE_BASE}.h
+kjsbison.depend = ${QMAKE_FILE_NAME}
+kjsbison.input = KJSBISON
+kjsbison.variable_out = GENERATED_SOURCES
+kjsbison.dependency_type = TYPE_C
+kjsbison.CONFIG = target_predeps
+QMAKE_EXTRA_COMPILERS += kjsbison
diff --git a/JavaScriptCore/kjs/kjs.pro b/JavaScriptCore/kjs/kjs.pro
deleted file mode 100644 (file)
index 0fc81c5..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-LANGUAGE = C++
-TARGET = kjs
-TEMPLATE = lib
-CONFIG += qt warn_on debug static
-QT -= gui
-
-unix {
-       !system(which perl >/dev/null 2>&1):error("Build requires perl.")
-       !exists(lexer.lut.h):system(perl create_hash_table keywords.table -i >lexer.lut.h)
-       !exists(array_object.lut.h):system(perl create_hash_table array_object.cpp -i >array_object.lut.h)
-       !exists(math_object.lut.h):system(perl create_hash_table math_object.cpp -i >math_object.lut.h)
-       !exists(date_object.lut.h):system(perl create_hash_table date_object.cpp -i >date_object.lut.h)
-       !exists(number_object.lut.h):system(perl create_hash_table number_object.cpp -i >number_object.lut.h)
-       !exists(string_object.lut.h):system(perl create_hash_table string_object.cpp -i >string_object.lut.h)
-       !exists(regexp_object.lut.h):system(perl create_hash_table regexp_object.cpp -i >regexp_object.lut.h)
-       !exists(grammar.cpp):system(bison -d -p kjsyy grammar.y && mv grammar.tab.c grammar.cpp && mv grammar.tab.h grammar.h)
-}
-
-# QMakes YACC support is strange
-# YACCSOURCES += grammar.y
-
-SOURCES        += \
-       ../kxmlcore/FastMalloc.cpp \
-       ../kxmlcore/TCSystemAlloc.cpp \
-       ../kxmlcore/HashTable.cpp \
-       array_object.cpp \
-       function_object.cpp \
-       nodes2string.cpp \
-       reference.cpp \
-       bool_object.cpp \
-       identifier.cpp \
-       nodes.cpp \
-       reference_list.cpp \
-       collector.cpp \
-       internal.cpp \
-       number_object.cpp \
-       regexp.cpp \
-       date_object.cpp \
-       interpreter.cpp \
-       object.cpp \
-       regexp_object.cpp \
-       debugger.cpp \
-       object_object.cpp \
-       scope_chain.cpp \
-       dtoa.cpp \
-       lexer.cpp \
-       operations.cpp \
-       string_object.cpp \
-       error_object.cpp \
-       list.cpp \
-       property_map.cpp \
-       fpconst.cpp \
-       lookup.cpp \
-       property_slot.cpp \
-       ustring.cpp \
-       function.cpp \
-       math_object.cpp \
-       value.cpp \
-       JSLock.cpp \
-       grammar.cpp
-
-!macx:unix {
-       INCLUDEPATH += .. ../pcre ../kxmlcore ../bindings
-       MOC_DIR = .moc
-       OBJECTS_DIR = .obj
-       QMAKE_CXXFLAGS_DEBUG += -ansi
-}
-
-win32 {
-       INCLUDEPATH += .. ../pcre ../kxmlcore ../bindings ../icu
-       QMAKE_CXXFLAGS_RELEASE += /Zm1000
-       QMAKE_CXXFLAGS_DEBUG += /Zm1000
-}
-
diff --git a/JavaScriptCore/pcre/pcre.pri b/JavaScriptCore/pcre/pcre.pri
new file mode 100644 (file)
index 0000000..ba407e5
--- /dev/null
@@ -0,0 +1,36 @@
+# Perl Compatible Regular Expressions - Qt4 build info
+VPATH += $$PWD
+INCLUDEPATH += $$PWD
+
+SOURCES += \
+    pcre_get.c \
+    pcre_printint.c \
+    pcre_refcount.c \
+    pcre_ucp_findchar.c \
+    pcre_compile.c \
+    pcre_globals.c \
+    pcre_config.c \
+    pcre_version.c \
+    pcre_info.c \
+    pcre_study.c \
+    pcre_exec.c \
+    pcre_xclass.c \
+    ucp_findchar.c \
+    pcre_tables.c \
+    pcre_maketables.c \
+    pcre_try_flipped.c \
+    pcre_ord2utf8.c \
+    pcre_fullinfo.c
+
+CTGENFILE += \
+    dftables.c
+
+
+# GENERATOR: "chartables.c": compile and execute the chartables generator (and add it to sources)
+ctgen.output = tmp/chartables.c
+ctgen.commands = gcc ${QMAKE_FILE_NAME} -DBUILDING_QT__ -I$$PWD/../wtf -o tmp/${QMAKE_FILE_BASE} && ./tmp/${QMAKE_FILE_BASE} ${QMAKE_FILE_OUT}
+ctgen.input = CTGENFILE
+ctgen.CONFIG += target_predeps no_link
+ctgen.variable_out = GENERATED_SOURCES
+ctgen.dependency_type = TYPE_C
+QMAKE_EXTRA_COMPILERS += ctgen
index 79582ba..b2a4950 100644 (file)
@@ -1,3 +1,12 @@
+2006-12-09  Lars Knoll <lars@trolltech.com>
+
+        Reviewed by Zack
+
+        Make it possible to build WebKit with qmake.
+
+        * WebCore.pro: Added.
+        * platform/graphics/qt/GraphicsContextQt.cpp:
+
 2006-12-10  Lars Knoll <lars@trolltech.com>
 
         Reviewed by Zack.
diff --git a/WebCore/WebCore.pro b/WebCore/WebCore.pro
new file mode 100644 (file)
index 0000000..60931b9
--- /dev/null
@@ -0,0 +1,1134 @@
+# WebCore - Qt4 build info
+
+TEMPLATE = lib
+TARGET = WebKitQt
+OBJECTS_DIR = tmp
+INCLUDEPATH += tmp
+
+isEmpty(OUTPUT_DIR):OUTPUT_DIR=$$PWD/..
+DESTDIR = $$OUTPUT_DIR/lib
+
+include($$OUTPUT_DIR/config.pri)
+
+CONFIG -= warn_on
+#QMAKE_CXXFLAGS_RELEASE += -Wall -Wno-undef -Wno-unused-parameter
+
+# PRE-BUILD: make the required config.h file
+#config_h.target = config.h
+#config_h.commands = cp config.h.qmake config.h
+#config_h.depends = config.h.qmake
+#QMAKE_EXTRA_TARGETS += config_h
+#PRE_TARGETDEPS += config.h
+
+# Optional components (look for defs in config.h and included files!)
+#DEFINES += XPATH_SUPPORT=1
+DEFINES += XSLT_SUPPORT=1
+#DEFINES += XBL_SUPPORT=1
+#DEFINES += SVG_SUPPORT=1
+
+DEFINES += WTF_CHANGES=1 BUILDING_QT__=1
+
+INCLUDEPATH += $$PWD/../JavaScriptCore
+LIBS += -L$$OUTPUT_DIR/lib -lJavaScriptCore
+
+macx {
+       INCLUDEPATH += /opt/local/include /opt/local/include/libxml2
+       INCLUDEPATH += /usr/include/libxml2
+       LIBS += -L/opt/local/lib -lxml2 -lxslt
+}
+
+INCLUDEPATH +=  $$PWD \
+                $$[QT_INSTALL_PREFIX]/src/3rdparty/sqlite/ \
+                $$PWD/ForwardingHeaders \
+                $$PWD/../JavaScriptCore/kjs \
+                $$PWD/../JavaScriptCore/bindings \
+                $$PWD/platform \
+                $$PWD/platform/qt \
+                $$PWD/platform/network \
+                $$PWD/platform/network/qt \
+                $$PWD/platform/graphics \
+                $$PWD/platform/graphics/qt \
+                $$PWD/platform/graphics/svg \
+                $$PWD/loader $$PWD/loader/icon $$PWD/loader/qt \
+                $$PWD/css \
+                $$PWD/dom \
+                $$PWD/page \
+                $$PWD/bridge \
+                $$PWD/editing \
+                $$PWD/kwq \
+                $$PWD/rendering \
+                $$PWD/xml \
+                $$PWD/html \
+                $$PWD/bindings/js \
+                $$PWD/kcanvas $$PWD/kcanvas/device $$PWD/kcanvas/device/qt \
+                $$PWD/ksvg2 $$PWD/ksvg2/css $$PWD/ksvg2/svg $$PWD/ksvg2/misc $$PWD/ksvg2/events \
+                $$PWD/platform/image-decoders \
+                $$PWD/WebCore+SVG
+QT += network
+!mac:CONFIG += link_pkgconfig
+PKGCONFIG += libxslt
+LIBS += -lsqlite3
+
+
+FEATURE_DEFINES_JAVASCRIPT = LANGUAGE_JAVASCRIPT
+
+
+
+TOKENIZER = $$PWD/css/tokenizer.flex
+
+CSSBISON = $$PWD/css/CSSGrammar.y
+
+HTML_NAMES = $$PWD/html/HTMLTagNames.in
+
+ENTITIES_GPERF = $$PWD/html/HTMLEntityNames.gperf
+
+COLORDAT_GPERF = $$PWD/platform/ColorData.gperf
+
+WALDOCSSPROPS = $$PWD/css/CSSPropertyNames.in
+
+WALDOCSSVALUES = $$PWD/css/CSSValueKeywords.in
+
+SVGCSSPROPERTIES = $$PWD/ksvg2/css/CSSPropertyNames.in
+
+SVGCSSVALUES = $$PWD/ksvg2/css/CSSValueKeywords.in
+
+STYLESHEETS_EMBED = $$PWD/css/html4.css
+
+MANUALMOC += \
+    $$PWD/platform/qt/SharedTimerQt.h \
+    $$PWD/platform/qt/ScrollViewCanvasQt.h \
+    $$PWD/platform/network/qt/ResourceHandleManager.h \
+
+LUT_FILES += \
+    bindings/js/kjs_window.cpp \
+    bindings/js/kjs_css.cpp \
+    bindings/js/kjs_dom.cpp \
+    bindings/js/kjs_html.cpp \
+    bindings/js/kjs_events.cpp \
+    bindings/js/kjs_navigator.cpp \
+    bindings/js/kjs_traversal.cpp \
+    bindings/js/JSXMLHttpRequest.cpp \
+    bindings/js/JSXSLTProcessor.cpp
+
+LUT_TABLE_FILES += \
+    bindings/js/JSHTMLInputElementBase.cpp
+
+IDL_BINDINGS += \
+    css/CSSValue.idl \
+    css/CSSRuleList.idl \
+    css/CSSValueList.idl \
+    css/CSSStyleDeclaration.idl \
+    css/CSSPrimitiveValue.idl \
+    css/CSSRule.idl \
+    css/Counter.idl \
+    css/MediaList.idl \
+    dom/Event.idl \
+    dom/Range.idl \
+    dom/Text.idl \
+    dom/DOMImplementation.idl \
+    dom/NodeFilter.idl \
+    dom/MouseEvent.idl \
+    dom/CharacterData.idl \
+    dom/DocumentFragment.idl \
+    dom/Entity.idl \
+    dom/UIEvent.idl \
+    dom/Node.idl \
+    dom/ProcessingInstruction.idl \
+    dom/Notation.idl \
+    dom/Element.idl \
+    dom/DocumentType.idl \
+    dom/Document.idl \
+    dom/Attr.idl \
+    dom/MutationEvent.idl \
+    dom/KeyboardEvent.idl \
+    dom/WheelEvent.idl \
+    dom/OverflowEvent.idl \
+    dom/NodeIterator.idl \
+    dom/TreeWalker.idl \
+    dom/RangeException.idl \
+    html/CanvasGradient.idl \
+    html/CanvasPattern.idl \
+    html/CanvasRenderingContext2D.idl \
+    html/HTMLAnchorElement.idl \
+    html/HTMLAppletElement.idl \
+    html/HTMLAreaElement.idl \
+    html/HTMLBaseElement.idl \
+    html/HTMLBaseFontElement.idl \
+    html/HTMLBlockquoteElement.idl \
+    html/HTMLBodyElement.idl \
+    html/HTMLBRElement.idl \
+    html/HTMLButtonElement.idl \
+    html/HTMLCanvasElement.idl \
+    html/HTMLDirectoryElement.idl \
+    html/HTMLDivElement.idl \
+    html/HTMLDListElement.idl \
+    html/HTMLDocument.idl \
+    html/HTMLElement.idl \
+    html/HTMLFieldSetElement.idl \
+    html/HTMLFontElement.idl \
+    html/HTMLFormElement.idl \
+    html/HTMLHeadElement.idl \
+    html/HTMLHeadingElement.idl \
+    html/HTMLHRElement.idl \
+    html/HTMLHtmlElement.idl \
+    html/HTMLImageElement.idl \
+    html/HTMLInputElement.idl \
+    html/HTMLIsIndexElement.idl \
+    html/HTMLLabelElement.idl \
+    html/HTMLLegendElement.idl \
+    html/HTMLLIElement.idl \
+    html/HTMLLinkElement.idl \
+    html/HTMLMapElement.idl \
+    html/HTMLMenuElement.idl \
+    html/HTMLMetaElement.idl \
+    html/HTMLModElement.idl \
+    html/HTMLOListElement.idl \
+    html/HTMLOptGroupElement.idl \
+    html/HTMLOptionElement.idl \
+    html/HTMLParagraphElement.idl \
+    html/HTMLParamElement.idl \
+    html/HTMLPreElement.idl \
+    html/HTMLQuoteElement.idl \
+    html/HTMLScriptElement.idl \
+    html/HTMLStyleElement.idl \
+    html/HTMLTextAreaElement.idl \
+    html/HTMLTitleElement.idl \
+    html/HTMLUListElement.idl \
+    html/HTMLOptionsCollection.idl \
+    xml/DOMParser.idl \
+    xml/XMLSerializer.idl \
+    page/DOMWindow.idl
+
+SOURCES += \
+    bindings/js/kjs_binding.cpp \
+    bindings/js/kjs_css.cpp \
+    bindings/js/kjs_dom.cpp \
+    bindings/js/kjs_events.cpp \
+    bindings/js/kjs_html.cpp \
+    bindings/js/kjs_navigator.cpp \
+    bindings/js/kjs_proxy.cpp \
+    bindings/js/kjs_traversal.cpp \
+    bindings/js/kjs_window.cpp \
+    bindings/js/JSCanvasRenderingContext2DCustom.cpp \
+    bindings/js/JSHTMLElementWrapperFactory.cpp \
+    bindings/js/JSHTMLFormElementCustom.cpp \
+    bindings/js/JSHTMLOptionElementConstructor.cpp \
+    bindings/js/JSHTMLOptionsCollectionCustom.cpp \
+    bindings/js/JSHTMLInputElementBase.cpp \
+    bindings/js/JSXMLHttpRequest.cpp \
+    bindings/js/JSNodeIteratorCustom.cpp \
+    bindings/js/JSTreeWalkerCustom.cpp \
+    bindings/js/JSXSLTProcessor.cpp \
+    css/cssparser.cpp \
+    css/cssstyleselector.cpp \
+    css/csshelper.cpp \
+    css/FontValue.cpp \
+    css/CSSSelector.cpp \
+    css/MediaFeatureNames.cpp \
+    css/CSSRuleList.cpp \
+    css/CSSCharsetRule.cpp \
+    css/MediaQueryExp.cpp \
+    css/CSSImportRule.cpp \
+    css/CSSValueList.cpp \
+    css/CSSStyleDeclaration.cpp \
+    css/CSSPrimitiveValue.cpp \
+    css/CSSProperty.cpp \
+    css/CSSCursorImageValue.cpp \
+    css/CSSBorderImageValue.cpp \
+    css/MediaQuery.cpp \
+    css/StyleSheet.cpp \
+    css/CSSPageRule.cpp \
+    css/StyleSheetList.cpp \
+    css/MediaQueryEvaluator.cpp \
+    css/StyleBase.cpp \
+    css/CSSRule.cpp \
+    css/CSSStyleSheet.cpp \
+    css/CSSInitialValue.cpp \
+    css/CSSImageValue.cpp \
+    css/CSSStyleRule.cpp \
+    css/CSSInheritedValue.cpp \
+    css/StyleList.cpp \
+    css/FontFamilyValue.cpp \
+    css/CSSMediaRule.cpp \
+    css/CSSComputedStyleDeclaration.cpp \
+    css/CSSMutableStyleDeclaration.cpp \
+    css/MediaList.cpp \
+    css/CSSFontFaceRule.cpp \
+    css/ShadowValue.cpp \
+    dom/Event.cpp \
+    dom/Range.cpp \
+    dom/Text.cpp \
+    dom/DOMImplementation.cpp \
+    dom/NodeFilter.cpp \
+    dom/MouseEvent.cpp \
+    dom/EntityReference.cpp \
+    dom/NameNodeList.cpp \
+    dom/CharacterData.cpp \
+    dom/XMLTokenizer.cpp \
+    dom/StyleElement.cpp \
+    dom/StyledElement.cpp \
+    dom/MappedAttribute.cpp \
+    dom/NamedAttrMap.cpp \
+    dom/ContainerNode.cpp \
+    dom/NamedMappedAttrMap.cpp \
+    dom/EventNames.cpp \
+    dom/Comment.cpp \
+    dom/EditingText.cpp \
+    dom/DocumentFragment.cpp \
+    dom/ChildNodeList.cpp \
+    dom/Entity.cpp \
+    dom/BeforeTextInsertedEvent.cpp \
+    dom/UIEvent.cpp \
+    dom/Node.cpp \
+    dom/Attribute.cpp \
+    dom/Position.cpp \
+    dom/ProcessingInstruction.cpp \
+    dom/TreeWalker.cpp \
+    dom/Notation.cpp \
+    dom/Element.cpp \
+    dom/NodeFilterCondition.cpp \
+    dom/CDATASection.cpp \
+    dom/DocumentType.cpp \
+    dom/NodeList.cpp \
+    dom/CSSMappedAttributeDeclaration.cpp \
+    dom/QualifiedName.cpp \
+    dom/Document.cpp \
+    dom/Attr.cpp \
+    dom/OverflowEvent.cpp \
+    dom/RegisteredEventListener.cpp \
+    dom/EventTargetNode.cpp \
+    dom/BeforeUnloadEvent.cpp \
+    dom/MutationEvent.cpp \
+    dom/MouseRelatedEvent.cpp \
+    dom/KeyboardEvent.cpp \
+    dom/NodeIterator.cpp \
+    dom/ClipboardEvent.cpp \
+    dom/Traversal.cpp \
+    dom/WheelEvent.cpp \
+    dom/UIEventWithKeyState.cpp \
+    editing/DeleteButtonController.cpp \
+    editing/DeleteButton.cpp \
+    editing/Editor.cpp \
+    editing/CommandByName.cpp \
+    editing/InsertIntoTextNodeCommand.cpp \
+    editing/WrapContentsInDummySpanCommand.cpp \
+    editing/ReplaceSelectionCommand.cpp \
+    editing/MoveSelectionCommand.cpp \
+    editing/RemoveNodePreservingChildrenCommand.cpp \
+    editing/HTMLInterchange.cpp \
+    editing/UnlinkCommand.cpp \
+    editing/InsertLineBreakCommand.cpp \
+    editing/FormatBlockCommand.cpp \
+    editing/AppendNodeCommand.cpp \
+    editing/BreakBlockquoteCommand.cpp \
+    editing/htmlediting.cpp \
+    editing/markup.cpp \
+    editing/InsertParagraphSeparatorCommand.cpp \
+    editing/ModifySelectionListLevel.cpp \
+    editing/JSEditor.cpp \
+    editing/Selection.cpp \
+    editing/TextIterator.cpp \
+    editing/InsertListCommand.cpp \
+    editing/IndentOutdentCommand.cpp \
+    editing/InsertNodeBeforeCommand.cpp \
+    editing/SplitTextNodeContainingElementCommand.cpp \
+    editing/TypingCommand.cpp \
+    editing/MergeIdenticalElementsCommand.cpp \
+    editing/EditCommand.cpp \
+    editing/SplitTextNodeCommand.cpp \
+    editing/RemoveCSSPropertyCommand.cpp \
+    editing/JoinTextNodesCommand.cpp \
+    editing/InsertTextCommand.cpp \
+    editing/SelectionController.cpp \
+    editing/DeleteSelectionCommand.cpp \
+    editing/SplitElementCommand.cpp \
+    editing/VisiblePosition.cpp \
+    editing/ApplyStyleCommand.cpp \
+    editing/visible_units.cpp \
+    editing/RemoveNodeAttributeCommand.cpp \
+    editing/DeleteFromTextNodeCommand.cpp \
+    editing/RemoveNodeCommand.cpp \
+    editing/CompositeEditCommand.cpp \
+    editing/SetNodeAttributeCommand.cpp \
+    editing/CreateLinkCommand.cpp \
+    editing/qt/EditorQt.cpp \
+#    kwq/KWQWMatrix.cpp \
+#    kwq/KWQCString.cpp \
+#    kwq/KWQTextStream.cpp \
+    xml/XSLStyleSheet.cpp \
+    xml/XSLTProcessor.cpp \
+    xml/XSLImportRule.cpp \
+    xml/DOMParser.cpp \
+    xml/XMLSerializer.cpp \
+    xml/xmlhttprequest.cpp \
+#    icon/IconDatabase.cpp \
+#    icon/SQLTransaction.cpp \
+#    icon/SQLStatement.cpp \
+#    icon/SiteIcon.cpp \
+#    icon/SQLDatabase.cpp \
+    html/HTMLParser.cpp \
+    html/HTMLFontElement.cpp \
+    html/HTMLEmbedElement.cpp \
+    html/HTMLLinkElement.cpp \
+    html/HTMLOptGroupElement.cpp \
+    html/HTMLCanvasElement.cpp \
+    html/HTMLTitleElement.cpp \
+    html/CanvasRenderingContext2D.cpp \
+    html/HTMLObjectElement.cpp \
+    html/HTMLAppletElement.cpp \
+    html/HTMLKeygenElement.cpp \
+    html/HTMLDivElement.cpp \
+    html/HTMLMapElement.cpp \
+    html/HTMLScriptElement.cpp \
+    html/HTMLHtmlElement.cpp \
+    html/HTMLTokenizer.cpp \
+    html/HTMLOptionElement.cpp \
+    html/HTMLTableCaptionElement.cpp \
+    html/HTMLImageLoader.cpp \
+    html/FormDataList.cpp \
+    html/HTMLLabelElement.cpp \
+    html/HTMLTableColElement.cpp \
+    html/HTMLDListElement.cpp \
+    html/HTMLTablePartElement.cpp \
+    html/HTMLTableSectionElement.cpp \
+    html/HTMLTextAreaElement.cpp \
+    html/HTMLTextFieldInnerElement.cpp \
+    html/HTMLAreaElement.cpp \
+    html/CanvasStyle.cpp \
+    html/HTMLIsIndexElement.cpp \
+    html/HTMLHeadElement.cpp \
+    html/HTMLFrameSetElement.cpp \
+    html/HTMLBodyElement.cpp \
+    html/HTMLBRElement.cpp \
+    html/HTMLNameCollection.cpp \
+    html/HTMLLegendElement.cpp \
+    html/HTMLLIElement.cpp \
+    html/HTMLParamElement.cpp \
+    html/HTMLMetaElement.cpp \
+    html/HTMLHeadingElement.cpp \
+    html/HTMLUListElement.cpp \
+    html/HTMLInputElement.cpp \
+    html/HTMLElementFactory.cpp \
+    html/HTMLPlugInElement.cpp \
+    html/HTMLFieldSetElement.cpp \
+    html/HTMLParagraphElement.cpp \
+    html/HTMLStyleElement.cpp \
+    html/HTMLMarqueeElement.cpp \
+    html/HTMLGenericFormElement.cpp \
+    html/HTMLElement.cpp \
+    html/HTMLDocument.cpp \
+    html/HTMLOListElement.cpp \
+    html/HTMLFormElement.cpp \
+    html/HTMLPreElement.cpp \
+    html/HTMLTableElement.cpp \
+    html/CanvasGradient.cpp \
+    html/HTMLViewSourceDocument.cpp \
+    html/HTMLFrameElement.cpp \
+    html/HTMLFrameElementBase.cpp \
+    html/HTMLAnchorElement.cpp \
+    html/HTMLTableCellElement.cpp \
+    html/CanvasPattern.cpp \
+    html/HTMLBlockquoteElement.cpp \
+    html/HTMLIFrameElement.cpp \
+    html/HTMLMenuElement.cpp \
+    html/HTMLCollection.cpp \
+    html/HTMLModElement.cpp \
+    html/HTMLQuoteElement.cpp \
+    html/HTMLDirectoryElement.cpp \
+    html/HTMLSelectElement.cpp \
+    html/HTMLImageElement.cpp \
+    html/HTMLOptionsCollection.cpp \
+    html/HTMLTableRowElement.cpp \
+    html/HTMLBaseFontElement.cpp \
+    html/HTMLHRElement.cpp \
+    html/HTMLButtonElement.cpp \
+    html/HTMLFormCollection.cpp \
+    html/HTMLBaseElement.cpp \
+    page/FrameTree.cpp \
+    page/DOMWindow.cpp \
+    page/MouseEventWithHitTestResults.cpp \
+    page/Frame.cpp \
+    page/Page.cpp \
+    page/Chrome.cpp \
+    page/FrameView.cpp \
+    page/PageState.cpp \
+    page/ContextMenuController.cpp \
+    page/EventHandler.cpp \
+    page/qt/EventHandlerQt.cpp \
+    xml/XPathUtil.cpp \
+    xml/XPathPredicate.cpp \
+    xml/XPathVariableReference.cpp \
+    xml/XPathValue.cpp \
+    xml/XPathPath.cpp \
+    xml/XPathFunctions.cpp \
+    xml/XPathParser.cpp \
+    xml/XPathStep.cpp \
+    xml/XPathExpressionNode.cpp \
+    xml/XPathNamespace.cpp \
+    xml/XPathNSResolver.cpp \
+    xml/XPathExpression.cpp \
+    xml/XPathResult.cpp \
+    xml/XPathEvaluator.cpp \
+    loader/Cache.cpp \
+    loader/CachedCSSStyleSheet.cpp \
+    loader/CachedImage.cpp \
+    loader/CachedResource.cpp \
+    loader/CachedResourceClientWalker.cpp \
+    loader/CachedScript.cpp \
+    loader/CachedXSLStyleSheet.cpp \
+    loader/DocLoader.cpp \
+    loader/DocumentLoader.cpp \
+    loader/FormState.cpp \
+    loader/FrameLoader.cpp \
+    loader/ImageDocument.cpp \
+    loader/MainResourceLoader.cpp \
+    loader/NetscapePlugInStreamLoader.cpp \
+    loader/PluginDocument.cpp \
+    loader/Request.cpp \
+    loader/ResourceLoader.cpp \
+    loader/SubresourceLoader.cpp \
+    loader/TextDocument.cpp \
+    loader/TextResourceDecoder.cpp \
+    loader/loader.cpp \
+    loader/icon/IconLoader.cpp \
+    loader/icon/IconDatabase.cpp \ 
+    loader/icon/IconDataCache.cpp \
+    loader/icon/SQLTransaction.cpp \
+    loader/icon/SQLStatement.cpp \
+    loader/icon/SQLDatabase.cpp \
+    loader/qt/FrameLoaderQt.cpp \
+    loader/qt/FrameLoaderClientQt.cpp \
+    loader/qt/DocumentLoaderQt.cpp \
+    loader/qt/NavigationActionQt.cpp \
+    loader/qt/ResourceLoaderQt.cpp \
+    platform/CString.cpp \
+    platform/AtomicString.cpp \
+    platform/graphics/AffineTransform.cpp \
+    platform/TextStream.cpp \
+    platform/Widget.cpp \
+    platform/GlyphWidthMap.cpp \
+    platform/graphics/Pen.cpp \
+    platform/graphics/Image.cpp \
+    platform/DeprecatedStringList.cpp \
+    platform/graphics/FloatSize.cpp \
+    platform/String.cpp \
+    platform/DeprecatedValueListImpl.cpp \
+    platform/graphics/IntRect.cpp \
+    platform/Arena.cpp \
+    platform/ArrayImpl.cpp \
+    platform/graphics/FloatPoint.cpp \
+    platform/SegmentedString.cpp \
+    platform/TextCodec.cpp \
+    platform/qt/TextCodecQt.cpp \
+    platform/DeprecatedString.cpp \
+    platform/DeprecatedCString.cpp \
+    platform/qt/TextBreakIteratorQt.cpp \
+    platform/TextCodecLatin1.cpp \
+    platform/TextCodecUTF16.cpp \
+    platform/TextDecoder.cpp \
+    platform/TextEncoding.cpp \
+    platform/TextEncodingRegistry.cpp \
+    platform/Logging.cpp \
+    platform/graphics/Color.cpp \
+    platform/DeprecatedPtrListImpl.cpp \
+    platform/KURL.cpp \
+    platform/StringImpl.cpp \
+    platform/graphics/FloatRect.cpp \
+    platform/graphics/Path.cpp \
+    platform/MimeTypeRegistry.cpp \
+    platform/qt/MimeTypeRegistryQt.cpp \
+    platform/qt/EditorClientQt.cpp \
+    platform/qt/SoundQt.cpp \
+    platform/qt/LoaderFunctionsQt.cpp \
+    platform/qt/FileChooserQt.cpp \
+    platform/graphics/qt/IconQt.cpp \
+    platform/graphics/qt/AffineTransformQt.cpp \
+    platform/qt/StringQt.cpp \
+    platform/graphics/qt/ColorQt.cpp \
+    platform/qt/GlyphMapQt.cpp \
+    platform/qt/CookieJarQt.cpp \
+    platform/qt/FontPlatformDataQt.cpp \
+    platform/qt/ScrollViewQt.cpp \
+    platform/qt/TemporaryLinkStubs.cpp \
+    platform/qt/CursorQt.cpp \
+    platform/qt/WidgetQt.cpp \
+    platform/qt/SystemTimeQt.cpp \
+    platform/qt/RenderThemeQt.cpp \
+    platform/qt/FontDataQt.cpp \
+    platform/qt/SharedTimerQt.cpp \
+    platform/qt/PopupMenuQt.cpp \
+    platform/qt/ChromeClientQt.cpp \
+    platform/qt/ContextMenuQt.cpp \
+    platform/qt/ContextMenuItemQt.cpp \
+    platform/qt/ContextMenuClientQt.cpp \
+    platform/qt/PasteBoardQt.cpp \
+    platform/ContextMenu.cpp \
+    platform/network/FormData.cpp \
+    platform/network/ResourceHandle.cpp \
+    platform/network/ResourceRequest.cpp \
+    platform/network/ResourceResponse.cpp \
+    platform/network/qt/ResourceHandleQt.cpp \
+    platform/network/HTTPParsers.cpp \
+    platform/network/qt/ResourceHandleManager.cpp \
+    platform/graphics/qt/FloatPointQt.cpp \
+    platform/graphics/qt/FloatRectQt.cpp \
+    platform/graphics/qt/GraphicsContextQt.cpp \
+    platform/graphics/qt/IntPointQt.cpp \
+    platform/graphics/qt/IntRectQt.cpp \
+    platform/graphics/qt/IntSizeQt.cpp \
+    platform/graphics/qt/PathQt.cpp \
+    platform/graphics/qt/ImageQt.cpp \
+    platform/graphics/qt/ImageSourceQt.cpp \
+    platform/graphics/qt/ImageDecoderQt.cpp \
+    platform/qt/FontCacheQt.cpp \
+    platform/qt/FontQt.cpp \
+#    platform/qt/LineEditQt.cpp \
+    platform/qt/ScreenQt.cpp \
+#    platform/qt/FileButtonQt.cpp \
+    platform/qt/FrameQt.cpp \
+    platform/qt/FrameQtClient.cpp \
+#    platform/qt/TextEditQt.cpp \
+    platform/qt/ScrollViewCanvasQt.cpp \
+    platform/qt/PlatformMouseEventQt.cpp \
+    platform/qt/PlatformKeyboardEventQt.cpp \
+    platform/qt/TextBoundaries.cpp \
+    platform/graphics/GraphicsTypes.cpp \
+    platform/graphics/GraphicsContext.cpp \
+    platform/FontFamily.cpp \
+    platform/Timer.cpp \
+    platform/FontCache.cpp \
+    platform/FontFallbackList.cpp \
+    platform/RegularExpression.cpp \
+    platform/GlyphMap.cpp \
+    platform/Font.cpp \
+    platform/FontData.cpp \
+    rendering/HitTestResult.cpp \
+    rendering/RenderCounter.cpp \
+    rendering/CounterNode.cpp \
+    rendering/CounterResetNode.cpp \
+    rendering/RenderListBox.cpp \
+    rendering/RenderReplaced.cpp \
+    rendering/RenderPartObject.cpp \
+    rendering/RenderView.cpp \
+    rendering/RenderMenuList.cpp \
+    rendering/InlineFlowBox.cpp \
+    rendering/RenderListMarker.cpp \
+    rendering/RenderImage.cpp \
+    rendering/RenderTheme.cpp \
+    rendering/RenderLayer.cpp \
+    rendering/RenderTableCell.cpp \
+    rendering/RenderListItem.cpp \
+    rendering/AutoTableLayout.cpp \
+    rendering/RenderArena.cpp \
+    rendering/RenderWidget.cpp \
+    rendering/break_lines.cpp \
+    rendering/RenderStyle.cpp \
+    rendering/RenderContainer.cpp \
+    rendering/EllipsisBox.cpp \
+    rendering/RenderFieldset.cpp \
+    rendering/RenderFrameSet.cpp \
+    rendering/RenderTable.cpp \
+    rendering/RenderPart.cpp \
+    rendering/RenderBlock.cpp \
+    rendering/InlineBox.cpp \
+    rendering/RenderText.cpp \
+    rendering/RenderFrame.cpp \
+    rendering/RenderLineEdit.cpp \
+    rendering/FixedTableLayout.cpp \
+    rendering/RenderTableCol.cpp \
+    rendering/RenderObject.cpp \
+    rendering/RenderTreeAsText.cpp \
+    rendering/SVGRenderTreeAsText.cpp \
+    rendering/RootInlineBox.cpp \
+    rendering/RenderFormElement.cpp \
+    rendering/RenderBox.cpp \
+    rendering/RenderButton.cpp \
+    rendering/RenderTableSection.cpp \
+    rendering/ListMarkerBox.cpp \
+    rendering/RenderLabel.cpp \
+    rendering/RenderTableRow.cpp \
+    rendering/RenderInline.cpp \
+    rendering/RenderFileUploadControl.cpp \
+    rendering/RenderHTMLCanvas.cpp \
+    rendering/bidi.cpp \
+    rendering/RenderFlexibleBox.cpp \
+    rendering/RenderApplet.cpp \
+    rendering/RenderLegend.cpp \
+    rendering/RenderTextControl.cpp \
+    rendering/RenderTextFragment.cpp \
+    rendering/RenderBR.cpp \
+    rendering/InlineTextBox.cpp \
+    rendering/RenderFlow.cpp \
+    rendering/RenderSlider.cpp
+
+contains(DEFINES, XPATH_SUPPORT=1) {
+    FEATURE_DEFINES_JAVASCRIPT += XPATH_SUPPORT
+
+    # TODO: convert to generator
+    !exists(xml/XPathGrammar.cpp) {
+        message("generating xpath grammar")
+        !system( bison -d -p xpathyy xml/XPathGrammar.y ): error("error executing bison")
+        !system( mv XPathGrammar.tab.c xml/XPathGrammar.cpp ): error("error renaming XPathGrammar.cpp")
+        !system( mv XPathGrammar.tab.h xml/XPathGrammar.h ): error("error renaming XPathGrammar.h")
+    }
+
+    IDL_BINDINGS += \
+        xpath/XPathNSResolver.idl \
+        xpath/XPathExpression.idl \
+        xpath/XPathResult.idl \
+        xpath/XPathEvaluator.idl
+
+    SOURCES += xml/XPathGrammar.cpp
+}
+
+contains(DEFINES, XSLT_SUPPORT=1) {
+    FEATURE_DEFINES_JAVASCRIPT += XSLT_SUPPORT
+}
+
+contains(DEFINES, XBL_SUPPORT=1) {
+    FEATURE_DEFINES_JAVASCRIPT += XBL_SUPPORT
+}
+
+contains(DEFINES, SVG_SUPPORT=1) {
+    FEATURE_DEFINES_JAVASCRIPT += SVG_SUPPORT
+
+    SVG_NAMES = $$PWD/ksvg2/svg/svgtags.in
+
+    XML_NAMES = $$PWD/xml/xmlattrs.in
+
+    XLINK_NAMES = $$PWD/ksvg2/misc/xlinkattrs.in
+
+    IDL_BINDINGS += ksvg2/svg/SVGAElement.idl \
+        ksvg2/svg/SVGAngle.idl \
+        ksvg2/svg/SVGAnimateColorElement.idl \
+        ksvg2/svg/SVGAnimateElement.idl \
+        ksvg2/svg/SVGAnimateTransformElement.idl \
+        ksvg2/svg/SVGAnimatedAngle.idl \
+        ksvg2/svg/SVGAnimatedBoolean.idl \
+        ksvg2/svg/SVGAnimatedEnumeration.idl \
+        ksvg2/svg/SVGAnimatedInteger.idl \
+        ksvg2/svg/SVGAnimatedLength.idl \
+        ksvg2/svg/SVGAnimatedLengthList.idl \
+        ksvg2/svg/SVGAnimatedNumber.idl \
+        ksvg2/svg/SVGAnimatedNumberList.idl \
+        ksvg2/svg/SVGAnimatedPreserveAspectRatio.idl \
+        ksvg2/svg/SVGAnimatedRect.idl \
+        ksvg2/svg/SVGAnimatedString.idl \
+        ksvg2/svg/SVGAnimatedTransformList.idl \
+        ksvg2/svg/SVGAnimationElement.idl \
+        ksvg2/svg/SVGCircleElement.idl \
+        ksvg2/svg/SVGClipPathElement.idl \
+        ksvg2/svg/SVGColor.idl \
+        ksvg2/svg/SVGComponentTransferFunctionElement.idl \
+        ksvg2/svg/SVGCursorElement.idl \
+        ksvg2/svg/SVGDefsElement.idl \
+        ksvg2/svg/SVGDescElement.idl \
+        ksvg2/svg/SVGDocument.idl \
+        ksvg2/svg/SVGElement.idl \
+        ksvg2/svg/SVGEllipseElement.idl \
+        ksvg2/svg/SVGFEBlendElement.idl \
+        ksvg2/svg/SVGFEColorMatrixElement.idl \
+        ksvg2/svg/SVGFEComponentTransferElement.idl \
+        ksvg2/svg/SVGFECompositeElement.idl \
+        ksvg2/svg/SVGFEDiffuseLightingElement.idl \
+        ksvg2/svg/SVGFEDisplacementMapElement.idl \
+        ksvg2/svg/SVGFEDistantLightElement.idl \
+        ksvg2/svg/SVGFEFloodElement.idl \
+        ksvg2/svg/SVGFEFuncAElement.idl \
+        ksvg2/svg/SVGFEFuncBElement.idl \
+        ksvg2/svg/SVGFEFuncGElement.idl \
+        ksvg2/svg/SVGFEFuncRElement.idl \
+        ksvg2/svg/SVGFEGaussianBlurElement.idl \
+        ksvg2/svg/SVGFEImageElement.idl \
+        ksvg2/svg/SVGFEMergeElement.idl \
+        ksvg2/svg/SVGFEMergeNodeElement.idl \
+        ksvg2/svg/SVGFEOffsetElement.idl \
+        ksvg2/svg/SVGFEPointLightElement.idl \
+        ksvg2/svg/SVGFESpecularLightingElement.idl \
+        ksvg2/svg/SVGFESpotLightElement.idl \
+        ksvg2/svg/SVGFETileElement.idl \
+        ksvg2/svg/SVGFETurbulenceElement.idl \
+        ksvg2/svg/SVGFilterElement.idl \
+        ksvg2/svg/SVGForeignObjectElement.idl \
+        ksvg2/svg/SVGGElement.idl \
+        ksvg2/svg/SVGGradientElement.idl \
+        ksvg2/svg/SVGImageElement.idl \
+        ksvg2/svg/SVGLength.idl \
+        ksvg2/svg/SVGLengthList.idl \
+        ksvg2/svg/SVGLineElement.idl \
+        ksvg2/svg/SVGLinearGradientElement.idl \
+        ksvg2/svg/SVGMaskElement.idl \
+        ksvg2/svg/SVGMarkerElement.idl \
+        ksvg2/svg/SVGMatrix.idl \
+        ksvg2/svg/SVGMetadataElement.idl \
+        ksvg2/svg/SVGNumberList.idl \
+        ksvg2/svg/SVGPaint.idl \
+        ksvg2/svg/SVGPathElement.idl \
+        ksvg2/svg/SVGPathSeg.idl \
+        ksvg2/svg/SVGPathSegArcAbs.idl \
+        ksvg2/svg/SVGPathSegArcRel.idl \
+        ksvg2/svg/SVGPathSegClosePath.idl \
+        ksvg2/svg/SVGPathSegCurvetoCubicAbs.idl \
+        ksvg2/svg/SVGPathSegCurvetoCubicRel.idl \
+        ksvg2/svg/SVGPathSegCurvetoCubicSmoothAbs.idl \
+        ksvg2/svg/SVGPathSegCurvetoCubicSmoothRel.idl \
+        ksvg2/svg/SVGPathSegCurvetoQuadraticAbs.idl \
+        ksvg2/svg/SVGPathSegCurvetoQuadraticRel.idl \
+        ksvg2/svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl \
+        ksvg2/svg/SVGPathSegCurvetoQuadraticSmoothRel.idl \
+        ksvg2/svg/SVGPathSegLinetoAbs.idl \
+        ksvg2/svg/SVGPathSegLinetoHorizontalAbs.idl \
+        ksvg2/svg/SVGPathSegLinetoHorizontalRel.idl \
+        ksvg2/svg/SVGPathSegLinetoRel.idl \
+        ksvg2/svg/SVGPathSegLinetoVerticalAbs.idl \
+        ksvg2/svg/SVGPathSegLinetoVerticalRel.idl \
+        ksvg2/svg/SVGPathSegList.idl \
+        ksvg2/svg/SVGPathSegMovetoAbs.idl \
+        ksvg2/svg/SVGPathSegMovetoRel.idl \
+        ksvg2/svg/SVGPatternElement.idl \
+        ksvg2/svg/SVGPointList.idl \
+        ksvg2/svg/SVGPolygonElement.idl \
+        ksvg2/svg/SVGPolylineElement.idl \
+        ksvg2/svg/SVGPreserveAspectRatio.idl \
+        ksvg2/svg/SVGRadialGradientElement.idl \
+        ksvg2/svg/SVGRectElement.idl \
+        ksvg2/svg/SVGRenderingIntent.idl \
+        ksvg2/svg/SVGSetElement.idl \
+        ksvg2/svg/SVGScriptElement.idl \
+        ksvg2/svg/SVGStyleElement.idl \
+        ksvg2/svg/SVGSwitchElement.idl \
+        ksvg2/svg/SVGStopElement.idl \
+        ksvg2/svg/SVGStringList.idl \
+        ksvg2/svg/SVGSymbolElement.idl \
+        ksvg2/svg/SVGSVGElement.idl \
+        ksvg2/svg/SVGTRefElement.idl \
+        ksvg2/svg/SVGTSpanElement.idl \
+        ksvg2/svg/SVGTextElement.idl \
+        ksvg2/svg/SVGTextContentElement.idl \
+        ksvg2/svg/SVGTextPositioningElement.idl \
+        ksvg2/svg/SVGTitleElement.idl \
+        ksvg2/svg/SVGTransform.idl \
+        ksvg2/svg/SVGTransformList.idl \
+        ksvg2/svg/SVGUnitTypes.idl \
+        ksvg2/svg/SVGUseElement.idl \
+        ksvg2/svg/SVGViewElement.idl \
+        ksvg2/events/SVGZoomEvent.idl
+
+    LUT_TABLE_FILES += \
+        bindings/js/JSSVGNumber.cpp \
+        bindings/js/JSSVGPoint.cpp \
+        bindings/js/JSSVGRect.cpp
+
+    SOURCES += \
+# TODO: this-one-is-not-auto-added! FIXME! tmp/SVGElementFactory.cpp \
+        bindings/js/JSSVGPoint.cpp \
+        bindings/js/JSSVGRect.cpp \
+        bindings/js/JSSVGNumber.cpp \
+        bindings/js/JSSVGElementWrapperFactory.cpp \
+        ksvg2/css/SVGCSSParser.cpp \
+        ksvg2/css/SVGRenderStyleDefs.cpp \
+        ksvg2/css/SVGRenderStyle.cpp \
+        ksvg2/css/SVGCSSStyleSelector.cpp \
+        ksvg2/svg/SVGHelper.cpp \
+        ksvg2/svg/SVGFEFuncBElement.cpp \
+        ksvg2/svg/SVGPathSeg.cpp \
+        ksvg2/svg/SVGColor.cpp \
+        ksvg2/svg/SVGSwitchElement.cpp \
+        ksvg2/svg/SVGFETileElement.cpp \
+        ksvg2/svg/SVGDOMImplementation.cpp \
+        ksvg2/svg/SVGMarkerElement.cpp \
+        ksvg2/svg/SVGFECompositeElement.cpp \
+        ksvg2/svg/SVGImageElement.cpp \
+        ksvg2/svg/SVGAnimateElement.cpp \
+        ksvg2/svg/SVGURIReference.cpp \
+        ksvg2/svg/SVGLength.cpp \
+        ksvg2/svg/SVGPathSegCurvetoCubic.cpp \
+        ksvg2/svg/SVGExternalResourcesRequired.cpp \
+        ksvg2/svg/SVGPolylineElement.cpp \
+        ksvg2/svg/SVGFEOffsetElement.cpp \
+        ksvg2/svg/SVGFETurbulenceElement.cpp \
+        ksvg2/svg/SVGZoomAndPan.cpp \
+        ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp \
+        ksvg2/svg/SVGStyledLocatableElement.cpp \
+        ksvg2/svg/SVGLineElement.cpp \
+        ksvg2/svg/SVGTransform.cpp \
+        ksvg2/svg/SVGPathSegLinetoVertical.cpp \
+        ksvg2/svg/SVGFitToViewBox.cpp \
+        ksvg2/svg/SVGRadialGradientElement.cpp \
+        ksvg2/svg/SVGMatrix.cpp \
+        ksvg2/svg/SVGMaskElement.cpp \
+        ksvg2/svg/SVGTitleElement.cpp \
+        ksvg2/svg/SVGTRefElement.cpp \
+        ksvg2/svg/SVGLangSpace.cpp \
+        ksvg2/svg/SVGTransformList.cpp \
+        ksvg2/svg/SVGStylable.cpp \
+        ksvg2/svg/SVGPolyElement.cpp \
+        ksvg2/svg/SVGPolygonElement.cpp \
+#        ksvg2/svg/SVGElementInstanceList.cpp \
+        ksvg2/svg/SVGTSpanElement.cpp \
+        ksvg2/svg/SVGFEFuncRElement.cpp \
+        ksvg2/svg/SVGFEFloodElement.cpp \
+        ksvg2/svg/SVGPointList.cpp \
+        ksvg2/svg/SVGAnimatedPoints.cpp \
+        ksvg2/svg/SVGAnimatedPathData.cpp \
+        ksvg2/svg/SVGUseElement.cpp \
+        ksvg2/svg/SVGNumberList.cpp \
+        ksvg2/svg/SVGFEPointLightElement.cpp \
+        ksvg2/svg/SVGPathSegLineto.cpp \
+        ksvg2/svg/SVGRectElement.cpp \
+        ksvg2/svg/SVGTextContentElement.cpp \
+        ksvg2/svg/SVGFESpotLightElement.cpp \
+        ksvg2/svg/SVGLocatable.cpp \
+        ksvg2/svg/SVGEllipseElement.cpp \
+        ksvg2/svg/SVGPathElement.cpp \
+        ksvg2/svg/SVGStyledElement.cpp \
+        ksvg2/svg/SVGFEMergeNodeElement.cpp \
+        ksvg2/svg/svgpathparser.cpp \
+        ksvg2/svg/SVGFEGaussianBlurElement.cpp \
+        ksvg2/svg/SVGLinearGradientElement.cpp \
+        ksvg2/svg/SVGFEDisplacementMapElement.cpp \
+        ksvg2/svg/SVGFEImageElement.cpp \
+        ksvg2/svg/SVGFEDiffuseLightingElement.cpp \
+        ksvg2/svg/SVGSymbolElement.cpp \
+        ksvg2/svg/SVGForeignObjectElement.cpp \
+        ksvg2/svg/SVGAngle.cpp \
+        ksvg2/svg/SVGPathSegCurvetoQuadratic.cpp \
+        ksvg2/svg/SVGSVGElement.cpp \
+        ksvg2/svg/SVGFESpecularLightingElement.cpp \
+        ksvg2/svg/SVGAnimateColorElement.cpp \
+        ksvg2/svg/SVGGElement.cpp \
+        ksvg2/svg/SVGFEFuncGElement.cpp \
+        ksvg2/svg/SVGFEComponentTransferElement.cpp \
+        ksvg2/svg/SVGSetElement.cpp \
+        ksvg2/svg/SVGFEBlendElement.cpp \
+        ksvg2/svg/SVGFEMergeElement.cpp \
+        ksvg2/svg/SVGCursorElement.cpp \
+        ksvg2/svg/SVGStringList.cpp \
+#        ksvg2/svg/SVGElementInstance.cpp \
+        ksvg2/svg/SVGFilterElement.cpp \
+        ksvg2/svg/SVGPathSegCurvetoCubicSmooth.cpp \
+        ksvg2/svg/SVGPatternElement.cpp \
+        ksvg2/svg/SVGPathSegList.cpp \
+        ksvg2/svg/SVGStyleElement.cpp \
+        ksvg2/svg/SVGPaint.cpp \
+        ksvg2/svg/SVGFEDistantLightElement.cpp \
+        ksvg2/svg/SVGTextPositioningElement.cpp \
+        ksvg2/svg/SVGPreserveAspectRatio.cpp \
+        ksvg2/svg/SVGScriptElement.cpp \
+        ksvg2/svg/SVGComponentTransferFunctionElement.cpp \
+        ksvg2/svg/SVGTextElement.cpp \
+        ksvg2/svg/SVGViewElement.cpp \
+        ksvg2/svg/SVGLengthList.cpp \
+        ksvg2/svg/SVGStyledTransformableElement.cpp \
+        ksvg2/svg/SVGPathSegArc.cpp \
+        ksvg2/svg/SVGDescElement.cpp \
+        ksvg2/svg/SVGTransformable.cpp \
+        ksvg2/svg/SVGDocument.cpp \
+        ksvg2/svg/SVGClipPathElement.cpp \
+        ksvg2/svg/SVGPathSegMoveto.cpp \
+        ksvg2/svg/SVGAElement.cpp \
+        ksvg2/svg/SVGCircleElement.cpp \
+        ksvg2/svg/SVGFEFuncAElement.cpp \
+        ksvg2/svg/SVGTests.cpp \
+        ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.cpp \
+        ksvg2/svg/SVGElement.cpp \
+        ksvg2/svg/SVGAnimateTransformElement.cpp \
+        ksvg2/svg/SVGFEColorMatrixElement.cpp \
+        ksvg2/svg/SVGGradientElement.cpp \
+        ksvg2/svg/SVGAnimationElement.cpp \
+        ksvg2/svg/SVGFELightElement.cpp \
+        ksvg2/svg/SVGPathSegClosePath.cpp \
+        ksvg2/svg/SVGPathSegLinetoHorizontal.cpp \
+        ksvg2/svg/SVGStopElement.cpp \
+        ksvg2/svg/SVGDefsElement.cpp \
+        ksvg2/svg/SVGMetadataElement.cpp \
+        ksvg2/misc/SVGImageLoader.cpp \
+        ksvg2/misc/SVGDocumentExtensions.cpp \
+        ksvg2/misc/KSVGTimeScheduler.cpp \
+        ksvg2/misc/KCanvasRenderingStyle.cpp \
+        ksvg2/events/JSSVGLazyEventListener.cpp \
+        ksvg2/events/SVGZoomEvent.cpp \
+        kcanvas/KCanvasFilters.cpp \
+        kcanvas/device/KRenderingPaintServerGradient.cpp \
+        kcanvas/device/KRenderingPaintServerSolid.cpp \
+        kcanvas/device/KRenderingPaintServerPattern.cpp \
+        kcanvas/device/KRenderingDevice.cpp \
+        kcanvas/device/qt/RenderPathQt.cpp \
+        kcanvas/device/qt/KRenderingDeviceQt.cpp \
+        kcanvas/device/qt/KRenderingPaintServerSolidQt.cpp \
+        kcanvas/device/qt/KRenderingPaintServerGradientQt.cpp \
+        kcanvas/device/qt/KRenderingPaintServerPatternQt.cpp \
+        kcanvas/device/qt/KRenderingPaintServerQt.cpp \
+#        kcanvas/device/qt/KCanvasFilterQt.cpp \
+#        kcanvas/device/qt/KCanvasImageItemQt.cpp \
+        platform/graphics/svg/SVGResource.cpp \
+        platform/graphics/svg/SVGResourceClipper.cpp \
+        platform/graphics/svg/SVGResourceMasker.cpp \
+        platform/graphics/svg/SVGResourceMarker.cpp \
+        platform/graphics/svg/qt/SVGResourceClipperQt.cpp \
+        platform/graphics/svg/qt/SVGResourceImageQt.cpp \
+        platform/graphics/svg/qt/SVGResourceMaskerQt.cpp \
+        rendering/RenderForeignObject.cpp \
+        rendering/RenderPath.cpp \
+        rendering/RenderSVGContainer.cpp \
+        rendering/RenderSVGImage.cpp \
+        rendering/RenderSVGInline.cpp \
+        rendering/RenderSVGInlineText.cpp \
+        rendering/RenderSVGText.cpp \
+        rendering/RenderSVGTSpan.cpp \
+        rendering/SVGInlineFlowBox.cpp \
+        rendering/SVGRootInlineBox.cpp
+
+        # GENERATOR 5-B:
+        svgnames_a.output = tmp/SVGNames.cpp
+        svgnames_a.commands = perl $$PWD/ksvg2/scripts/make_names.pl --tags $$PWD/ksvg2/svg/svgtags.in --attrs $$PWD/ksvg2/svg/svgattrs.in --namespace SVG --cppNamespace WebCore --namespaceURI 'http://www.w3.org/2000/svg' --factory --attrsNullNamespace --output tmp
+        svgnames_a.input = SVG_NAMES
+        svgnames_a.dependency_type = TYPE_C
+        svgnames_a.CONFIG = target_predeps
+        svgnames_a.variable_out = GENERATED_SOURCES
+        QMAKE_EXTRA_COMPILERS += svgnames_a
+        svgnames_b.output = tmp/SVGElementFactory.cpp
+        svgnames_b.commands = @echo -n ''
+        svgnames_b.input = SVG_NAMES
+        svgnames_b.depends = tmp/SVGNames.cpp
+        svgnames_b.CONFIG = target_predeps
+        svgnames_b.variable_out = GENERATED_SOURCES
+        QMAKE_EXTRA_COMPILERS += svgnames_b
+
+        # GENERATOR 5-C:
+        xlinknames.output = tmp/XLinkNames.cpp
+        xlinknames.commands = perl $$PWD/ksvg2/scripts/make_names.pl --attrs $$PWD/ksvg2/misc/xlinkattrs.in --namespace XLink --cppNamespace WebCore --namespaceURI 'http://www.w3.org/1999/xlink' --output tmp
+        xlinknames.input = XLINK_NAMES
+        xlinknames.dependency_type = TYPE_C
+        xlinknames.CONFIG = target_predeps
+        xlinknames.variable_out = GENERATED_SOURCES
+        QMAKE_EXTRA_COMPILERS += xlinknames
+
+        # GENERATOR 5-D:
+        xmlnames.output = tmp/XMLNames.cpp
+        xmlnames.commands = perl $$PWD/ksvg2/scripts/make_names.pl --attrs $$PWD/xml/xmlattrs.in --namespace XML --cppNamespace WebCore --namespaceURI 'http://www.w3.org/XML/1998/namespace' --output tmp
+        xmlnames.input = XML_NAMES
+        xmlnames.dependency_type = TYPE_C
+        xmlnames.CONFIG = target_predeps
+        xmlnames.variable_out = GENERATED_SOURCES
+        QMAKE_EXTRA_COMPILERS += xmlnames
+}
+
+
+# GENERATOR 1: IDL compiler
+idl.output = tmp/JS${QMAKE_FILE_BASE}.cpp
+idl.variable_out = GENERATED_SOURCES
+idl.input = IDL_BINDINGS
+idl.commands = perl -I$$PWD/bindings/scripts $$PWD/bindings/scripts/generate-bindings.pl --defines \"$${FEATURE_DEFINES_JAVASCRIPT}\" --generator JS --include $$PWD/dom --include $$PWD/html --include $$PWD/xml --include $$PWD/ksvg2/svg --outputdir tmp ${QMAKE_FILE_NAME}
+idl.CONFIG += target_predeps
+QMAKE_EXTRA_COMPILERS += idl
+
+# GENERATOR 2-A: LUT creator
+lut.output = tmp/${QMAKE_FILE_BASE}.lut.h
+lut.commands = perl $$PWD/../JavaScriptCore/kjs/create_hash_table ${QMAKE_FILE_NAME} -i > ${QMAKE_FILE_OUT}
+lut.depend = ${QMAKE_FILE_NAME}
+lut.input = LUT_FILES
+lut.CONFIG += no_link
+QMAKE_EXTRA_COMPILERS += lut
+
+# GENERATOR 2-B: like JavaScriptCore/LUT Generator, but rename output
+luttable.output = tmp/${QMAKE_FILE_BASE}Table.cpp
+luttable.commands = perl $$PWD/../JavaScriptCore/kjs/create_hash_table ${QMAKE_FILE_NAME} -i > ${QMAKE_FILE_OUT}
+luttable.depend = ${QMAKE_FILE_NAME}
+luttable.input = LUT_TABLE_FILES
+luttable.CONFIG += no_link
+luttable.dependency_type = TYPE_C
+QMAKE_EXTRA_COMPILERS += luttable
+
+# GENERATOR 3: tokenizer (flex)
+tokenizer.output = tmp/${QMAKE_FILE_BASE}.cpp
+tokenizer.commands = flex -t < ${QMAKE_FILE_NAME} | perl $$PWD/css/maketokenizer > ${QMAKE_FILE_OUT}
+tokenizer.dependency_Type = TYPE_C
+tokenizer.input = TOKENIZER
+tokenizer.CONFIG += target_predeps no_link
+QMAKE_EXTRA_COMPILERS += tokenizer
+
+# GENERATOR 4: CSS grammar
+cssbison.output = tmp/${QMAKE_FILE_BASE}.cpp
+macx:cssbison.commands = bison -d -p cssyy ${QMAKE_FILE_NAME} && mv css/${QMAKE_FILE_BASE}.tab.c tmp/${QMAKE_FILE_BASE}.cpp && mv css/${QMAKE_FILE_BASE}.tab.h tmp/${QMAKE_FILE_BASE}.h
+!macx:cssbison.commands = bison -d -p cssyy ${QMAKE_FILE_NAME} && mv ${QMAKE_FILE_BASE}.tab.c tmp/${QMAKE_FILE_BASE}.cpp && mv ${QMAKE_FILE_BASE}.tab.h tmp/${QMAKE_FILE_BASE}.h
+cssbison.depend = ${QMAKE_FILE_NAME}
+cssbison.input = CSSBISON
+cssbison.CONFIG = target_predeps
+cssbison.dependency_type = TYPE_C
+cssbison.variable_out = GENERATED_SOURCES
+QMAKE_EXTRA_COMPILERS += cssbison
+#PRE_TARGETDEPS += tmp/CSSGrammar.cpp
+
+# GENERATOR 5-A:
+htmlnames.output = tmp/HTMLNames.cpp
+htmlnames.commands = perl $$PWD/ksvg2/scripts/make_names.pl --tags $$PWD/html/HTMLTagNames.in --attrs $$PWD/html/HTMLAttributeNames.in --namespace HTML --namespacePrefix xhtml --cppNamespace WebCore --namespaceURI 'http://www.w3.org/1999/xhtml' --attrsNullNamespace --output tmp
+htmlnames.input = HTML_NAMES
+htmlnames.dependency_type = TYPE_C
+htmlnames.CONFIG = target_predeps
+htmlnames.variable_out = GENERATED_SOURCES
+QMAKE_EXTRA_COMPILERS += htmlnames
+
+# GENERATOR 6-A:
+cssprops.output = tmp/CSSPropertyNames.c
+cssprops.input = WALDOCSSPROPS
+cssprops.commands = cp ${QMAKE_FILE_NAME} tmp && cd tmp && sh $$PWD/css/makeprop
+cssprops.CONFIG = target_predeps no_link
+QMAKE_EXTRA_COMPILERS += cssprops
+
+# GENERATOR 6-B:
+cssvalues.output = tmp/CSSValueKeywords.c
+cssvalues.input = WALDOCSSVALUES
+cssvalues.commands = cp ${QMAKE_FILE_NAME} tmp && cd tmp && sh $$PWD/css/makevalues
+cssvalues.CONFIG = target_predeps no_link
+QMAKE_EXTRA_COMPILERS += cssvalues
+
+# GENERATOR 7-A:
+svgcssproperties.output = tmp/ksvgcssproperties.h
+svgcssproperties.input = SVGCSSPROPERTIES
+svgcssproperties.commands = cp $$PWD/ksvg2/css/CSSPropertyNames.in tmp/ksvgcssproperties.in && cd tmp && perl $$PWD/ksvg2/scripts/cssmakeprops -n SVG -f ksvgcssproperties.in
+svgcssproperties.CONFIG = target_predeps no_link
+QMAKE_EXTRA_COMPILERS += svgcssproperties
+
+# GENERATOR 7-B:
+svgcssvalues.output = tmp/ksvgcssvalues.h
+svgcssvalues.input = SVGCSSVALUES
+svgcssvalues.commands = perl -ne \'print lc\' $$PWD/ksvg2/css/CSSValueKeywords.in > tmp/ksvgcssvalues.in && cd tmp && perl $$PWD/ksvg2/scripts/cssmakevalues -n SVG -f ksvgcssvalues.in
+svgcssvalues.CONFIG = target_predeps no_link
+QMAKE_EXTRA_COMPILERS += svgcssvalues
+
+# GENERATOR 8-A:
+entities.output = tmp/HTMLEntityNames.c
+entities.commands = gperf -a -L ANSI-C -C -G -c -o -t -k '\*' -N findEntity -D -s 2 < $$PWD/html/HTMLEntityNames.gperf > tmp/HTMLEntityNames.c
+entities.input = ENTITIES_GPERF
+entities.dependency_type = TYPE_C
+entities.CONFIG = target_predeps no_link
+QMAKE_EXTRA_COMPILERS += entities
+
+# PRE-GENERATOR 8-B:
+doctypestrings.target = $$OUTPUT_DIR/WebCore/tmp/DocTypeStrings.cpp
+doctypestrings.commands = echo \"$${LITERAL_HASH}include <string.h>\" > $$doctypestrings.target && gperf -CEot -L ANSI-C -k \'*\' -N findDoctypeEntry -F ,PubIDInfo::eAlmostStandards,PubIDInfo::eAlmostStandards < $$PWD/html/DocTypeStrings.gperf >> $$doctypestrings.target
+QMAKE_EXTRA_TARGETS += doctypestrings
+PRE_TARGETDEPS += $$OUTPUT_DIR/WebCore/tmp/DocTypeStrings.cpp
+
+# GENERATOR 8-C:
+colordata.output = tmp/ColorData.c
+colordata.commands = echo \"$${LITERAL_HASH}include <string.h>\" > ${QMAKE_FILE_OUT} && gperf -CDEot -L ANSI-C -k \'*\' -N findColor -D -s 2 < ${QMAKE_FILE_NAME} >> ${QMAKE_FILE_OUT}
+colordata.input = COLORDAT_GPERF
+colordata.CONFIG = target_predeps no_link
+QMAKE_EXTRA_COMPILERS += colordata
+
+# GENERATOR 9:
+stylesheets.output = tmp/UserAgentStyleSheetsData.cpp
+stylesheets.commands = perl $$PWD/css/make-css-file-arrays.pl tmp/UserAgentStyleSheets.h tmp/UserAgentStyleSheetsData.cpp $$PWD/css/html4.css $$PWD/css/quirks.css $$PWD/css/svg.css $$PWD/css/view-source.css
+stylesheets.input = STYLESHEETS_EMBED
+stylesheets.CONFIG = target_predeps
+stylesheets.variable_out = GENERATED_SOURCES
+QMAKE_EXTRA_COMPILERS += stylesheets
+
+# GENERATOR M
+manual_moc.output = tmp/${QMAKE_FILE_BASE}.moc
+manual_moc.commands = $$QMAKE_MOC ${QMAKE_FILE_NAME} -o ${QMAKE_FILE_OUT}
+manual_moc.input = MANUALMOC
+manual_moc.CONFIG += target_predeps no_link
+QMAKE_EXTRA_COMPILERS += manual_moc
index 921e85a..1fa1d32 100644 (file)
@@ -38,6 +38,7 @@
 #include "GraphicsContext.h"
 #include "Font.h"
 #include "Pen.h"
+#include "SVGResourceImage.h"
 
 #include <QStack>
 #include <QPainter>
@@ -850,11 +851,13 @@ void GraphicsContext::setPlatformFillColor(const Color& color)
     m_data->p().setBrush(QBrush(color));
 }
 
+#ifdef SVG_SUPPORT
 GraphicsContext* contextForImage(SVGResourceImage*)
 {
     // FIXME!
     return 0;
 }
+#endif
 
 }
 // vim: ts=4 sw=4 et
diff --git a/WebKit.pri b/WebKit.pri
new file mode 100644 (file)
index 0000000..96a8aac
--- /dev/null
@@ -0,0 +1,29 @@
+# Include file to make it easy to include WebKit into Qt projects
+
+INCLUDEPATH += $$PWD/JavaScriptCore \
+               $$PWD/WebCore \
+               $$PWD/WebCore/platform \
+               $$PWD/WebCore/platform/qt \
+               $$PWD/WebCore/platform/network \
+               $$PWD/WebCore/platform/graphics \
+               $$PWD/WebCore/editing \
+               $$PWD/WebCore/page \
+               $$PWD/WebCore/dom \
+               $$PWD/WebCore/html \
+               $$PWD/WebCore/rendering \
+               $$PWD/WebCore/loader \
+               $$PWD/WebCore/loader/qt \
+               $$PWD/WebCore/css \
+               $$PWD/WebCore/bridge
+
+DEFINES += BUILDING_QT__=1
+
+isEmpty(OUTPUT_DIR):OUTPUT_DIR=$$PWD
+
+LIBS += -L$$OUTPUT_DIR/lib -lWebKitQt -lJavaScriptCore
+
+macx {
+       INCLUDEPATH += /opt/local/include /opt/local/include/libxml2
+       INCLUDEPATH += /usr/include/libxml2
+       LIBS += -L/opt/local/lib -lxml2 -lxslt
+}
diff --git a/WebKit.pro b/WebKit.pro
new file mode 100644 (file)
index 0000000..1960b2b
--- /dev/null
@@ -0,0 +1,7 @@
+TEMPLATE = subdirs
+CONFIG += ordered
+SUBDIRS = \
+        JavaScriptCore \
+        WebCore \
+       WebKitQt/QtLauncher 
+
index dbb3c20..e8edf70 100644 (file)
@@ -1,3 +1,12 @@
+2006-12-09  Lars Knoll <lars@trolltech.com>
+
+        Reviewed by Zack
+
+        Make it possible to build WebKit with qmake.
+
+        * QtLauncher/QtLauncher.pro: Added.
+        * QtLauncher/main.cpp:
+
 2006-12-08  Zack Rusin  <zack@kde.org>
 
         Reviewed by Maciej.
diff --git a/WebKitQt/QtLauncher/QtLauncher.pro b/WebKitQt/QtLauncher/QtLauncher.pro
new file mode 100644 (file)
index 0000000..9cc567a
--- /dev/null
@@ -0,0 +1,4 @@
+TEMPLATE = app
+SOURCES += main.cpp
+
+include(../../WebKit.pri)
index 0d49e1b..c8c7a8d 100644 (file)
@@ -31,6 +31,7 @@
 #include <wtf/Platform.h>
 
 #include <QApplication>
+#include <QWidget>
 #if PLATFORM(KDE)
 #include <kapplication.h>
 #include <kcmdlineargs.h>