c061a93a83dcf612ae61d32e864f8d405e844577
[WebKit-https.git] / WebCore / WebCore.pro
1 # -*- Mode:makefile -*-
2 # WebCore - qmake build info
3 CONFIG += building-libs
4 # do not use implicit rules in nmake Makefiles to avoid the clash
5 # of API/Node.c and dom/Node.cpp
6 CONFIG += no_batch
7 include($$PWD/../WebKit.pri)
8 gtk-port:LIBS -= -lWebKitGtk
9
10 TEMPLATE = lib
11 qt-port:TARGET = QtWebKit
12 gtk-port:TARGET = WebKitGtk
13 OBJECTS_DIR = tmp
14 OBJECTS_DIR_WTR = $$OBJECTS_DIR/
15 win32-*: OBJECTS_DIR_WTR ~= s|/|\|
16 INCLUDEPATH += tmp $$OUTPUT_DIR/WebCore/tmp
17
18 DESTDIR = $$OUTPUT_DIR/lib
19 DEPENDPATH += css dom loader editing history html \
20     loader page platform platform/graphics rendering xml
21
22 include($$OUTPUT_DIR/config.pri)
23
24 CONFIG -= warn_on
25 *-g++*:QMAKE_CXXFLAGS += -Wreturn-type -fno-strict-aliasing
26 #QMAKE_CXXFLAGS += -Wall -Wno-undef -Wno-unused-parameter
27
28 contains(QT_CONFIG, reduce_exports):CONFIG += hide_symbols
29 unix:contains(QT_CONFIG, reduce_relocations):CONFIG += bsymbolic_functions
30
31 linux-*: DEFINES += HAVE_STDINT_H
32 freebsd-*: DEFINES += HAVE_PTHREAD_NP_H
33
34 # PRE-BUILD: make the required config.h file
35 #config_h.target = config.h
36 #config_h.commands = cp config.h.qmake config.h
37 #config_h.depends = config.h.qmake
38 #QMAKE_EXTRA_TARGETS += config_h
39 #PRE_TARGETDEPS += config.h
40
41 DEFINES += BUILD_WEBKIT
42
43 win32-*: DEFINES += ENABLE_ICONDATABASE=0 ENABLE_DATABASE=0
44
45 # Pick up 3rdparty libraries from INCLUDE/LIB just like with MSVC
46 win32-g++ {
47     TMPPATH            = $$quote($$(INCLUDE))
48     QMAKE_INCDIR_POST += $$split(TMPPATH,";")
49     TMPPATH            = $$quote($$(LIB))
50     QMAKE_LIBDIR_POST += $$split(TMPPATH,";")
51 }
52
53 gtk-port: PKGCONFIG += gthread-2.0
54
55 # Optional components (look for defs in config.h and included files!)
56 !contains(DEFINES, ENABLE_DATABASE=.): DEFINES += ENABLE_DATABASE=1
57 !contains(DEFINES, ENABLE_ICONDATABASE=.): DEFINES += ENABLE_ICONDATABASE=1
58 !contains(DEFINES, ENABLE_XPATH=.): DEFINES += ENABLE_XPATH=1
59 gtk-port:!contains(DEFINES, ENABLE_XSLT=.): DEFINES += ENABLE_XSLT=1
60 #!contains(DEFINES, ENABLE_XBL=.): DEFINES += ENABLE_XBL=1
61 qt-port: !contains(DEFINES, ENABLE_SVG=.): DEFINES += ENABLE_SVG=1
62 gtk-port:DEFINES += ENABLE_SVG=1
63
64 DEFINES += WTF_CHANGES=1
65
66 include($$PWD/../JavaScriptCore/JavaScriptCore.pri)
67
68 #INCLUDEPATH += $$PWD/../JavaScriptCore
69 #LIBS += -L$$OUTPUT_DIR/lib -lJavaScriptCore
70
71 qt-port {
72
73 INCLUDEPATH += \
74                 $$PWD/platform/qt \
75                 $$PWD/platform/network/qt \
76                 $$PWD/platform/graphics/qt \
77                 $$PWD/platform/graphics/svg/qt \
78                 $$PWD/loader/qt \
79                 $$PWD/page/qt \
80                 $$PWD/../WebKit/qt/WebCoreSupport \
81                 $$PWD/../WebKit/qt/Api
82
83 DEPENDPATH += editing/qt history/qt loader/qt page/qt \
84     platform/graphics/qt ../WebKit/qt/Api ../WebKit/qt/WebCoreSupport
85
86     DEFINES += WTF_USE_JAVASCRIPTCORE_BINDINGS=1
87 }
88
89 gtk-port {
90     INCLUDEPATH += \
91     $$PWD/platform/gtk \
92     $$PWD/platform/graphics/gtk \
93     $$PWD/platform/graphics/cairo \
94     $$PWD/platform/graphics/svg/cairo \
95     $$PWD/platform/network/curl \
96     $$PWD/platform/image-decoders/bmp \
97     $$PWD/platform/image-decoders/gif \
98     $$PWD/platform/image-decoders/ico \
99     $$PWD/platform/image-decoders/jpeg \
100     $$PWD/platform/image-decoders/png \
101     $$PWD/platform/image-decoders/xbm \
102     $$PWD/loader/gtk \
103     $$PWD/page/gtk \
104     $$PWD/../WebKit/gtk/WebCoreSupport \
105     $$PWD/../WebKit/gtk/Api
106
107     DEPENDPATH += \
108     platform/gtk \
109     platform/graphics/gtk \
110     platform/graphics/cairo \
111     platform/graphics/svg/cairo \
112     platform/network/curl \
113     platform/image-decoders/bmp \
114     platform/image-decoders/gif \
115     platform/image-decoders/ico \
116     platform/image-decoders/jpeg \
117     platform/image-decoders/png \
118     platform/image-decoders/xbm \
119     loader/gtk \
120     page/gtk \
121     ../WebKit/gtk/WebCoreSupport \
122     ../WebKit/gtk/Api
123 }
124
125 INCLUDEPATH +=  $$PWD \
126                 $$PWD/ForwardingHeaders \
127                 $$PWD/.. \
128                 $$PWD/../JavaScriptCore/kjs \
129                 $$PWD/../JavaScriptCore/bindings \
130                 $$PWD/../JavaScriptCore/wtf \
131                 $$PWD/platform \
132                 $$PWD/platform/network \
133                 $$PWD/platform/graphics \
134                 $$PWD/platform/graphics/svg \
135                 $$PWD/platform/graphics/svg/filters \
136                 $$PWD/platform/sql \
137                 $$PWD/storage \
138                 $$PWD/loader $$PWD/loader/icon \
139                 $$PWD/css \
140                 $$PWD/dom \
141                 $$PWD/page \
142                 $$PWD/bridge \
143                 $$PWD/editing \
144                 $$PWD/rendering \
145                 $$PWD/history \
146                 $$PWD/xml \
147                 $$PWD/html \
148                 $$PWD/bindings/js \
149                 $$PWD/ksvg2 $$PWD/ksvg2/css $$PWD/ksvg2/svg $$PWD/ksvg2/misc $$PWD/ksvg2/events \
150                 $$PWD/platform/image-decoders
151
152 QT += network xml
153
154 FEATURE_DEFINES_JAVASCRIPT = LANGUAGE_JAVASCRIPT=1
155
156 TOKENIZER = $$PWD/css/tokenizer.flex
157
158 DOCTYPESTRINGS = $$PWD/html/DocTypeStrings.gperf
159
160 CSSBISON = $$PWD/css/CSSGrammar.y
161
162 HTML_NAMES = $$PWD/html/HTMLTagNames.in
163
164 XML_NAMES = $$PWD/xml/xmlattrs.in
165
166 ENTITIES_GPERF = $$PWD/html/HTMLEntityNames.gperf
167
168 COLORDAT_GPERF = $$PWD/platform/ColorData.gperf
169
170 WALDOCSSPROPS = $$PWD/css/CSSPropertyNames.in
171
172 WALDOCSSVALUES = $$PWD/css/CSSValueKeywords.in
173
174 SVGCSSPROPERTIES = $$PWD/ksvg2/css/SVGCSSPropertyNames.in
175
176 SVGCSSVALUES = $$PWD/ksvg2/css/SVGCSSValueKeywords.in
177
178 STYLESHEETS_EMBED = $$PWD/css/html4.css
179
180 LUT_FILES += \
181     bindings/js/JSDOMExceptionConstructor.cpp \
182     bindings/js/JSEventTargetNode.cpp \
183     bindings/js/JSXMLHttpRequest.cpp \
184     bindings/js/JSXSLTProcessor.cpp \
185     bindings/js/kjs_css.cpp \
186     bindings/js/kjs_events.cpp \
187     bindings/js/kjs_navigator.cpp \
188     bindings/js/kjs_window.cpp
189
190 LUT_TABLE_FILES += \
191     bindings/js/JSHTMLInputElementBase.cpp
192
193 IDL_BINDINGS += \
194     css/Counter.idl \
195     css/CSSCharsetRule.idl \
196     css/CSSFontFaceRule.idl \
197     css/CSSImportRule.idl \
198     css/CSSMediaRule.idl \
199     css/CSSPageRule.idl \
200     css/CSSPrimitiveValue.idl \
201     css/CSSRule.idl \
202     css/CSSRuleList.idl \
203     css/CSSStyleDeclaration.idl \
204     css/CSSStyleRule.idl \
205     css/CSSStyleSheet.idl \
206     css/CSSValue.idl \
207     css/CSSValueList.idl \
208     css/MediaList.idl \
209     css/Rect.idl \
210     css/StyleSheet.idl \
211     css/StyleSheetList.idl \
212     dom/Attr.idl \
213     dom/CharacterData.idl \
214     dom/CDATASection.idl \
215     dom/Comment.idl \
216     dom/DocumentFragment.idl \
217     dom/Document.idl \
218     dom/DocumentType.idl \
219     dom/DOMImplementation.idl \
220     dom/Element.idl \
221     dom/Entity.idl \
222     dom/EntityReference.idl \
223     dom/Event.idl \
224 #    dom/EventListener.idl \
225 #    dom/EventTarget.idl \
226     dom/KeyboardEvent.idl \
227     dom/MouseEvent.idl \
228     dom/MutationEvent.idl \
229     dom/NamedNodeMap.idl \
230     dom/Node.idl \
231     dom/NodeFilter.idl \
232     dom/NodeIterator.idl \
233     dom/NodeList.idl \
234     dom/Notation.idl \
235     dom/OverflowEvent.idl \
236     dom/ProcessingInstruction.idl \
237     dom/ProgressEvent.idl \
238     dom/RangeException.idl \
239     dom/Range.idl \
240     dom/Text.idl \
241     dom/TextEvent.idl \
242     dom/TreeWalker.idl \
243     dom/UIEvent.idl \
244     dom/WheelEvent.idl \
245     html/CanvasGradient.idl \
246     html/CanvasPattern.idl \
247     html/CanvasRenderingContext2D.idl \
248     html/HTMLAnchorElement.idl \
249     html/HTMLAppletElement.idl \
250     html/HTMLAreaElement.idl \
251     html/HTMLBaseElement.idl \
252     html/HTMLBaseFontElement.idl \
253     html/HTMLBlockquoteElement.idl \
254     html/HTMLBodyElement.idl \
255     html/HTMLBRElement.idl \
256     html/HTMLButtonElement.idl \
257     html/HTMLCanvasElement.idl \
258     html/HTMLCollection.idl \
259     html/HTMLDirectoryElement.idl \
260     html/HTMLDivElement.idl \
261     html/HTMLDListElement.idl \
262     html/HTMLDocument.idl \
263     html/HTMLElement.idl \
264     html/HTMLEmbedElement.idl \
265     html/HTMLFieldSetElement.idl \
266     html/HTMLFontElement.idl \
267     html/HTMLFormElement.idl \
268     html/HTMLFrameElement.idl \
269     html/HTMLFrameSetElement.idl \
270     html/HTMLHeadElement.idl \
271     html/HTMLHeadingElement.idl \
272     html/HTMLHRElement.idl \
273     html/HTMLHtmlElement.idl \
274     html/HTMLIFrameElement.idl \
275     html/HTMLImageElement.idl \
276     html/HTMLInputElement.idl \
277     html/HTMLIsIndexElement.idl \
278     html/HTMLLabelElement.idl \
279     html/HTMLLegendElement.idl \
280     html/HTMLLIElement.idl \
281     html/HTMLLinkElement.idl \
282     html/HTMLMapElement.idl \
283     html/HTMLMarqueeElement.idl \
284     html/HTMLMenuElement.idl \
285     html/HTMLMetaElement.idl \
286     html/HTMLModElement.idl \
287     html/HTMLObjectElement.idl \
288     html/HTMLOListElement.idl \
289     html/HTMLOptGroupElement.idl \
290     html/HTMLOptionElement.idl \
291     html/HTMLOptionsCollection.idl \
292     html/HTMLParagraphElement.idl \
293     html/HTMLParamElement.idl \
294     html/HTMLPreElement.idl \
295     html/HTMLQuoteElement.idl \
296     html/HTMLScriptElement.idl \
297     html/HTMLSelectElement.idl \
298     html/HTMLStyleElement.idl \
299     html/HTMLTableCaptionElement.idl \
300     html/HTMLTableCellElement.idl \
301     html/HTMLTableColElement.idl \
302     html/HTMLTableElement.idl \
303     html/HTMLTableRowElement.idl \
304     html/HTMLTableSectionElement.idl \
305     html/HTMLTextAreaElement.idl \
306     html/HTMLTitleElement.idl \
307     html/HTMLUListElement.idl \
308     page/BarInfo.idl \
309     page/Console.idl \
310     page/DOMSelection.idl \
311     page/DOMWindow.idl \
312     page/History.idl \
313     page/Screen.idl \
314     xml/DOMParser.idl \
315     xml/XMLSerializer.idl
316
317
318 SOURCES += \
319     bindings/js/GCController.cpp \
320     bindings/js/JSAttrCustom.cpp \
321     bindings/js/JSCanvasRenderingContext2DCustom.cpp \
322     bindings/js/JSCSSRuleCustom.cpp \
323     bindings/js/JSCSSStyleDeclarationCustom.cpp \
324     bindings/js/JSCSSValueCustom.cpp \
325     bindings/js/JSCustomVoidCallback.cpp \
326     bindings/js/JSCustomXPathNSResolver.cpp \
327     bindings/js/JSDocumentCustom.cpp \
328     bindings/js/JSDOMExceptionConstructor.cpp \
329     bindings/js/JSDOMWindowCustom.cpp \
330     bindings/js/JSElementCustom.cpp \
331     bindings/js/JSEventCustom.cpp \
332     bindings/js/JSEventTargetNode.cpp \
333     bindings/js/JSHTMLAppletElementCustom.cpp \
334     bindings/js/JSHTMLCollectionCustom.cpp \
335     bindings/js/JSHTMLDocumentCustom.cpp \
336     bindings/js/JSHTMLElementCustom.cpp \
337     bindings/js/JSHTMLElementWrapperFactory.cpp \
338     bindings/js/JSHTMLEmbedElementCustom.cpp \
339     bindings/js/JSHTMLFormElementCustom.cpp \
340     bindings/js/JSHTMLFrameElementCustom.cpp \
341     bindings/js/JSHTMLFrameSetElementCustom.cpp \
342     bindings/js/JSHTMLIFrameElementCustom.cpp \
343     bindings/js/JSHTMLInputElementBase.cpp \
344     bindings/js/JSHTMLObjectElementCustom.cpp \
345     bindings/js/JSHTMLOptionElementConstructor.cpp \
346     bindings/js/JSHTMLOptionsCollectionCustom.cpp \
347     bindings/js/JSHTMLSelectElementCustom.cpp \
348     bindings/js/JSNamedNodeMapCustom.cpp \
349     bindings/js/JSNamedNodesCollection.cpp  \
350     bindings/js/JSNodeCustom.cpp \
351     bindings/js/JSNodeFilterCondition.cpp \
352     bindings/js/JSNodeFilterCustom.cpp \
353     bindings/js/JSNodeIteratorCustom.cpp \
354     bindings/js/JSNodeListCustom.cpp \
355     bindings/js/JSStyleSheetCustom.cpp \
356     bindings/js/JSStyleSheetListCustom.cpp \
357     bindings/js/JSTreeWalkerCustom.cpp \
358     bindings/js/JSXMLHttpRequest.cpp \
359     bindings/js/JSXSLTProcessor.cpp \
360     bindings/js/kjs_binding.cpp \
361     bindings/js/kjs_css.cpp \
362     bindings/js/kjs_dom.cpp \
363     bindings/js/kjs_events.cpp \
364     bindings/js/kjs_html.cpp \
365     bindings/js/kjs_navigator.cpp \
366     bindings/js/kjs_proxy.cpp \
367     bindings/js/kjs_window.cpp \
368     css/CSSBorderImageValue.cpp \
369     css/CSSCharsetRule.cpp \
370     css/CSSComputedStyleDeclaration.cpp \
371     css/CSSCursorImageValue.cpp \
372     css/CSSFontFace.cpp \
373     css/CSSFontFaceRule.cpp \
374     css/CSSFontFaceSrcValue.cpp \
375     css/CSSFontSelector.cpp \
376     css/CSSFontFaceSource.cpp \
377     css/CSSHelper.cpp \
378     css/CSSImageValue.cpp \
379     css/CSSImportRule.cpp \
380     css/CSSInheritedValue.cpp \
381     css/CSSInitialValue.cpp \
382     css/CSSMediaRule.cpp \
383     css/CSSMutableStyleDeclaration.cpp \
384     css/CSSPageRule.cpp \
385     css/CSSParser.cpp \
386     css/CSSPrimitiveValue.cpp \
387     css/CSSProperty.cpp \
388     css/CSSRule.cpp \
389     css/CSSRuleList.cpp \
390     css/CSSSelector.cpp \
391     css/CSSStyleDeclaration.cpp \
392     css/CSSStyleRule.cpp \
393     css/CSSStyleSelector.cpp \
394     css/CSSStyleSheet.cpp \
395     css/CSSTimingFunctionValue.cpp \
396     css/CSSTransformValue.cpp \
397     css/CSSValueList.cpp \
398     css/FontFamilyValue.cpp \
399     css/FontValue.cpp \
400     css/MediaFeatureNames.cpp \
401     css/MediaList.cpp \
402     css/MediaQuery.cpp \
403     css/MediaQueryEvaluator.cpp \
404     css/MediaQueryExp.cpp \
405     css/ShadowValue.cpp \
406     css/StyleBase.cpp \
407     css/StyleList.cpp \
408     css/StyleSheet.cpp \
409     css/StyleSheetList.cpp \
410     dom/Attr.cpp \
411     dom/Attribute.cpp \
412     dom/BeforeTextInsertedEvent.cpp \
413     dom/BeforeUnloadEvent.cpp \
414     dom/CDATASection.cpp \
415     dom/CharacterData.cpp \
416     dom/ChildNodeList.cpp \
417     dom/Clipboard.cpp \
418     dom/ClipboardEvent.cpp \
419     dom/Comment.cpp \
420     dom/ContainerNode.cpp \
421     dom/CSSMappedAttributeDeclaration.cpp \
422     dom/Document.cpp \
423     dom/DocumentFragment.cpp \
424     dom/DocumentType.cpp \
425     dom/DOMImplementation.cpp \
426     dom/EditingText.cpp \
427     dom/Element.cpp \
428     dom/Entity.cpp \
429     dom/EntityReference.cpp \
430     dom/Event.cpp \
431     dom/EventNames.cpp \
432     dom/EventTarget.cpp \
433     dom/EventTargetNode.cpp \
434     dom/KeyboardEvent.cpp \
435     dom/MappedAttribute.cpp \
436     dom/MouseEvent.cpp \
437     dom/MouseRelatedEvent.cpp \
438     dom/MutationEvent.cpp \
439     dom/NamedAttrMap.cpp \
440     dom/NamedMappedAttrMap.cpp \
441     dom/NameNodeList.cpp \
442     dom/Node.cpp \
443     dom/NodeFilterCondition.cpp \
444     dom/NodeFilter.cpp \
445     dom/NodeIterator.cpp \
446     dom/NodeList.cpp \
447     dom/Notation.cpp \
448     dom/OverflowEvent.cpp \
449     dom/Position.cpp \
450     dom/PositionIterator.cpp \
451     dom/ProcessingInstruction.cpp \
452     dom/ProgressEvent.cpp \
453     dom/QualifiedName.cpp \
454     dom/Range.cpp \
455     dom/RegisteredEventListener.cpp \
456     dom/StyledElement.cpp \
457     dom/StyleElement.cpp \
458     dom/Text.cpp \
459     dom/TextEvent.cpp \
460     dom/Traversal.cpp \
461     dom/TreeWalker.cpp \
462     dom/UIEvent.cpp \
463     dom/UIEventWithKeyState.cpp \
464     dom/WheelEvent.cpp \
465     dom/XMLTokenizer.cpp \
466     editing/AppendNodeCommand.cpp \
467     editing/ApplyStyleCommand.cpp \
468     editing/BreakBlockquoteCommand.cpp \
469     editing/CompositeEditCommand.cpp \
470     editing/CreateLinkCommand.cpp \
471     editing/DeleteButtonController.cpp \
472     editing/DeleteButton.cpp \
473     editing/DeleteFromTextNodeCommand.cpp \
474     editing/DeleteSelectionCommand.cpp \
475     editing/EditCommand.cpp \
476     editing/Editor.cpp \
477     editing/FormatBlockCommand.cpp \
478     editing/htmlediting.cpp \
479     editing/HTMLInterchange.cpp \
480     editing/IndentOutdentCommand.cpp \
481     editing/InsertIntoTextNodeCommand.cpp \
482     editing/InsertLineBreakCommand.cpp \
483     editing/InsertListCommand.cpp \
484     editing/InsertNodeBeforeCommand.cpp \
485     editing/InsertParagraphSeparatorCommand.cpp \
486     editing/InsertTextCommand.cpp \
487     editing/JoinTextNodesCommand.cpp \
488     editing/JSEditor.cpp \
489     editing/markup.cpp \
490     editing/MergeIdenticalElementsCommand.cpp \
491     editing/ModifySelectionListLevel.cpp \
492     editing/MoveSelectionCommand.cpp \
493     editing/RemoveCSSPropertyCommand.cpp \
494     editing/RemoveNodeAttributeCommand.cpp \
495     editing/RemoveNodeCommand.cpp \
496     editing/RemoveNodePreservingChildrenCommand.cpp \
497     editing/ReplaceSelectionCommand.cpp \
498     editing/SelectionController.cpp \
499     editing/Selection.cpp \
500     editing/SetNodeAttributeCommand.cpp \
501     editing/SmartReplace.cpp \
502     editing/SplitElementCommand.cpp \
503     editing/SplitTextNodeCommand.cpp \
504     editing/SplitTextNodeContainingElementCommand.cpp \
505     editing/TextIterator.cpp \
506     editing/TypingCommand.cpp \
507     editing/UnlinkCommand.cpp \
508     editing/VisiblePosition.cpp \
509     editing/visible_units.cpp \
510     editing/WrapContentsInDummySpanCommand.cpp \
511     history/BackForwardList.cpp \
512     history/CachedPage.cpp \
513     history/HistoryItem.cpp \
514     history/PageCache.cpp \
515     html/CanvasGradient.cpp \
516     html/CanvasPattern.cpp \
517     html/CanvasRenderingContext2D.cpp \
518     html/CanvasStyle.cpp \
519     html/FormDataList.cpp \
520     html/HTMLAnchorElement.cpp \
521     html/HTMLAppletElement.cpp \
522     html/HTMLAreaElement.cpp \
523     html/HTMLBaseElement.cpp \
524     html/HTMLBaseFontElement.cpp \
525     html/HTMLBlockquoteElement.cpp \
526     html/HTMLBodyElement.cpp \
527     html/HTMLBRElement.cpp \
528     html/HTMLButtonElement.cpp \
529     html/HTMLCanvasElement.cpp \
530     html/HTMLCollection.cpp \
531     html/HTMLDirectoryElement.cpp \
532     html/HTMLDivElement.cpp \
533     html/HTMLDListElement.cpp \
534     html/HTMLDocument.cpp \
535     html/HTMLElement.cpp \
536     html/HTMLElementFactory.cpp \
537     html/HTMLEmbedElement.cpp \
538     html/HTMLFieldSetElement.cpp \
539     html/HTMLFontElement.cpp \
540     html/HTMLFormCollection.cpp \
541     html/HTMLFormElement.cpp \
542     html/HTMLFrameElementBase.cpp \
543     html/HTMLFrameElement.cpp \
544     html/HTMLFrameOwnerElement.cpp \
545     html/HTMLFrameSetElement.cpp \
546     html/HTMLGenericFormElement.cpp \
547     html/HTMLHeadElement.cpp \
548     html/HTMLHeadingElement.cpp \
549     html/HTMLHRElement.cpp \
550     html/HTMLHtmlElement.cpp \
551     html/HTMLIFrameElement.cpp \
552     html/HTMLImageElement.cpp \
553     html/HTMLImageLoader.cpp \
554     html/HTMLInputElement.cpp \
555     html/HTMLIsIndexElement.cpp \
556     html/HTMLKeygenElement.cpp \
557     html/HTMLLabelElement.cpp \
558     html/HTMLLegendElement.cpp \
559     html/HTMLLIElement.cpp \
560     html/HTMLLinkElement.cpp \
561     html/HTMLMapElement.cpp \
562     html/HTMLMarqueeElement.cpp \
563     html/HTMLMenuElement.cpp \
564     html/HTMLMetaElement.cpp \
565     html/HTMLModElement.cpp \
566     html/HTMLNameCollection.cpp \
567     html/HTMLObjectElement.cpp \
568     html/HTMLOListElement.cpp \
569     html/HTMLOptGroupElement.cpp \
570     html/HTMLOptionElement.cpp \
571     html/HTMLOptionsCollection.cpp \
572     html/HTMLParagraphElement.cpp \
573     html/HTMLParamElement.cpp \
574     html/HTMLParser.cpp \
575     html/HTMLParserErrorCodes.cpp \
576     html/HTMLPlugInElement.cpp \
577     html/HTMLPreElement.cpp \
578     html/HTMLQuoteElement.cpp \
579     html/HTMLScriptElement.cpp \
580     html/HTMLSelectElement.cpp \
581     html/HTMLStyleElement.cpp \
582     html/HTMLTableCaptionElement.cpp \
583     html/HTMLTableCellElement.cpp \
584     html/HTMLTableColElement.cpp \
585     html/HTMLTableElement.cpp \
586     html/HTMLTablePartElement.cpp \
587     html/HTMLTableRowElement.cpp \
588     html/HTMLTableSectionElement.cpp \
589     html/HTMLTextAreaElement.cpp \
590     html/HTMLTextFieldInnerElement.cpp \
591     html/HTMLTitleElement.cpp \
592     html/HTMLTokenizer.cpp \
593     html/HTMLUListElement.cpp \
594     html/HTMLViewSourceDocument.cpp \
595     loader/Cache.cpp \
596     loader/CachedCSSStyleSheet.cpp \
597     loader/CachedFont.cpp \
598     loader/CachedImage.cpp \
599     loader/CachedResourceClientWalker.cpp \
600     loader/CachedResource.cpp \
601     loader/CachedScript.cpp \
602     loader/CachedXSLStyleSheet.cpp \
603     loader/DocLoader.cpp \
604     loader/DocumentLoader.cpp \
605     loader/FormState.cpp \
606     loader/FrameLoader.cpp \
607     loader/FTPDirectoryDocument.cpp \
608     loader/FTPDirectoryParser.cpp \
609     loader/icon/IconLoader.cpp \
610     loader/ImageDocument.cpp \
611     loader/loader.cpp \
612     loader/MainResourceLoader.cpp \
613     loader/NavigationAction.cpp \
614     loader/NetscapePlugInStreamLoader.cpp \
615     loader/PluginDocument.cpp \
616     loader/ProgressTracker.cpp \
617     loader/Request.cpp \
618     loader/ResourceLoader.cpp \
619     loader/SubresourceLoader.cpp \
620     loader/TextDocument.cpp \
621     loader/TextResourceDecoder.cpp \
622     page/AnimationController.cpp \
623     page/BarInfo.cpp \
624     page/Chrome.cpp \
625     page/Console.cpp \
626     page/ContextMenuController.cpp \
627     page/DOMSelection.cpp \
628     page/DOMWindow.cpp \
629     page/DragController.cpp \
630     page/EventHandler.cpp \
631     page/FocusController.cpp \
632     page/Frame.cpp \
633     page/FrameTree.cpp \
634     page/FrameView.cpp \
635     page/History.cpp \
636     page/InspectorController.cpp \
637     page/MouseEventWithHitTestResults.cpp \
638     page/Page.cpp \
639     page/Screen.cpp \
640     page/Settings.cpp \
641     platform/Arena.cpp \
642     platform/ArrayImpl.cpp \
643     platform/AtomicString.cpp \
644     platform/Base64.cpp \
645     platform/BidiContext.cpp \
646     platform/ContextMenu.cpp \
647     platform/CString.cpp \
648     platform/DeprecatedCString.cpp \
649     platform/DeprecatedPtrListImpl.cpp \
650     platform/DeprecatedString.cpp \
651     platform/DeprecatedStringList.cpp \
652     platform/DeprecatedValueListImpl.cpp \
653     platform/DragData.cpp \
654     platform/DragImage.cpp \
655     platform/FileChooser.cpp \
656     platform/FontFamily.cpp \
657     platform/graphics/AffineTransform.cpp \
658     platform/graphics/BitmapImage.cpp \
659     platform/graphics/Color.cpp \
660     platform/graphics/FloatPoint3D.cpp \
661     platform/graphics/FloatPoint.cpp \
662     platform/graphics/FloatRect.cpp \
663     platform/graphics/FloatSize.cpp \
664     platform/graphics/GraphicsContext.cpp \
665     platform/graphics/GraphicsTypes.cpp \
666     platform/graphics/Image.cpp \
667     platform/graphics/IntRect.cpp \
668     platform/graphics/Path.cpp \
669     platform/graphics/PathTraversalState.cpp \
670     platform/graphics/Pen.cpp \
671     platform/KURL.cpp \
672     platform/Logging.cpp \
673     platform/MIMETypeRegistry.cpp \
674     platform/network/AuthenticationChallenge.cpp \
675     platform/network/Credential.cpp \
676     platform/network/FormData.cpp \
677     platform/network/HTTPParsers.cpp \
678     platform/network/ProtectionSpace.cpp \
679     platform/network/ResourceHandle.cpp \
680     platform/network/ResourceRequestBase.cpp \
681     platform/network/ResourceResponseBase.cpp \
682     platform/RegularExpression.cpp \
683     platform/ScrollBar.cpp \
684 #    platform/SearchPopupMenu.cpp \
685     platform/SecurityOrigin.cpp \
686     platform/SecurityOriginData.cpp \
687     platform/SegmentedString.cpp \
688     platform/SharedBuffer.cpp \
689     platform/String.cpp \
690     platform/StringImpl.cpp \
691     platform/TextCodec.cpp \
692     platform/TextCodecLatin1.cpp \
693     platform/TextCodecUserDefined.cpp \
694     platform/TextCodecUTF16.cpp \
695     platform/TextDecoder.cpp \
696     platform/TextEncoding.cpp \
697     platform/TextEncodingRegistry.cpp \
698     platform/TextStream.cpp \
699     platform/Timer.cpp \
700     platform/UnicodeRange.cpp \
701     platform/Widget.cpp \
702     rendering/AutoTableLayout.cpp \
703     rendering/bidi.cpp \
704     rendering/break_lines.cpp \
705     rendering/CounterNode.cpp \
706     rendering/EllipsisBox.cpp \
707     rendering/FixedTableLayout.cpp \
708     rendering/HitTestResult.cpp \
709     rendering/InlineBox.cpp \
710     rendering/InlineFlowBox.cpp \
711     rendering/InlineTextBox.cpp \
712     rendering/LayoutState.cpp \
713     rendering/ListMarkerBox.cpp \
714     rendering/RenderApplet.cpp \
715     rendering/RenderArena.cpp \
716     rendering/RenderBlock.cpp \
717     rendering/RenderBox.cpp \
718     rendering/RenderBR.cpp \
719     rendering/RenderButton.cpp \
720     rendering/RenderContainer.cpp \
721     rendering/RenderCounter.cpp \
722     rendering/RenderFieldset.cpp \
723     rendering/RenderFileUploadControl.cpp \
724     rendering/RenderFlexibleBox.cpp \
725     rendering/RenderFlow.cpp \
726     rendering/RenderFrame.cpp \
727     rendering/RenderFrameSet.cpp \
728     rendering/RenderHTMLCanvas.cpp \
729     rendering/RenderImage.cpp \
730     rendering/RenderInline.cpp \
731     rendering/RenderLayer.cpp \
732     rendering/RenderLegend.cpp \
733     rendering/RenderListBox.cpp \
734     rendering/RenderListItem.cpp \
735     rendering/RenderListMarker.cpp \
736     rendering/RenderMenuList.cpp \
737     rendering/RenderObject.cpp \
738     rendering/RenderPart.cpp \
739     rendering/RenderPartObject.cpp \
740     rendering/RenderReplaced.cpp \
741     rendering/RenderSlider.cpp \
742     rendering/RenderStyle.cpp \
743     rendering/RenderTableCell.cpp \
744     rendering/RenderTableCol.cpp \
745     rendering/RenderTable.cpp \
746     rendering/RenderTableRow.cpp \
747     rendering/RenderTableSection.cpp \
748     rendering/RenderTextControl.cpp \
749     rendering/RenderText.cpp \
750     rendering/RenderTextFragment.cpp \
751     rendering/RenderTheme.cpp \
752     rendering/RenderTreeAsText.cpp \
753     rendering/RenderView.cpp \
754     rendering/RenderWidget.cpp \
755     rendering/RenderWordBreak.cpp \
756     rendering/RootInlineBox.cpp \
757     rendering/SVGRenderTreeAsText.cpp \
758     xml/DOMParser.cpp \
759     xml/NativeXPathNSResolver.cpp \
760     xml/XMLHttpRequest.cpp \
761     xml/XMLSerializer.cpp \
762     xml/XPathEvaluator.cpp \
763     xml/XPathExpression.cpp \
764     xml/XPathExpressionNode.cpp \
765     xml/XPathFunctions.cpp \
766     xml/XPathNamespace.cpp \
767     xml/XPathNodeSet.cpp \
768     xml/XPathNSResolver.cpp \
769     xml/XPathParser.cpp \
770     xml/XPathPath.cpp \
771     xml/XPathPredicate.cpp \
772     xml/XPathResult.cpp \
773     xml/XPathStep.cpp \
774     xml/XPathUtil.cpp \
775     xml/XPathValue.cpp \
776     xml/XPathVariableReference.cpp \
777     xml/XSLImportRule.cpp \
778     xml/XSLStyleSheet.cpp \
779     xml/XSLTExtensions.cpp \
780     xml/XSLTProcessor.cpp
781
782 gtk-port {
783   SOURCES += \
784     platform/GlyphPageTreeNode.cpp \
785     platform/GlyphWidthMap.cpp \
786     platform/FontCache.cpp \
787     platform/Font.cpp \
788     platform/FontData.cpp \
789     platform/FontFallbackList.cpp 
790 }
791
792 qt-port {
793
794     HEADERS += \
795     $$PWD/platform/qt/QWebPopup.h \
796     $$PWD/platform/qt/MenuEventProxy.h \
797     $$PWD/platform/qt/SharedTimerQt.h \
798     $$PWD/../WebKit/qt/Api/qwebframe.h \
799     $$PWD/../WebKit/qt/Api/qwebpage.h \
800     $$PWD/../WebKit/qt/Api/qwebnetworkinterface.h \
801     $$PWD/../WebKit/qt/Api/qwebnetworkinterface_p.h \
802     $$PWD/../WebKit/qt/Api/qwebobjectplugin.h \
803     $$PWD/../WebKit/qt/Api/qwebobjectplugin_p.h \
804     $$PWD/../WebKit/qt/Api/qwebobjectpluginconnector.h \
805     $$PWD/../WebKit/qt/Api/qwebhistoryinterface.h \
806     $$PWD/../WebKit/qt/Api/qcookiejar.h \
807     $$PWD/../WebKit/qt/WebCoreSupport/FrameLoaderClientQt.h
808
809     SOURCES += \
810     page/qt/DragControllerQt.cpp \
811     page/qt/EventHandlerQt.cpp \
812     page/qt/FrameQt.cpp \
813     platform/graphics/qt/AffineTransformQt.cpp \
814     platform/graphics/qt/ColorQt.cpp \
815     platform/graphics/qt/FloatPointQt.cpp \
816     platform/graphics/qt/FloatRectQt.cpp \
817     platform/graphics/qt/GraphicsContextQt.cpp \
818     platform/graphics/qt/IconQt.cpp \
819     platform/graphics/qt/ImageBufferQt.cpp \
820     platform/graphics/qt/ImageDecoderQt.cpp \
821     platform/graphics/qt/ImageQt.cpp \
822     platform/graphics/qt/ImageSourceQt.cpp \
823     platform/graphics/qt/IntPointQt.cpp \
824     platform/graphics/qt/IntRectQt.cpp \
825     platform/graphics/qt/IntSizeQt.cpp \
826     platform/graphics/qt/PathQt.cpp \
827     platform/network/qt/ResourceHandleQt.cpp \
828     editing/qt/EditorQt.cpp \
829     history/qt/CachedPageQt.cpp \
830     platform/qt/ClipboardQt.cpp \
831     platform/qt/ContextMenuItemQt.cpp \
832     platform/qt/ContextMenuQt.cpp \
833     platform/qt/CookieJarQt.cpp \
834     platform/qt/CursorQt.cpp \
835     platform/qt/DragDataQt.cpp \
836     platform/qt/DragImageQt.cpp \
837     platform/qt/FileChooserQt.cpp \
838     platform/qt/FileSystemQt.cpp \
839     platform/qt/FontCacheQt.cpp \
840     platform/qt/FontCustomPlatformData.cpp \
841     platform/qt/FontDataQt.cpp \
842     platform/qt/FontQt.cpp \
843     platform/qt/GlyphPageTreeNodeQt.cpp \
844     platform/qt/Localizations.cpp \
845     platform/qt/MIMETypeRegistryQt.cpp \
846     platform/qt/PasteboardQt.cpp \
847     platform/qt/PlatformKeyboardEventQt.cpp \
848     platform/qt/PlatformMouseEventQt.cpp \
849     platform/qt/PlatformScreenQt.cpp \
850     platform/qt/PlatformScrollBarQt.cpp \
851     platform/qt/PlugInInfoStoreQt.cpp \
852     platform/qt/PopupMenuQt.cpp \
853     platform/qt/QWebPopup.cpp \
854     platform/qt/RenderThemeQt.cpp \
855     platform/qt/ScrollViewQt.cpp \
856     platform/qt/SearchPopupMenuQt.cpp \
857     platform/qt/SharedTimerQt.cpp \
858     platform/qt/SoundQt.cpp \
859     platform/qt/StringQt.cpp \
860     platform/qt/TemporaryLinkStubs.cpp \
861     platform/qt/TextBoundaries.cpp \
862     platform/qt/TextBreakIteratorQt.cpp \
863     platform/qt/TextCodecQt.cpp \
864     platform/qt/ThreadingQt.cpp \
865     platform/qt/WheelEventQt.cpp \
866     platform/qt/WidgetQt.cpp \
867     ../WebKit/qt/WebCoreSupport/ChromeClientQt.cpp \
868     ../WebKit/qt/WebCoreSupport/ContextMenuClientQt.cpp \
869     ../WebKit/qt/WebCoreSupport/DragClientQt.cpp \
870     ../WebKit/qt/WebCoreSupport/EditorClientQt.cpp \
871     ../WebKit/qt/WebCoreSupport/EditCommandQt.cpp \
872     ../WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp \
873     ../WebKit/qt/WebCoreSupport/InspectorClientQt.cpp \
874     ../WebKit/qt/Api/qwebframe.cpp \
875     ../WebKit/qt/Api/qwebnetworkinterface.cpp \
876     ../WebKit/qt/Api/qcookiejar.cpp \
877     ../WebKit/qt/Api/qwebpage.cpp \
878     ../WebKit/qt/Api/qwebpagehistory.cpp \
879     ../WebKit/qt/Api/qwebsettings.cpp \
880     ../WebKit/qt/Api/qwebobjectplugin.cpp \
881     ../WebKit/qt/Api/qwebobjectpluginconnector.cpp \
882     ../WebKit/qt/Api/qwebhistoryinterface.cpp \
883     platform/ThreadingNone.cpp
884
885     unix: SOURCES += platform/qt/SystemTimeQt.cpp
886     else: SOURCES += platform/win/SystemTimeWin.cpp
887 }
888
889 gtk-port {
890     HEADERS += \
891         ../WebCore/platform/gtk/ClipboardGtk.h \
892         ../WebKit/gtk/Api/webkitgtkdefines.h \
893         ../WebKit/gtk/Api/webkitgtkframe.h \
894         ../WebKit/gtk/Api/webkitgtkglobal.h \
895         ../WebKit/gtk/Api/webkitgtknetworkrequest.h \
896         ../WebKit/gtk/Api/webkitgtkpage.h \
897         ../WebKit/gtk/Api/webkitgtkprivate.h \
898         ../WebKit/gtk/Api/webkitgtksettings.h \
899         ../WebKit/gtk/WebCoreSupport/ChromeClientGtk.h \
900         ../WebKit/gtk/WebCoreSupport/ContextMenuClientGtk.h \
901         ../WebKit/gtk/WebCoreSupport/DragClientGtk.h \
902         ../WebKit/gtk/WebCoreSupport/EditorClientGtk.h \
903         ../WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.h \
904         ../WebKit/gtk/WebCoreSupport/InspectorClientGtk.h
905     SOURCES += \
906         platform/StringTruncator.cpp \
907         platform/TextCodecICU.cpp \
908         platform/TextBreakIteratorICU.cpp \
909         page/gtk/EventHandlerGtk.cpp \
910         page/gtk/FrameGtk.cpp \
911         page/gtk/DragControllerGtk.cpp \
912         platform/gtk/ClipboardGtk.cpp \
913         platform/gtk/CookieJarGtk.cpp \
914         platform/gtk/CursorGtk.cpp \
915         platform/gtk/ContextMenuGtk.cpp \
916         platform/gtk/ContextMenuItemGtk.cpp \
917         platform/gtk/DragDataGtk.cpp \
918         platform/gtk/DragImageGtk.cpp \
919         platform/gtk/FileChooserGtk.cpp \
920         platform/gtk/FileSystemGtk.cpp \
921         platform/gtk/FontCacheGtk.cpp \
922         platform/gtk/FontDataGtk.cpp \
923         platform/gtk/FontGtk.cpp \
924         platform/gtk/FontPlatformDataGtk.cpp \
925         platform/gtk/GlyphPageTreeNodeGtk.cpp \
926         platform/gtk/KeyEventGtk.cpp \
927         platform/gtk/Language.cpp \
928         platform/gtk/LocalizedStringsGtk.cpp \
929         platform/gtk/LoggingGtk.cpp \
930         platform/gtk/MIMETypeRegistryGtk.cpp \
931         platform/gtk/MouseEventGtk.cpp \
932         platform/gtk/PasteboardGtk.cpp \
933         platform/gtk/PlatformScreenGtk.cpp \
934         platform/gtk/PlatformScrollBarGtk.cpp \
935         platform/gtk/PopupMenuGtk.cpp \
936         platform/gtk/RenderThemeGtk.cpp \
937         platform/gtk/SearchPopupMenuGtk.cpp \
938         platform/gtk/ScrollViewGtk.cpp \
939         platform/gtk/SharedTimerGtk.cpp \
940         platform/gtk/SoundGtk.cpp \
941         platform/gtk/SystemTimeGtk.cpp \
942         platform/gtk/TemporaryLinkStubs.cpp \
943         platform/TextBoundariesICU.cpp \
944         platform/gtk/TextBreakIteratorInternalICUGtk.cpp \
945         platform/gtk/ThreadingGtk.cpp \
946         platform/gtk/WheelEventGtk.cpp \
947         platform/gtk/WidgetGtk.cpp \
948         platform/gtk/gtk2drawing.c \
949         platform/graphics/gtk/ColorGtk.cpp \
950         platform/graphics/gtk/IconGtk.cpp \
951         platform/graphics/gtk/ImageGtk.cpp \
952         platform/graphics/gtk/IntPointGtk.cpp \
953         platform/graphics/gtk/IntRectGtk.cpp \
954         platform/network/curl/ResourceHandleCurl.cpp \
955         platform/network/curl/ResourceHandleManager.cpp \
956         platform/graphics/cairo/AffineTransformCairo.cpp \
957         platform/graphics/cairo/GraphicsContextCairo.cpp \
958         platform/graphics/cairo/ImageBufferCairo.cpp \
959         platform/graphics/cairo/ImageCairo.cpp \
960         platform/graphics/cairo/ImageSourceCairo.cpp \
961         platform/graphics/cairo/PathCairo.cpp \
962         platform/image-decoders/gif/GIFImageDecoder.cpp \
963         platform/image-decoders/gif/GIFImageReader.cpp  \
964         platform/image-decoders/png/PNGImageDecoder.cpp \
965         platform/image-decoders/jpeg/JPEGImageDecoder.cpp \
966         platform/image-decoders/bmp/BMPImageDecoder.cpp \
967         platform/image-decoders/ico/ICOImageDecoder.cpp \
968         platform/image-decoders/xbm/XBMImageDecoder.cpp \
969         ../WebKit/gtk/Api/webkitgtkframe.cpp \
970         ../WebKit/gtk/Api/webkitgtkglobal.cpp \
971         ../WebKit/gtk/Api/webkitgtknetworkrequest.cpp \
972         ../WebKit/gtk/Api/webkitgtkpage.cpp \
973         ../WebKit/gtk/Api/webkitgtkprivate.cpp \
974         ../WebKit/gtk/Api/webkitgtksettings.cpp \
975         ../WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp \
976         ../WebKit/gtk/WebCoreSupport/ContextMenuClientGtk.cpp \
977         ../WebKit/gtk/WebCoreSupport/DragClientGtk.cpp \
978         ../WebKit/gtk/WebCoreSupport/EditorClientGtk.cpp \
979         ../WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp \
980         ../WebKit/gtk/WebCoreSupport/InspectorClientGtk.cpp
981 }
982
983 contains(DEFINES, ENABLE_DATABASE=1) {
984     FEATURE_DEFINES_JAVASCRIPT += ENABLE_DATABASE=1
985     qt-port: INCLUDEPATH += $$[QT_INSTALL_PREFIX]/src/3rdparty/sqlite/
986     LIBS += -lsqlite3
987     SOURCES += \
988         platform/sql/SQLiteAuthorizer.cpp \
989         platform/sql/SQLiteDatabase.cpp \
990         platform/sql/SQLiteStatement.cpp \
991         platform/sql/SQLiteTransaction.cpp \
992         platform/sql/SQLValue.cpp \
993         storage/ChangeVersionWrapper.cpp \
994         storage/DatabaseAuthorizer.cpp \
995         storage/Database.cpp \
996         storage/DatabaseTask.cpp \
997         storage/DatabaseThread.cpp \
998         storage/DatabaseTracker.cpp \
999         storage/SQLResultSet.cpp \
1000         storage/SQLResultSetRowList.cpp \
1001         storage/SQLStatement.cpp \
1002         storage/SQLTransaction.cpp \
1003         bindings/js/JSCustomSQLStatementCallback.cpp \
1004         bindings/js/JSCustomSQLStatementErrorCallback.cpp \
1005         bindings/js/JSCustomSQLTransactionCallback.cpp \
1006         bindings/js/JSCustomSQLTransactionErrorCallback.cpp \
1007         bindings/js/JSDatabaseCustom.cpp \
1008         bindings/js/JSSQLResultSetRowListCustom.cpp \
1009         bindings/js/JSSQLTransactionCustom.cpp
1010
1011     IDL_BINDINGS += \
1012         storage/Database.idl \
1013         storage/SQLError.idl \
1014         storage/SQLResultSet.idl \
1015         storage/SQLResultSetRowList.idl \
1016         storage/SQLTransaction.idl
1017 }
1018
1019 contains(DEFINES, ENABLE_ICONDATABASE=1) {
1020     SOURCES += \
1021         loader/icon/IconDatabase.cpp \
1022         loader/icon/IconRecord.cpp \
1023         loader/icon/PageURLRecord.cpp
1024 } else {
1025     SOURCES += \
1026         loader/icon/IconDatabaseNone.cpp
1027 }
1028
1029 contains(DEFINES, ENABLE_XPATH=1) {
1030     FEATURE_DEFINES_JAVASCRIPT += ENABLE_XPATH=1
1031
1032     XPATHBISON = $$PWD/xml/XPathGrammar.y
1033
1034     IDL_BINDINGS += \
1035         xml/XPathNSResolver.idl \
1036         xml/XPathExpression.idl \
1037         xml/XPathResult.idl \
1038         xml/XPathEvaluator.idl
1039 }
1040
1041 unix:!mac:CONFIG += link_pkgconfig
1042
1043 contains(DEFINES, ENABLE_XSLT=1) {
1044     FEATURE_DEFINES_JAVASCRIPT += ENABLE_XSLT=1
1045     PKGCONFIG += libxml-2.0 libxslt
1046
1047     macx {
1048         INCLUDEPATH += /usr/include/libxml2
1049         LIBS += -lxml2 -lxslt
1050     }
1051
1052     win32-msvc* {
1053         LIBS += -llibxml2 -llibxslt
1054     }
1055 }
1056
1057 contains(DEFINES, ENABLE_XBL=1) {
1058     FEATURE_DEFINES_JAVASCRIPT += ENABLE_XBL=1
1059 }
1060
1061 contains(DEFINES, ENABLE_SVG=1) {
1062     FEATURE_DEFINES_JAVASCRIPT += ENABLE_SVG=1
1063
1064     DEPENDPATH += ksvg2/css ksvg2/events ksvg2/misc ksvg2/svg platform/graphics/svg
1065     qt-port {
1066     DEPENDPATH += platform/graphics/svg/qt
1067     }
1068
1069     gtk-port {
1070     DEPENDPATH += platform/graphics/svg/cairo
1071     }
1072
1073     SVG_NAMES = $$PWD/ksvg2/svg/svgtags.in
1074
1075     XLINK_NAMES = $$PWD/ksvg2/misc/xlinkattrs.in
1076
1077     IDL_BINDINGS += ksvg2/events/SVGZoomEvent.idl \
1078         ksvg2/svg/SVGAElement.idl \
1079         ksvg2/svg/SVGAngle.idl \
1080         ksvg2/svg/SVGAnimateColorElement.idl \
1081         ksvg2/svg/SVGAnimatedAngle.idl \
1082         ksvg2/svg/SVGAnimatedBoolean.idl \
1083         ksvg2/svg/SVGAnimatedEnumeration.idl \
1084         ksvg2/svg/SVGAnimatedInteger.idl \
1085         ksvg2/svg/SVGAnimatedLength.idl \
1086         ksvg2/svg/SVGAnimatedLengthList.idl \
1087         ksvg2/svg/SVGAnimatedNumber.idl \
1088         ksvg2/svg/SVGAnimatedNumberList.idl \
1089         ksvg2/svg/SVGAnimatedPreserveAspectRatio.idl \
1090         ksvg2/svg/SVGAnimatedRect.idl \
1091         ksvg2/svg/SVGAnimatedString.idl \
1092         ksvg2/svg/SVGAnimatedTransformList.idl \
1093         ksvg2/svg/SVGAnimateElement.idl \
1094         ksvg2/svg/SVGAnimateTransformElement.idl \
1095         ksvg2/svg/SVGAnimationElement.idl \
1096         ksvg2/svg/SVGCircleElement.idl \
1097         ksvg2/svg/SVGClipPathElement.idl \
1098         ksvg2/svg/SVGColor.idl \
1099         ksvg2/svg/SVGComponentTransferFunctionElement.idl \
1100         ksvg2/svg/SVGCursorElement.idl \
1101         ksvg2/svg/SVGDefinitionSrcElement.idl \
1102         ksvg2/svg/SVGDefsElement.idl \
1103         ksvg2/svg/SVGDescElement.idl \
1104         ksvg2/svg/SVGDocument.idl \
1105         ksvg2/svg/SVGElement.idl \
1106         ksvg2/svg/SVGElementInstance.idl \
1107         ksvg2/svg/SVGElementInstanceList.idl \
1108         ksvg2/svg/SVGEllipseElement.idl \
1109         ksvg2/svg/SVGException.idl \
1110         ksvg2/svg/SVGFEBlendElement.idl \
1111         ksvg2/svg/SVGFEColorMatrixElement.idl \
1112         ksvg2/svg/SVGFEComponentTransferElement.idl \
1113         ksvg2/svg/SVGFECompositeElement.idl \
1114         ksvg2/svg/SVGFEDiffuseLightingElement.idl \
1115         ksvg2/svg/SVGFEDisplacementMapElement.idl \
1116         ksvg2/svg/SVGFEDistantLightElement.idl \
1117         ksvg2/svg/SVGFEFloodElement.idl \
1118         ksvg2/svg/SVGFEFuncAElement.idl \
1119         ksvg2/svg/SVGFEFuncBElement.idl \
1120         ksvg2/svg/SVGFEFuncGElement.idl \
1121         ksvg2/svg/SVGFEFuncRElement.idl \
1122         ksvg2/svg/SVGFEGaussianBlurElement.idl \
1123         ksvg2/svg/SVGFEImageElement.idl \
1124         ksvg2/svg/SVGFEMergeElement.idl \
1125         ksvg2/svg/SVGFEMergeNodeElement.idl \
1126         ksvg2/svg/SVGFEOffsetElement.idl \
1127         ksvg2/svg/SVGFEPointLightElement.idl \
1128         ksvg2/svg/SVGFESpecularLightingElement.idl \
1129         ksvg2/svg/SVGFESpotLightElement.idl \
1130         ksvg2/svg/SVGFETileElement.idl \
1131         ksvg2/svg/SVGFETurbulenceElement.idl \
1132         ksvg2/svg/SVGFilterElement.idl \
1133         ksvg2/svg/SVGFontFaceElement.idl \
1134         ksvg2/svg/SVGFontFaceFormatElement.idl \
1135         ksvg2/svg/SVGFontFaceNameElement.idl \
1136         ksvg2/svg/SVGFontFaceSrcElement.idl \
1137         ksvg2/svg/SVGFontFaceUriElement.idl \
1138         ksvg2/svg/SVGForeignObjectElement.idl \
1139         ksvg2/svg/SVGGElement.idl \
1140         ksvg2/svg/SVGGradientElement.idl \
1141         ksvg2/svg/SVGImageElement.idl \
1142         ksvg2/svg/SVGLength.idl \
1143         ksvg2/svg/SVGLengthList.idl \
1144         ksvg2/svg/SVGLinearGradientElement.idl \
1145         ksvg2/svg/SVGLineElement.idl \
1146         ksvg2/svg/SVGMarkerElement.idl \
1147         ksvg2/svg/SVGMaskElement.idl \
1148         ksvg2/svg/SVGMatrix.idl \
1149         ksvg2/svg/SVGMetadataElement.idl \
1150         ksvg2/svg/SVGNumber.idl \
1151         ksvg2/svg/SVGNumberList.idl \
1152         ksvg2/svg/SVGPaint.idl \
1153         ksvg2/svg/SVGPathElement.idl \
1154         ksvg2/svg/SVGPathSegArcAbs.idl \
1155         ksvg2/svg/SVGPathSegArcRel.idl \
1156         ksvg2/svg/SVGPathSegClosePath.idl \
1157         ksvg2/svg/SVGPathSegCurvetoCubicAbs.idl \
1158         ksvg2/svg/SVGPathSegCurvetoCubicRel.idl \
1159         ksvg2/svg/SVGPathSegCurvetoCubicSmoothAbs.idl \
1160         ksvg2/svg/SVGPathSegCurvetoCubicSmoothRel.idl \
1161         ksvg2/svg/SVGPathSegCurvetoQuadraticAbs.idl \
1162         ksvg2/svg/SVGPathSegCurvetoQuadraticRel.idl \
1163         ksvg2/svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl \
1164         ksvg2/svg/SVGPathSegCurvetoQuadraticSmoothRel.idl \
1165         ksvg2/svg/SVGPathSeg.idl \
1166         ksvg2/svg/SVGPathSegLinetoAbs.idl \
1167         ksvg2/svg/SVGPathSegLinetoHorizontalAbs.idl \
1168         ksvg2/svg/SVGPathSegLinetoHorizontalRel.idl \
1169         ksvg2/svg/SVGPathSegLinetoRel.idl \
1170         ksvg2/svg/SVGPathSegLinetoVerticalAbs.idl \
1171         ksvg2/svg/SVGPathSegLinetoVerticalRel.idl \
1172         ksvg2/svg/SVGPathSegList.idl \
1173         ksvg2/svg/SVGPathSegMovetoAbs.idl \
1174         ksvg2/svg/SVGPathSegMovetoRel.idl \
1175         ksvg2/svg/SVGPatternElement.idl \
1176         ksvg2/svg/SVGPoint.idl \
1177         ksvg2/svg/SVGPointList.idl \
1178         ksvg2/svg/SVGPolygonElement.idl \
1179         ksvg2/svg/SVGPolylineElement.idl \
1180         ksvg2/svg/SVGPreserveAspectRatio.idl \
1181         ksvg2/svg/SVGRadialGradientElement.idl \
1182         ksvg2/svg/SVGRectElement.idl \
1183         ksvg2/svg/SVGRect.idl \
1184         ksvg2/svg/SVGRenderingIntent.idl \
1185         ksvg2/svg/SVGScriptElement.idl \
1186         ksvg2/svg/SVGSetElement.idl \
1187         ksvg2/svg/SVGStopElement.idl \
1188         ksvg2/svg/SVGStringList.idl \
1189         ksvg2/svg/SVGStyleElement.idl \
1190         ksvg2/svg/SVGSVGElement.idl \
1191         ksvg2/svg/SVGSwitchElement.idl \
1192         ksvg2/svg/SVGSymbolElement.idl \
1193         ksvg2/svg/SVGTextContentElement.idl \
1194         ksvg2/svg/SVGTextElement.idl \
1195         ksvg2/svg/SVGTextPathElement.idl \
1196         ksvg2/svg/SVGTextPositioningElement.idl \
1197         ksvg2/svg/SVGTitleElement.idl \
1198         ksvg2/svg/SVGTransform.idl \
1199         ksvg2/svg/SVGTransformList.idl \
1200         ksvg2/svg/SVGTRefElement.idl \
1201         ksvg2/svg/SVGTSpanElement.idl \
1202         ksvg2/svg/SVGUnitTypes.idl \
1203         ksvg2/svg/SVGUseElement.idl \
1204         ksvg2/svg/SVGViewElement.idl 
1205
1206     SOURCES += \
1207 # TODO: this-one-is-not-auto-added! FIXME! tmp/SVGElementFactory.cpp \
1208         bindings/js/JSSVGElementWrapperFactory.cpp \
1209         bindings/js/JSSVGMatrixCustom.cpp \
1210         bindings/js/JSSVGPathSegCustom.cpp \
1211         bindings/js/JSSVGPathSegListCustom.cpp \
1212         bindings/js/JSSVGPointListCustom.cpp \
1213         bindings/js/JSSVGTransformListCustom.cpp \
1214         ksvg2/css/SVGCSSComputedStyleDeclaration.cpp \
1215         ksvg2/css/SVGCSSParser.cpp \
1216         ksvg2/css/SVGCSSStyleSelector.cpp \
1217         ksvg2/css/SVGRenderStyle.cpp \
1218         ksvg2/css/SVGRenderStyleDefs.cpp \
1219         ksvg2/events/JSSVGLazyEventListener.cpp \
1220         ksvg2/events/SVGZoomEvent.cpp \
1221         ksvg2/misc/PointerEventsHitRules.cpp \
1222         ksvg2/misc/SVGDocumentExtensions.cpp \
1223         ksvg2/misc/SVGImageLoader.cpp \
1224         ksvg2/misc/SVGTimer.cpp \
1225         ksvg2/misc/TimeScheduler.cpp \
1226         ksvg2/svg/ColorDistance.cpp \
1227         ksvg2/svg/SVGAElement.cpp \
1228         ksvg2/svg/SVGAngle.cpp \
1229         ksvg2/svg/SVGAnimateColorElement.cpp \
1230         ksvg2/svg/SVGAnimatedPathData.cpp \
1231         ksvg2/svg/SVGAnimatedPoints.cpp \
1232         ksvg2/svg/SVGAnimateElement.cpp \
1233         ksvg2/svg/SVGAnimateMotionElement.cpp \
1234         ksvg2/svg/SVGAnimateTransformElement.cpp \
1235         ksvg2/svg/SVGAnimationElement.cpp \
1236         ksvg2/svg/SVGCircleElement.cpp \
1237         ksvg2/svg/SVGClipPathElement.cpp \
1238         ksvg2/svg/SVGColor.cpp \
1239         ksvg2/svg/SVGComponentTransferFunctionElement.cpp \
1240         ksvg2/svg/SVGCursorElement.cpp \
1241         ksvg2/svg/SVGDefinitionSrcElement.cpp \
1242         ksvg2/svg/SVGDefsElement.cpp \
1243         ksvg2/svg/SVGDescElement.cpp \
1244         ksvg2/svg/SVGDocument.cpp \
1245         ksvg2/svg/SVGElement.cpp \
1246         ksvg2/svg/SVGElementInstance.cpp \
1247         ksvg2/svg/SVGElementInstanceList.cpp \
1248         ksvg2/svg/SVGEllipseElement.cpp \
1249         ksvg2/svg/SVGExternalResourcesRequired.cpp \
1250         ksvg2/svg/SVGFEBlendElement.cpp \
1251         ksvg2/svg/SVGFEColorMatrixElement.cpp \
1252         ksvg2/svg/SVGFEComponentTransferElement.cpp \
1253         ksvg2/svg/SVGFECompositeElement.cpp \
1254         ksvg2/svg/SVGFEDiffuseLightingElement.cpp \
1255         ksvg2/svg/SVGFEDisplacementMapElement.cpp \
1256         ksvg2/svg/SVGFEDistantLightElement.cpp \
1257         ksvg2/svg/SVGFEFloodElement.cpp \
1258         ksvg2/svg/SVGFEFuncAElement.cpp \
1259         ksvg2/svg/SVGFEFuncBElement.cpp \
1260         ksvg2/svg/SVGFEFuncGElement.cpp \
1261         ksvg2/svg/SVGFEFuncRElement.cpp \
1262         ksvg2/svg/SVGFEGaussianBlurElement.cpp \
1263         ksvg2/svg/SVGFEImageElement.cpp \
1264         ksvg2/svg/SVGFELightElement.cpp \
1265         ksvg2/svg/SVGFEMergeElement.cpp \
1266         ksvg2/svg/SVGFEMergeNodeElement.cpp \
1267         ksvg2/svg/SVGFEOffsetElement.cpp \
1268         ksvg2/svg/SVGFEPointLightElement.cpp \
1269         ksvg2/svg/SVGFESpecularLightingElement.cpp \
1270         ksvg2/svg/SVGFESpotLightElement.cpp \
1271         ksvg2/svg/SVGFETileElement.cpp \
1272         ksvg2/svg/SVGFETurbulenceElement.cpp \
1273         ksvg2/svg/SVGFilterElement.cpp \
1274         ksvg2/svg/SVGFilterPrimitiveStandardAttributes.cpp \
1275         ksvg2/svg/SVGFitToViewBox.cpp \
1276         ksvg2/svg/SVGFontFaceElement.cpp \
1277         ksvg2/svg/SVGFontFaceFormatElement.cpp \
1278         ksvg2/svg/SVGFontFaceNameElement.cpp \
1279         ksvg2/svg/SVGFontFaceSrcElement.cpp \
1280         ksvg2/svg/SVGFontFaceUriElement.cpp \
1281         ksvg2/svg/SVGForeignObjectElement.cpp \
1282         ksvg2/svg/SVGGElement.cpp \
1283         ksvg2/svg/SVGGradientElement.cpp \
1284         ksvg2/svg/SVGImageElement.cpp \
1285         ksvg2/svg/SVGLangSpace.cpp \
1286         ksvg2/svg/SVGLength.cpp \
1287         ksvg2/svg/SVGLengthList.cpp \
1288         ksvg2/svg/SVGLinearGradientElement.cpp \
1289         ksvg2/svg/SVGLineElement.cpp \
1290         ksvg2/svg/SVGLocatable.cpp \
1291         ksvg2/svg/SVGMarkerElement.cpp \
1292         ksvg2/svg/SVGMaskElement.cpp \
1293         ksvg2/svg/SVGMetadataElement.cpp \
1294         ksvg2/svg/SVGMPathElement.cpp \
1295         ksvg2/svg/SVGNumberList.cpp \
1296         ksvg2/svg/SVGPaint.cpp \
1297         ksvg2/svg/SVGParserUtilities.cpp \
1298         ksvg2/svg/SVGPathElement.cpp \
1299         ksvg2/svg/SVGPathSegArc.cpp \
1300         ksvg2/svg/SVGPathSegClosePath.cpp \
1301         ksvg2/svg/SVGPathSegCurvetoCubic.cpp \
1302         ksvg2/svg/SVGPathSegCurvetoCubicSmooth.cpp \
1303         ksvg2/svg/SVGPathSegCurvetoQuadratic.cpp \
1304         ksvg2/svg/SVGPathSegCurvetoQuadraticSmooth.cpp \
1305         ksvg2/svg/SVGPathSegLineto.cpp \
1306         ksvg2/svg/SVGPathSegLinetoHorizontal.cpp \
1307         ksvg2/svg/SVGPathSegLinetoVertical.cpp \
1308         ksvg2/svg/SVGPathSegList.cpp \
1309         ksvg2/svg/SVGPathSegMoveto.cpp \
1310         ksvg2/svg/SVGPatternElement.cpp \
1311         ksvg2/svg/SVGPointList.cpp \
1312         ksvg2/svg/SVGPolyElement.cpp \
1313         ksvg2/svg/SVGPolygonElement.cpp \
1314         ksvg2/svg/SVGPolylineElement.cpp \
1315         ksvg2/svg/SVGPreserveAspectRatio.cpp \
1316         ksvg2/svg/SVGRadialGradientElement.cpp \
1317         ksvg2/svg/SVGRectElement.cpp \
1318         ksvg2/svg/SVGScriptElement.cpp \
1319         ksvg2/svg/SVGSetElement.cpp \
1320         ksvg2/svg/SVGStopElement.cpp \
1321         ksvg2/svg/SVGStringList.cpp \
1322         ksvg2/svg/SVGStylable.cpp \
1323         ksvg2/svg/SVGStyledElement.cpp \
1324         ksvg2/svg/SVGStyledLocatableElement.cpp \
1325         ksvg2/svg/SVGStyledTransformableElement.cpp \
1326         ksvg2/svg/SVGStyleElement.cpp \
1327         ksvg2/svg/SVGSVGElement.cpp \
1328         ksvg2/svg/SVGSwitchElement.cpp \
1329         ksvg2/svg/SVGSymbolElement.cpp \
1330         ksvg2/svg/SVGTests.cpp \
1331         ksvg2/svg/SVGTextContentElement.cpp \
1332         ksvg2/svg/SVGTextElement.cpp \
1333         ksvg2/svg/SVGTextPathElement.cpp \
1334         ksvg2/svg/SVGTextPositioningElement.cpp \
1335         ksvg2/svg/SVGTitleElement.cpp \
1336         ksvg2/svg/SVGTransformable.cpp \
1337         ksvg2/svg/SVGTransform.cpp \
1338         ksvg2/svg/SVGTransformDistance.cpp \
1339         ksvg2/svg/SVGTransformList.cpp \
1340         ksvg2/svg/SVGTRefElement.cpp \
1341         ksvg2/svg/SVGTSpanElement.cpp \
1342         ksvg2/svg/SVGURIReference.cpp \
1343         ksvg2/svg/SVGUseElement.cpp \
1344         ksvg2/svg/SVGViewElement.cpp \
1345         ksvg2/svg/SVGViewSpec.cpp \
1346         ksvg2/svg/SVGZoomAndPan.cpp \
1347         platform/graphics/svg/filters/SVGFEBlend.cpp \
1348         platform/graphics/svg/filters/SVGFEColorMatrix.cpp \
1349         platform/graphics/svg/filters/SVGFEComponentTransfer.cpp \
1350         platform/graphics/svg/filters/SVGFEComposite.cpp \
1351         platform/graphics/svg/filters/SVGFEConvolveMatrix.cpp \
1352         platform/graphics/svg/filters/SVGFEDiffuseLighting.cpp \
1353         platform/graphics/svg/filters/SVGFEDisplacementMap.cpp \
1354         platform/graphics/svg/filters/SVGFEFlood.cpp \
1355         platform/graphics/svg/filters/SVGFEGaussianBlur.cpp \
1356         platform/graphics/svg/filters/SVGFEImage.cpp \
1357         platform/graphics/svg/filters/SVGFEMerge.cpp \
1358         platform/graphics/svg/filters/SVGFEMorphology.cpp \
1359         platform/graphics/svg/filters/SVGFEOffset.cpp \
1360         platform/graphics/svg/filters/SVGFESpecularLighting.cpp \
1361         platform/graphics/svg/filters/SVGFETurbulence.cpp \
1362         platform/graphics/svg/filters/SVGFilterEffect.cpp \
1363         platform/graphics/svg/filters/SVGLightSource.cpp \
1364         platform/graphics/svg/SVGImage.cpp \
1365         platform/graphics/svg/SVGPaintServer.cpp \
1366         platform/graphics/svg/SVGPaintServerGradient.cpp \
1367         platform/graphics/svg/SVGPaintServerLinearGradient.cpp \
1368         platform/graphics/svg/SVGPaintServerPattern.cpp \
1369         platform/graphics/svg/SVGPaintServerRadialGradient.cpp \
1370         platform/graphics/svg/SVGPaintServerSolid.cpp \
1371         platform/graphics/svg/SVGResourceClipper.cpp \
1372         platform/graphics/svg/SVGResource.cpp \
1373         platform/graphics/svg/SVGResourceFilter.cpp \
1374         platform/graphics/svg/SVGResourceMarker.cpp \
1375         platform/graphics/svg/SVGResourceMasker.cpp \
1376         rendering/RenderForeignObject.cpp \
1377         rendering/RenderPath.cpp \
1378         rendering/RenderSVGBlock.cpp \
1379         rendering/RenderSVGContainer.cpp \
1380         rendering/RenderSVGGradientStop.cpp \
1381         rendering/RenderSVGHiddenContainer.cpp \
1382         rendering/RenderSVGImage.cpp \
1383         rendering/RenderSVGInline.cpp \
1384         rendering/RenderSVGInlineText.cpp \
1385         rendering/RenderSVGRoot.cpp \
1386         rendering/RenderSVGText.cpp \
1387         rendering/RenderSVGTextPath.cpp \
1388         rendering/RenderSVGTransformableContainer.cpp \
1389         rendering/RenderSVGTSpan.cpp \
1390         rendering/RenderSVGViewportContainer.cpp \
1391         rendering/SVGCharacterLayoutInfo.cpp \
1392         rendering/SVGInlineFlowBox.cpp \
1393         rendering/SVGInlineTextBox.cpp \
1394         rendering/SVGRenderSupport.cpp \
1395         rendering/SVGRootInlineBox.cpp
1396
1397 qt-port:SOURCES += \
1398         platform/graphics/svg/qt/RenderPathQt.cpp \
1399         platform/graphics/svg/qt/SVGPaintServerGradientQt.cpp \
1400         platform/graphics/svg/qt/SVGPaintServerLinearGradientQt.cpp \
1401         platform/graphics/svg/qt/SVGPaintServerPatternQt.cpp \
1402         platform/graphics/svg/qt/SVGPaintServerQt.cpp \
1403         platform/graphics/svg/qt/SVGPaintServerRadialGradientQt.cpp \
1404         platform/graphics/svg/qt/SVGPaintServerSolidQt.cpp \
1405         platform/graphics/svg/qt/SVGResourceClipperQt.cpp \
1406         platform/graphics/svg/qt/SVGResourceFilterQt.cpp \
1407         platform/graphics/svg/qt/SVGResourceMaskerQt.cpp
1408
1409 gtk-port:SOURCES += \
1410         platform/graphics/svg/cairo/RenderPathCairo.cpp \
1411         platform/graphics/svg/cairo/SVGPaintServerCairo.cpp \
1412         platform/graphics/svg/cairo/SVGPaintServerGradientCairo.cpp \
1413         platform/graphics/svg/cairo/SVGPaintServerPatternCairo.cpp \
1414         platform/graphics/svg/cairo/SVGPaintServerSolidCairo.cpp \
1415         platform/graphics/svg/cairo/SVGResourceClipperCairo.cpp \
1416         platform/graphics/svg/cairo/SVGResourceMaskerCairo.cpp
1417
1418         # GENERATOR 5-C:
1419         svgnames_a.output = tmp/SVGNames.cpp
1420         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 --preprocessor \"$${QMAKE_MOC} -E\" --output tmp
1421         svgnames_a.input = SVG_NAMES
1422         svgnames_a.dependency_type = TYPE_C
1423         svgnames_a.CONFIG = target_predeps
1424         svgnames_a.variable_out = GENERATED_SOURCES
1425         svgnames_a.clean = ${QMAKE_FILE_OUT} ${QMAKE_VAR_OBJECTS_DIR_WTR}SVGNames.h
1426         QMAKE_EXTRA_COMPILERS += svgnames_a
1427         svgnames_b.output = tmp/SVGElementFactory.cpp
1428         svgnames_b.commands = @echo -n ''
1429         svgnames_b.input = SVG_NAMES
1430         svgnames_b.depends = tmp/SVGNames.cpp
1431         svgnames_b.CONFIG = target_predeps
1432         svgnames_b.variable_out = GENERATED_SOURCES
1433         svgnames_b.clean += ${QMAKE_VAR_OBJECTS_DIR_WTR}SVGElementFactory.h ${QMAKE_FILE_OUT}
1434         QMAKE_EXTRA_COMPILERS += svgnames_b
1435
1436         # GENERATOR 5-D:
1437         xlinknames.output = tmp/XLinkNames.cpp
1438         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' --preprocessor \"$${QMAKE_MOC} -E\" --output tmp
1439         xlinknames.input = XLINK_NAMES
1440         xlinknames.dependency_type = TYPE_C
1441         xlinknames.CONFIG = target_predeps
1442         xlinknames.variable_out = GENERATED_SOURCES
1443         xlinknames.clean = ${QMAKE_FILE_OUT} ${QMAKE_VAR_OBJECTS_DIR_WTR}XLinkNames.h
1444         QMAKE_EXTRA_COMPILERS += xlinknames
1445
1446     # GENERATOR 6-A:
1447     cssprops.output = tmp/${QMAKE_FILE_BASE}.c
1448     cssprops.input = WALDOCSSPROPS
1449     cssprops.commands = perl -ne \"print lc\" ${QMAKE_FILE_NAME} $$SVGCSSPROPERTIES > tmp/${QMAKE_FILE_BASE}.in && cd tmp && perl $$PWD/css/makeprop.pl && $(DEL_FILE) ${QMAKE_FILE_BASE}.strip ${QMAKE_FILE_BASE}.in ${QMAKE_FILE_BASE}.gperf
1450     cssprops.CONFIG = target_predeps no_link
1451     cssprops.depend = ${QMAKE_FILE_NAME} SVGCSSPROPERTIES
1452     cssprops.clean = ${QMAKE_FILE_OUT} ${QMAKE_VAR_OBJECTS_DIR_WTR}${QMAKE_FILE_BASE}.h
1453     QMAKE_EXTRA_COMPILERS += cssprops
1454
1455     # GENERATOR 6-B:
1456     cssvalues.output = tmp/${QMAKE_FILE_BASE}.c
1457     cssvalues.input = WALDOCSSVALUES
1458     cssvalues.commands = perl -ne \"print lc\" ${QMAKE_FILE_NAME} $$SVGCSSVALUES > tmp/${QMAKE_FILE_BASE}.in && cd tmp && perl $$PWD/css/makevalues.pl && $(DEL_FILE) ${QMAKE_FILE_BASE}.in ${QMAKE_FILE_BASE}.strip ${QMAKE_FILE_BASE}.gperf
1459     cssvalues.CONFIG = target_predeps no_link
1460     cssvalues.depend = ${QMAKE_FILE_NAME} SVGCSSVALUES
1461     cssvalues.clean = ${QMAKE_FILE_OUT} ${QMAKE_VAR_OBJECTS_DIR_WTR}${QMAKE_FILE_BASE}.h
1462     QMAKE_EXTRA_COMPILERS += cssvalues
1463 } else {
1464     # GENERATOR 6-A:
1465     cssprops.output = tmp/${QMAKE_FILE_BASE}.c
1466     cssprops.input = WALDOCSSPROPS
1467     cssprops.commands = $(COPY_FILE) ${QMAKE_FILE_NAME} tmp && cd tmp && perl $$PWD/css/makeprop.pl && $(DEL_FILE) ${QMAKE_FILE_BASE}.strip ${QMAKE_FILE_BASE}.in ${QMAKE_FILE_BASE}.gperf
1468     cssprops.CONFIG = target_predeps no_link
1469     cssprops.clean = ${QMAKE_FILE_OUT} ${QMAKE_VAR_OBJECTS_DIR_WTR}${QMAKE_FILE_BASE}.h
1470     QMAKE_EXTRA_COMPILERS += cssprops
1471
1472     # GENERATOR 6-B:
1473     cssvalues.output = tmp/${QMAKE_FILE_BASE}.c
1474     cssvalues.input = WALDOCSSVALUES
1475     cssvalues.commands = $(COPY_FILE) ${QMAKE_FILE_NAME} tmp && cd tmp && perl $$PWD/css/makevalues.pl && $(DEL_FILE) ${QMAKE_FILE_BASE}.in ${QMAKE_FILE_BASE}.strip ${QMAKE_FILE_BASE}.gperf
1476     cssvalues.CONFIG = target_predeps no_link
1477     cssvalues.clean = ${QMAKE_FILE_OUT} ${QMAKE_VAR_OBJECTS_DIR_WTR}${QMAKE_FILE_BASE}.h
1478     QMAKE_EXTRA_COMPILERS += cssvalues
1479 }
1480
1481
1482 # GENERATOR 1: IDL compiler
1483 idl.output = tmp/JS${QMAKE_FILE_BASE}.cpp
1484 idl.variable_out = GENERATED_SOURCES
1485 idl.input = IDL_BINDINGS
1486 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 --preprocessor \"$${QMAKE_MOC} -E\" ${QMAKE_FILE_NAME}
1487 idl.CONFIG += target_predeps
1488 idl.clean = ${QMAKE_VAR_OBJECTS_DIR_WTR}JS${QMAKE_FILE_BASE}.h ${QMAKE_FILE_OUT}
1489 QMAKE_EXTRA_COMPILERS += idl
1490
1491 # GENERATOR 2-A: LUT creator
1492 #lut.output = tmp/${QMAKE_FILE_BASE}.lut.h
1493 #lut.commands = perl $$PWD/../JavaScriptCore/kjs/create_hash_table ${QMAKE_FILE_NAME} -i > ${QMAKE_FILE_OUT}
1494 #lut.depend = ${QMAKE_FILE_NAME}
1495 #lut.input = LUT_FILES
1496 #lut.CONFIG += no_link
1497 #QMAKE_EXTRA_COMPILERS += lut
1498
1499 # GENERATOR 2-B: like JavaScriptCore/LUT Generator, but rename output
1500 luttable.output = tmp/${QMAKE_FILE_BASE}Table.cpp
1501 luttable.commands = perl $$PWD/../JavaScriptCore/kjs/create_hash_table ${QMAKE_FILE_NAME} -i > ${QMAKE_FILE_OUT}
1502 luttable.depend = ${QMAKE_FILE_NAME}
1503 luttable.input = LUT_TABLE_FILES
1504 luttable.CONFIG += no_link
1505 luttable.dependency_type = TYPE_C
1506 QMAKE_EXTRA_COMPILERS += luttable
1507
1508 # GENERATOR 3: tokenizer (flex)
1509 tokenizer.output = tmp/${QMAKE_FILE_BASE}.cpp
1510 tokenizer.commands = flex -t < ${QMAKE_FILE_NAME} | perl $$PWD/css/maketokenizer > ${QMAKE_FILE_OUT}
1511 tokenizer.dependency_type = TYPE_C
1512 tokenizer.input = TOKENIZER
1513 tokenizer.CONFIG += target_predeps no_link
1514 QMAKE_EXTRA_COMPILERS += tokenizer
1515
1516 # GENERATOR 4: CSS grammar
1517 cssbison.output = tmp/${QMAKE_FILE_BASE}.cpp
1518 cssbison.commands = perl $$PWD/css/makegrammar.pl ${QMAKE_FILE_NAME} tmp/${QMAKE_FILE_BASE}
1519 cssbison.depend = ${QMAKE_FILE_NAME}
1520 cssbison.input = CSSBISON
1521 cssbison.CONFIG = target_predeps
1522 cssbison.dependency_type = TYPE_C
1523 cssbison.variable_out = GENERATED_SOURCES
1524 cssbison.clean = ${QMAKE_FILE_OUT} ${QMAKE_VAR_OBJECTS_DIR_WTR}${QMAKE_FILE_BASE}.h
1525 QMAKE_EXTRA_COMPILERS += cssbison
1526 #PRE_TARGETDEPS += tmp/CSSGrammar.cpp
1527 grammar_h_dep.target = tmp/CSSParser.o
1528 grammar_h_dep.depends = tmp/CSSGrammar.cpp tmp/HTMLNames.cpp
1529 QMAKE_EXTRA_TARGETS += grammar_h_dep
1530
1531 # GENERATOR 5-A:
1532 htmlnames.output = tmp/HTMLNames.cpp
1533 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 --preprocessor \"$${QMAKE_MOC} -E\" --output tmp
1534 htmlnames.input = HTML_NAMES
1535 htmlnames.dependency_type = TYPE_C
1536 htmlnames.CONFIG = target_predeps
1537 htmlnames.variable_out = GENERATED_SOURCES
1538 htmlnames.clean = ${QMAKE_FILE_OUT} ${QMAKE_VAR_OBJECTS_DIR_WTR}HTMLNames.h
1539 QMAKE_EXTRA_COMPILERS += htmlnames
1540
1541 # GENERATOR 5-B:
1542 xmlnames.output = tmp/XMLNames.cpp
1543 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' --preprocessor \"$${QMAKE_MOC} -E\" --output tmp
1544 xmlnames.input = XML_NAMES
1545 xmlnames.dependency_type = TYPE_C
1546 xmlnames.CONFIG = target_predeps
1547 xmlnames.variable_out = GENERATED_SOURCES
1548 xmlnames.clean = ${QMAKE_FILE_OUT} ${QMAKE_VAR_OBJECTS_DIR_WTR}XMLNames.h
1549 QMAKE_EXTRA_COMPILERS += xmlnames
1550
1551
1552 # GENERATOR 8-A:
1553 entities.output = tmp/HTMLEntityNames.c
1554 entities.commands = gperf -a -L ANSI-C -C -G -c -o -t --key-positions="*" -N findEntity -D -s 2 < $$PWD/html/HTMLEntityNames.gperf > tmp/HTMLEntityNames.c
1555 entities.input = ENTITIES_GPERF
1556 entities.dependency_type = TYPE_C
1557 entities.CONFIG = target_predeps no_link
1558 entities.clean = ${QMAKE_FILE_OUT}
1559 QMAKE_EXTRA_COMPILERS += entities
1560
1561 # GENERATOR 8-B:
1562 doctypestrings.output = tmp/${QMAKE_FILE_BASE}.cpp
1563 doctypestrings.input = DOCTYPESTRINGS
1564 doctypestrings.commands = perl -e \"print \'$${LITERAL_HASH}include <string.h>\';\" > ${QMAKE_FILE_OUT} && echo // bogus >> ${QMAKE_FILE_OUT} && gperf -CEot -L ANSI-C --key-positions="*" -N findDoctypeEntry -F ,PubIDInfo::eAlmostStandards,PubIDInfo::eAlmostStandards < ${QMAKE_FILE_NAME} >> ${QMAKE_FILE_OUT}
1565 doctypestrings.dependency_type = TYPE_C
1566 doctypestrings.CONFIG += target_predeps no_link
1567 doctypestrings.clean = ${QMAKE_FILE_OUT}
1568 QMAKE_EXTRA_COMPILERS += doctypestrings
1569
1570 # GENERATOR 8-C:
1571 colordata.output = tmp/ColorData.c
1572 colordata.commands = perl -e \"print \'$${LITERAL_HASH}include <string.h>\';\" > ${QMAKE_FILE_OUT} && echo // bogus >> ${QMAKE_FILE_OUT} && gperf -CDEot -L ANSI-C --key-positions="*" -N findColor -D -s 2 < ${QMAKE_FILE_NAME} >> ${QMAKE_FILE_OUT}
1573 colordata.input = COLORDAT_GPERF
1574 colordata.CONFIG = target_predeps no_link
1575 QMAKE_EXTRA_COMPILERS += colordata
1576
1577 # GENERATOR 9:
1578 stylesheets.output = tmp/UserAgentStyleSheetsData.cpp
1579 stylesheets.commands = perl $$PWD/css/make-css-file-arrays.pl --preprocessor \"$${QMAKE_MOC} -E\" tmp/UserAgentStyleSheets.h tmp/UserAgentStyleSheetsData.cpp $$PWD/css/html4.css $$PWD/css/quirks.css $$PWD/css/svg.css $$PWD/css/view-source.css
1580 stylesheets.input = STYLESHEETS_EMBED
1581 stylesheets.CONFIG = target_predeps
1582 stylesheets.variable_out = GENERATED_SOURCES
1583 stylesheets.clean = ${QMAKE_FILE_OUT} ${QMAKE_VAR_OBJECTS_DIR_WTR}UserAgentStyleSheets.h
1584 QMAKE_EXTRA_COMPILERS += stylesheets
1585
1586 # GENERATOR 10: XPATH grammar
1587 xpathbison.output = tmp/${QMAKE_FILE_BASE}.cpp
1588 xpathbison.commands = bison -d -p xpathyy ${QMAKE_FILE_NAME} -o ${QMAKE_FILE_BASE}.tab.c && $(MOVE) ${QMAKE_FILE_BASE}.tab.c tmp/${QMAKE_FILE_BASE}.cpp && $(MOVE) ${QMAKE_FILE_BASE}.tab.h tmp/${QMAKE_FILE_BASE}.h
1589 xpathbison.depend = ${QMAKE_FILE_NAME}
1590 xpathbison.input = XPATHBISON
1591 xpathbison.CONFIG = target_predeps
1592 xpathbison.dependency_type = TYPE_C
1593 xpathbison.variable_out = GENERATED_SOURCES
1594 xpathbison.clean = ${QMAKE_FILE_OUT} ${QMAKE_VAR_OBJECTS_DIR_WTR}${QMAKE_FILE_BASE}.h
1595 QMAKE_EXTRA_COMPILERS += xpathbison
1596
1597 qt-port {
1598     target.path = $$[QT_INSTALL_LIBS]
1599     include($$PWD/../WebKit/qt/Api/headers.pri)
1600     headers.files = $$WEBKIT_API_HEADERS
1601     headers.path = $$[QT_INSTALL_HEADERS]/QtWebKit
1602     prf.files = $$PWD/../WebKit/qt/Api/qtwebkit.prf
1603     prf.path = $$[QT_INSTALL_PREFIX]/mkspecs/features
1604
1605
1606     win32-* {
1607         DLLDESTDIR = $$OUTPUT_DIR/bin
1608
1609         dlltarget.commands = $(COPY_FILE) $(DESTDIR)$(TARGET) $$[QT_INSTALL_BINS]
1610         dlltarget.CONFIG = no_path
1611         INSTALLS += dlltarget
1612     }
1613
1614
1615     INSTALLS += target headers prf
1616
1617     unix {
1618         CONFIG += create_pc create_prl
1619         QMAKE_PKGCONFIG_LIBDIR = $$target.path
1620         QMAKE_PKGCONFIG_INCDIR = $$headers.path
1621         QMAKE_PKGCONFIG_DESTDIR = pkgconfig
1622         lib_replace.match = $$DESTDIR
1623         lib_replace.replace = $$[QT_INSTALL_LIBS]
1624         QMAKE_PKGCONFIG_INSTALL_REPLACE += lib_replace
1625     }
1626 }
1627
1628 gtk-port {
1629     isEmpty(WEBKIT_LIB_DIR):WEBKIT_LIB_DIR=/usr/local/lib
1630     isEmpty(WEBKIT_INC_DIR):WEBKIT_INC_DIR=/usr/local/include/WebKitGtk
1631
1632     target.path = $$WEBKIT_LIB_DIR
1633     include($$PWD/../WebKit/gtk/Api/headers.pri)
1634     headers.files = $$WEBKIT_API_HEADERS
1635     headers.path = $$WEBKIT_INC_DIR
1636     INSTALLS += target headers
1637
1638     unix {
1639         CONFIG += create_pc create_prl
1640         QMAKE_PKGCONFIG_LIBDIR = $$target.path
1641         QMAKE_PKGCONFIG_INCDIR = $$headers.path
1642         QMAKE_PKGCONFIG_DESTDIR = pkgconfig
1643         lib_replace.match = $$DESTDIR
1644         lib_replace.replace = $$[QT_INSTALL_LIBS]
1645         QMAKE_PKGCONFIG_INSTALL_REPLACE += lib_replace
1646     }
1647
1648     GENMARSHALS = ../WebKit/gtk/Api/webkitgtk-marshal.list
1649     GENMARSHALS_PREFIX = webkit_marshal
1650
1651     #
1652     # integrate glib-genmarshal as additional compiler
1653     #
1654     QMAKE_GENMARSHAL_CC  = glib-genmarshal
1655     glib-genmarshal.commands = $${QMAKE_GENMARSHAL_CC} --prefix=$${GENMARSHALS_PREFIX} ${QMAKE_FILE_IN} --header --body >${QMAKE_FILE_OUT}
1656     glib-genmarshal.output = $$OUT_PWD/${QMAKE_FILE_BASE}.h
1657     glib-genmarshal.input = GENMARSHALS
1658     glib-genmarshal.CONFIG = no_link
1659     glib-genmarshal.variable_out = PRE_TARGETDEPS
1660     glib-genmarshal.name = GENMARSHALS
1661     QMAKE_EXTRA_UNIX_COMPILERS += glib-genmarshal
1662 }