2009-02-11 Julien Chaffraix <jchaffraix@webkit.org>
[WebKit-https.git] / WebCore / WebCore.scons
1 # The keys in sources are the paths to the directories
2 # the values are an array of source files in those directories to compile
3 sources = {}
4 sources['css'] = [
5     'css/CSSBorderImageValue.cpp',
6     'css/CSSCanvasValue.cpp',
7     'css/CSSCharsetRule.cpp',
8     'css/CSSComputedStyleDeclaration.cpp',
9     'css/CSSCursorImageValue.cpp',
10     'css/CSSFontFace.cpp',
11     'css/CSSFontFaceRule.cpp',
12     'css/CSSFontFaceSource.cpp',
13     'css/CSSFontFaceSrcValue.cpp',
14     'css/CSSFontSelector.cpp',
15     'css/CSSFunctionValue.cpp',
16     'css/CSSGradientValue.cpp',
17     'css/CSSHelper.cpp',
18     'css/CSSImageGeneratorValue.cpp',
19     'css/CSSImageValue.cpp',
20     'css/CSSImportRule.cpp',
21     'css/CSSInheritedValue.cpp',
22     'css/CSSInitialValue.cpp',
23     'css/CSSMediaRule.cpp',
24     'css/CSSMutableStyleDeclaration.cpp',
25     'css/CSSPageRule.cpp',
26     'css/CSSParser.cpp',
27     'css/CSSParserValues.cpp',
28     'css/CSSPrimitiveValue.cpp',
29     'css/CSSPropertyLonghand.cpp',
30     'css/CSSProperty.cpp',
31     'css/CSSReflectValue.cpp',
32     'css/CSSRule.cpp',
33     'css/CSSRuleList.cpp',
34     'css/CSSSegmentedFontFace.cpp',
35     'css/CSSSelector.cpp',
36     'css/CSSSelectorList.cpp',
37     'css/CSSStyleDeclaration.cpp',
38     'css/CSSStyleRule.cpp',
39     'css/CSSStyleSelector.cpp',
40     'css/CSSStyleSheet.cpp',
41     'css/CSSTimingFunctionValue.cpp',
42     'css/CSSUnicodeRangeValue.cpp',
43     'css/CSSValueList.cpp',
44     'css/CSSVariableDependentValue.cpp',
45     'css/CSSVariablesDeclaration.cpp',
46     'css/CSSVariablesRule.cpp',
47     'css/FontFamilyValue.cpp',
48     'css/FontValue.cpp',
49     'css/MediaFeatureNames.cpp',
50     'css/MediaList.cpp',
51     'css/MediaQuery.cpp',
52     'css/MediaQueryEvaluator.cpp',
53     'css/MediaQueryExp.cpp',
54     'css/ShadowValue.cpp',
55     'css/StyleBase.cpp',
56     'css/StyleList.cpp',
57     'css/StyleSheet.cpp',
58     'css/StyleSheetList.cpp',
59     'css/SVGCSSComputedStyleDeclaration.cpp',
60     'css/SVGCSSParser.cpp',
61     'css/SVGCSSStyleSelector.cpp',
62     'css/WebKitCSSKeyframeRule.cpp',
63     'css/WebKitCSSKeyframesRule.cpp',
64     'css/WebKitCSSTransformValue.cpp'
65 ]
66 sources['dom'] = [
67     'dom/ActiveDOMObject.cpp',
68     'dom/Attr.cpp',
69     'dom/Attribute.cpp',
70     'dom/BeforeTextInsertedEvent.cpp',
71     'dom/BeforeUnloadEvent.cpp',
72     'dom/CDATASection.cpp',
73     'dom/CharacterData.cpp',
74     'dom/ChildNodeList.cpp',
75     'dom/ClassNames.cpp',
76     'dom/ClassNodeList.cpp',
77     'dom/Clipboard.cpp',
78     'dom/ClipboardEvent.cpp',
79     'dom/Comment.cpp',
80     'dom/ContainerNode.cpp',
81     'dom/CrossThreadCopier.cpp',
82     'dom/CSSMappedAttributeDeclaration.cpp',
83     'dom/Document.cpp',
84     'dom/DocumentFragment.cpp',
85     'dom/DocumentType.cpp',
86     'dom/DOMImplementation.cpp',
87     'dom/DOMStringList.cpp',
88     'dom/DynamicNodeList.cpp',
89     'dom/EditingText.cpp',
90     'dom/Element.cpp',
91     'dom/Entity.cpp',
92     'dom/EntityReference.cpp',
93     'dom/Event.cpp',
94     'dom/EventNames.cpp',
95     'dom/EventTarget.cpp',
96     'dom/ExceptionBase.cpp',
97     'dom/ExceptionCode.cpp',
98     'dom/FormControlElementWithState.cpp',
99     'dom/FormControlElement.cpp',
100     'dom/InputElement.cpp',
101     'dom/KeyboardEvent.cpp',
102     'dom/MappedAttribute.cpp',
103     'dom/MessageChannel.cpp',
104     'dom/MessageEvent.cpp',
105     'dom/MessagePort.cpp',
106     'dom/MouseEvent.cpp',
107     'dom/MouseRelatedEvent.cpp',
108     'dom/MutationEvent.cpp',
109     'dom/NamedAttrMap.cpp',
110     'dom/NamedMappedAttrMap.cpp',
111     'dom/NameNodeList.cpp',
112     'dom/Node.cpp',
113     'dom/NodeFilter.cpp',
114     'dom/NodeFilterCondition.cpp',
115     'dom/NodeIterator.cpp',
116     'dom/Notation.cpp',
117     'dom/OptionGroupElement.cpp',
118     'dom/OptionElement.cpp',
119     'dom/OverflowEvent.cpp',
120     'dom/Position.cpp',
121     'dom/PositionIterator.cpp',
122     'dom/ProcessingInstruction.cpp',
123     'dom/ProgressEvent.cpp',
124     'dom/QualifiedName.cpp',
125     'dom/Range.cpp',
126     'dom/RegisteredEventListener.cpp',
127     'dom/ScriptElement.cpp',
128     'dom/ScriptExecutionContext.cpp',
129     'dom/SelectorNodeList.cpp',
130     'dom/StaticNodeList.cpp',
131     'dom/StaticStringList.cpp',
132     'dom/StyledElement.cpp',
133     'dom/StyleElement.cpp',
134     'dom/TagNodeList.cpp',
135     'dom/Text.cpp',
136     'dom/TextEvent.cpp',
137     'dom/Traversal.cpp',
138     'dom/TreeWalker.cpp',
139     'dom/UIEvent.cpp',
140     'dom/UIEventWithKeyState.cpp',
141     'dom/WebKitAnimationEvent.cpp',
142     'dom/WebKitTransitionEvent.cpp',
143     'dom/WheelEvent.cpp',
144     'dom/Worker.cpp',
145     'dom/WorkerContext.cpp',
146     'dom/WorkerLocation.cpp',
147     'dom/XMLTokenizer.cpp',
148     'dom/XMLTokenizerLibxml2.cpp',
149 ]
150 sources['editing'] = [
151     'editing/AppendNodeCommand.cpp',
152     'editing/ApplyStyleCommand.cpp',
153     'editing/BreakBlockquoteCommand.cpp',
154     'editing/CompositeEditCommand.cpp',
155     'editing/CreateLinkCommand.cpp',
156     'editing/DeleteButton.cpp',
157     'editing/DeleteButtonController.cpp',
158     'editing/DeleteFromTextNodeCommand.cpp',
159     'editing/DeleteSelectionCommand.cpp',
160     'editing/EditCommand.cpp',
161     'editing/Editor.cpp',
162     'editing/EditorCommand.cpp',
163     'editing/FormatBlockCommand.cpp',
164     'editing/htmlediting.cpp',
165     'editing/HTMLInterchange.cpp',
166     'editing/IndentOutdentCommand.cpp',
167     'editing/InsertIntoTextNodeCommand.cpp',
168     'editing/InsertLineBreakCommand.cpp',
169     'editing/InsertListCommand.cpp',
170     'editing/InsertNodeBeforeCommand.cpp',
171     'editing/InsertParagraphSeparatorCommand.cpp',
172     'editing/InsertTextCommand.cpp',
173     'editing/JoinTextNodesCommand.cpp',
174     'editing/markup.cpp',
175     'editing/MergeIdenticalElementsCommand.cpp',
176     'editing/ModifySelectionListLevel.cpp',
177     'editing/MoveSelectionCommand.cpp',
178     'editing/RemoveCSSPropertyCommand.cpp',
179     'editing/RemoveFormatCommand.cpp',
180     'editing/RemoveNodeCommand.cpp',
181     'editing/RemoveNodePreservingChildrenCommand.cpp',
182     'editing/ReplaceSelectionCommand.cpp',
183     'editing/SelectionController.cpp',
184     'editing/SetNodeAttributeCommand.cpp',
185     'editing/SmartReplace.cpp',
186     'editing/SmartReplaceCF.cpp',
187     'editing/SmartReplaceICU.cpp',
188     'editing/SplitElementCommand.cpp',
189     'editing/SplitTextNodeCommand.cpp',
190     'editing/SplitTextNodeContainingElementCommand.cpp',
191     'editing/TextIterator.cpp',
192     'editing/TypingCommand.cpp',
193     'editing/UnlinkCommand.cpp',
194     'editing/visible_units.cpp',
195     'editing/VisiblePosition.cpp',
196     'editing/VisibleSelection.cpp',
197     'editing/WrapContentsInDummySpanCommand.cpp',
198 ]
199 sources['history'] = [
200     'history/BackForwardList.cpp',
201     'history/CachedFrame.cpp',
202     'history/CachedPage.cpp',
203     'history/HistoryItem.cpp',
204     'history/PageCache.cpp'
205 ]
206 sources['html'] = [
207     'html/CanvasGradient.cpp',
208     'html/CanvasPattern.cpp',
209     'html/CanvasRenderingContext2D.cpp',
210     'html/CanvasStyle.cpp',
211     'html/File.cpp',
212     'html/FileList.cpp',
213     'html/FormDataList.cpp',
214     'html/HTMLAnchorElement.cpp',
215     'html/HTMLAppletElement.cpp',
216     'html/HTMLAreaElement.cpp',
217     'html/HTMLAudioElement.cpp',
218     'html/HTMLBaseElement.cpp',
219     'html/HTMLBaseFontElement.cpp',
220     'html/HTMLBlockquoteElement.cpp',
221     'html/HTMLBodyElement.cpp',
222     'html/HTMLBRElement.cpp',
223     'html/HTMLButtonElement.cpp',
224     'html/HTMLCanvasElement.cpp',
225     'html/HTMLCollection.cpp',
226     'html/HTMLDirectoryElement.cpp',
227     'html/HTMLDivElement.cpp',
228     'html/HTMLDListElement.cpp',
229     'html/HTMLDocument.cpp',
230     'html/HTMLElement.cpp',
231     'html/HTMLEmbedElement.cpp',
232     'html/HTMLFieldSetElement.cpp',
233     'html/HTMLFontElement.cpp',
234     'html/HTMLFormCollection.cpp',
235     'html/HTMLFormControlElement.cpp',
236     'html/HTMLFormElement.cpp',
237     'html/HTMLFrameElement.cpp',
238     'html/HTMLFrameElementBase.cpp',
239     'html/HTMLFrameOwnerElement.cpp',
240     'html/HTMLFrameSetElement.cpp',
241     'html/HTMLHeadElement.cpp',
242     'html/HTMLHeadingElement.cpp',
243     'html/HTMLHRElement.cpp',
244     'html/HTMLHtmlElement.cpp',
245     'html/HTMLIFrameElement.cpp',
246     'html/HTMLImageElement.cpp',
247     'html/HTMLImageLoader.cpp',
248     'html/HTMLInputElement.cpp',
249     'html/HTMLIsIndexElement.cpp',
250     'html/HTMLKeygenElement.cpp',
251     'html/HTMLLabelElement.cpp',
252     'html/HTMLLegendElement.cpp',
253     'html/HTMLLIElement.cpp',
254     'html/HTMLLinkElement.cpp',
255     'html/HTMLMapElement.cpp',
256     'html/HTMLMarqueeElement.cpp',
257     'html/HTMLMediaElement.cpp',
258     'html/HTMLMenuElement.cpp',
259     'html/HTMLMetaElement.cpp',
260     'html/HTMLModElement.cpp',
261     'html/HTMLNameCollection.cpp',
262     'html/HTMLObjectElement.cpp',
263     'html/HTMLOListElement.cpp',
264     'html/HTMLOptGroupElement.cpp',
265     'html/HTMLOptionElement.cpp',
266     'html/HTMLOptionsCollection.cpp',
267     'html/HTMLParagraphElement.cpp',
268     'html/HTMLParamElement.cpp',
269     'html/HTMLParser.cpp',
270     'html/HTMLParserErrorCodes.cpp',
271     'html/HTMLPlugInElement.cpp',
272     'html/HTMLPlugInImageElement.cpp',
273     'html/HTMLPreElement.cpp',
274     'html/HTMLQuoteElement.cpp',
275     'html/HTMLScriptElement.cpp',
276     'html/HTMLSelectElement.cpp',
277     'html/HTMLSourceElement.cpp',
278     'html/HTMLStyleElement.cpp',
279     'html/HTMLTableCaptionElement.cpp',
280     'html/HTMLTableCellElement.cpp',
281     'html/HTMLTableColElement.cpp',
282     'html/HTMLTableElement.cpp',
283     'html/HTMLTablePartElement.cpp',
284     'html/HTMLTableRowElement.cpp',
285     'html/HTMLTableRowsCollection.cpp',
286     'html/HTMLTableSectionElement.cpp',
287     'html/HTMLTextAreaElement.cpp',
288     'html/HTMLTitleElement.cpp',
289     'html/HTMLTokenizer.cpp',
290     'html/HTMLUListElement.cpp',
291     'html/HTMLVideoElement.cpp',
292     'html/HTMLViewSourceDocument.cpp',
293     'html/ImageData.cpp',
294     'html/PreloadScanner.cpp',
295     'html/TimeRanges.cpp'
296 ]
297 sources['inspector'] = [
298     'inspector/InspectorController.cpp',
299     'inspector/JavaScriptCallFrame.cpp',
300     'inspector/JavaScriptDebugServer.cpp',
301     'inspector/JavaScriptProfile.cpp',
302     'inspector/JavaScriptProfileNode.cpp'
303 ]
304 sources['loader/appcache'] = [
305     'loader/appcache/ApplicationCache.cpp',
306     'loader/appcache/ApplicationCacheGroup.cpp',
307     'loader/appcache/ApplicationCacheResource.cpp',
308     'loader/appcache/ApplicationCacheStorage.cpp',
309     'loader/appcache/DOMApplicationCache.cpp',
310     'loader/appcache/ManifestParser.cpp',
311 ]
312 sources['loader/archive'] = [
313     'loader/archive/ArchiveFactory.cpp',
314     'loader/archive/ArchiveResource.cpp',
315     'loader/archive/ArchiveResourceCollection.cpp'
316 ]
317 sources['loader/icon'] = [
318     'loader/icon/IconDatabase.cpp',
319     'loader/icon/IconDatabaseNone.cpp',
320     'loader/icon/IconFetcher.cpp',
321     'loader/icon/IconLoader.cpp',
322     'loader/icon/IconRecord.cpp',
323     'loader/icon/PageURLRecord.cpp'
324 ]
325 sources['loader'] = [
326     'loader/Cache.cpp',
327     'loader/CachedCSSStyleSheet.cpp',
328     'loader/CachedFont.cpp',
329     'loader/CachedImage.cpp',
330     'loader/CachedResource.cpp',
331     'loader/CachedResourceClientWalker.cpp',
332     'loader/CachedResourceHandle.cpp',
333     'loader/CachedScript.cpp',
334     'loader/CachedXBLDocument.cpp',
335     'loader/CachedXSLStyleSheet.cpp',
336     'loader/DocLoader.cpp',
337     'loader/DocumentLoader.cpp',
338     'loader/DocumentThreadableLoader.cpp',
339     'loader/FormState.cpp',
340     'loader/FrameLoader.cpp',
341     'loader/FTPDirectoryDocument.cpp',
342     'loader/FTPDirectoryParser.cpp',
343     'loader/ImageDocument.cpp',
344     'loader/ImageLoader.cpp',
345     'loader/loader.cpp',
346     'loader/MainResourceLoader.cpp',
347     'loader/MediaDocument.cpp',
348     'loader/NavigationAction.cpp',
349     'loader/NetscapePlugInStreamLoader.cpp',
350     'loader/PluginDocument.cpp',
351     'loader/ProgressTracker.cpp',
352     'loader/Request.cpp',
353     'loader/ResourceLoader.cpp',
354     'loader/SubresourceLoader.cpp',
355     'loader/TextDocument.cpp',
356     'loader/TextResourceDecoder.cpp',
357     'loader/ThreadableLoader.cpp',
358     'loader/UserStyleSheetLoader.cpp',
359     'loader/WorkerThreadableLoader.cpp',
360 ]
361 sources['page'] = [
362     'page/AccessibilityImageMapLink.cpp',
363     'page/AccessibilityList.cpp',
364     'page/AccessibilityListBox.cpp',
365     'page/AccessibilityListBoxOption.cpp',
366     'page/AccessibilityObject.cpp',
367     'page/AccessibilityRenderObject.cpp',
368     'page/AccessibilityTable.cpp',
369     'page/AccessibilityTableCell.cpp',
370     'page/AccessibilityTableColumn.cpp',
371     'page/AccessibilityTableHeaderContainer.cpp',
372     'page/AccessibilityTableRow.cpp',
373     'page/AXObjectCache.cpp',
374     'page/BarInfo.cpp',
375     'page/Chrome.cpp',
376     'page/Console.cpp',
377     'page/ContextMenuController.cpp',
378     'page/DOMSelection.cpp',
379     'page/DOMTimer.cpp',
380     'page/DOMWindow.cpp',
381     'page/DragController.cpp',
382     'page/EventHandler.cpp',
383     'page/FocusController.cpp',
384     'page/Frame.cpp',
385     'page/FrameTree.cpp',
386     'page/FrameView.cpp',
387     'page/Geolocation.cpp',
388     'page/Geoposition.cpp',
389     'page/History.cpp',
390     'page/Location.cpp',
391     'page/MouseEventWithHitTestResults.cpp',
392     'page/Navigator.cpp',
393     'page/NavigatorBase.cpp',
394     'page/Page.cpp',
395     'page/PageGroup.cpp',
396     'page/PrintContext.cpp',
397     'page/Screen.cpp',
398     'page/SecurityOrigin.cpp',
399     'page/Settings.cpp',
400     'page/WindowFeatures.cpp',
401     'page/WorkerNavigator.cpp',
402 ]
403 sources['page/animation'] = [
404     'page/animation/AnimationBase.cpp',
405     'page/animation/AnimationController.cpp',
406     'page/animation/CompositeAnimation.cpp',
407     'page/animation/ImplicitAnimation.cpp',
408     'page/animation/KeyframeAnimation.cpp',
409 ]
410 sources['page/chromium'] = [
411     'page/chromium/AccessibilityObjectChromium.cpp',
412 ]
413 # platform/ sources are in a separate section below
414 # and may eventually be moved to another file
415 sources['plugins'] = [
416     'plugins/MimeType.cpp',
417     'plugins/MimeTypeArray.cpp',
418     'plugins/npapi.cpp',
419     'plugins/Plugin.cpp',
420     'plugins/PluginArray.cpp',
421     'plugins/PluginData.cpp',
422     'plugins/PluginDatabase.cpp',
423     'plugins/PluginInfoStore.cpp',
424     'plugins/PluginMainThreadScheduler.cpp',
425     'plugins/PluginPackage.cpp',
426     'plugins/PluginStream.cpp',
427     'plugins/PluginView.cpp'
428 ]
429 sources['rendering'] = [
430     'rendering/AutoTableLayout.cpp',
431     'rendering/bidi.cpp',
432     'rendering/break_lines.cpp',
433     'rendering/CounterNode.cpp',
434     'rendering/EllipsisBox.cpp',
435     'rendering/FixedTableLayout.cpp',
436     'rendering/HitTestResult.cpp',
437     'rendering/InlineBox.cpp',
438     'rendering/InlineFlowBox.cpp',
439     'rendering/InlineTextBox.cpp',
440     'rendering/LayoutState.cpp',
441     'rendering/ListMarkerBox.cpp',
442     'rendering/MediaControlElements.cpp',
443     'rendering/PointerEventsHitRules.cpp',
444     'rendering/RenderApplet.cpp',
445     'rendering/RenderArena.cpp',
446     'rendering/RenderBlock.cpp',
447     'rendering/RenderBox.cpp',
448     'rendering/RenderBR.cpp',
449     'rendering/RenderButton.cpp',
450     'rendering/RenderContainer.cpp',
451     'rendering/RenderCounter.cpp',
452     'rendering/RenderFieldset.cpp',
453     'rendering/RenderFileUploadControl.cpp',
454     'rendering/RenderFlexibleBox.cpp',
455     'rendering/RenderFlow.cpp',
456     'rendering/RenderForeignObject.cpp',
457     'rendering/RenderFrame.cpp',
458     'rendering/RenderFrameSet.cpp',
459     'rendering/RenderHTMLCanvas.cpp',
460     'rendering/RenderImage.cpp',
461     'rendering/RenderImageGeneratedContent.cpp',
462     'rendering/RenderInline.cpp',
463     'rendering/RenderLayer.cpp',
464     'rendering/RenderLegend.cpp',
465     'rendering/RenderListBox.cpp',
466     'rendering/RenderListItem.cpp',
467     'rendering/RenderListMarker.cpp',
468     'rendering/RenderMarquee.cpp',
469     'rendering/RenderMedia.cpp',
470     'rendering/RenderMenuList.cpp',
471     'rendering/RenderObject.cpp',
472     'rendering/RenderPart.cpp',
473     'rendering/RenderPartObject.cpp',
474     'rendering/RenderPath.cpp',
475     'rendering/RenderReplaced.cpp',
476     'rendering/RenderReplica.cpp',
477     'rendering/RenderScrollbar.cpp',
478     'rendering/RenderScrollbarPart.cpp',
479     'rendering/RenderScrollbarTheme.cpp',
480     'rendering/RenderSlider.cpp',
481     'rendering/RenderSVGBlock.cpp',
482     'rendering/RenderSVGContainer.cpp',
483     'rendering/RenderSVGGradientStop.cpp',
484     'rendering/RenderSVGHiddenContainer.cpp',
485     'rendering/RenderSVGImage.cpp',
486     'rendering/RenderSVGInline.cpp',
487     'rendering/RenderSVGInlineText.cpp',
488     'rendering/RenderSVGRoot.cpp',
489     'rendering/RenderSVGText.cpp',
490     'rendering/RenderSVGTextPath.cpp',
491     'rendering/RenderSVGTransformableContainer.cpp',
492     'rendering/RenderSVGTSpan.cpp',
493     'rendering/RenderSVGViewportContainer.cpp',
494     'rendering/RenderTable.cpp',
495     'rendering/RenderTableCell.cpp',
496     'rendering/RenderTableCol.cpp',
497     'rendering/RenderTableRow.cpp',
498     'rendering/RenderTableSection.cpp',
499     'rendering/RenderText.cpp',
500     'rendering/RenderTextControl.cpp',
501     'rendering/RenderTextControlMultiLine.cpp',
502     'rendering/RenderTextControlSingleLine.cpp',
503     'rendering/RenderTextFragment.cpp',
504     'rendering/RenderTheme.cpp',
505     'rendering/RenderTreeAsText.cpp',
506     'rendering/RenderVideo.cpp',
507     'rendering/RenderView.cpp',
508     'rendering/RenderWidget.cpp',
509     'rendering/RenderWordBreak.cpp',
510     'rendering/RootInlineBox.cpp',
511     'rendering/SVGCharacterLayoutInfo.cpp',
512     'rendering/SVGInlineFlowBox.cpp',
513     'rendering/SVGInlineTextBox.cpp',
514     'rendering/SVGRenderSupport.cpp',
515     'rendering/SVGRenderTreeAsText.cpp',
516     'rendering/SVGRootInlineBox.cpp',
517     'rendering/TextControlInnerElements.cpp'
518 ]
519 sources['rendering/style'] = [
520     'rendering/style/Animation.cpp',
521     'rendering/style/AnimationList.cpp',
522     'rendering/style/BindingURI.cpp',
523     'rendering/style/ContentData.cpp',
524     'rendering/style/CounterDirectives.cpp',
525     'rendering/style/FillLayer.cpp',
526     'rendering/style/KeyframeList.cpp',
527     'rendering/style/MatrixTransformOperation.cpp',
528     'rendering/style/NinePieceImage.cpp',
529     'rendering/style/RenderStyle.cpp',
530     'rendering/style/RotateTransformOperation.cpp',
531     'rendering/style/ScaleTransformOperation.cpp',
532     'rendering/style/ShadowData.cpp',
533     'rendering/style/SkewTransformOperation.cpp',
534     'rendering/style/StyleBackgroundData.cpp',
535     'rendering/style/StyleBoxData.cpp',
536     'rendering/style/StyleCachedImage.cpp',
537     'rendering/style/StyleFlexibleBoxData.cpp',
538     'rendering/style/StyleGeneratedImage.cpp',
539     'rendering/style/StyleInheritedData.cpp',
540     'rendering/style/StyleMarqueeData.cpp',
541     'rendering/style/StyleMultiColData.cpp',
542     'rendering/style/StyleRareInheritedData.cpp',
543     'rendering/style/StyleRareNonInheritedData.cpp',
544     'rendering/style/StyleSurroundData.cpp',
545     'rendering/style/StyleTransformData.cpp',
546     'rendering/style/StyleVisualData.cpp',
547     'rendering/style/SVGRenderStyle.cpp',
548     'rendering/style/SVGRenderStyleDefs.cpp',
549     'rendering/style/TransformOperations.cpp',
550     'rendering/style/TranslateTransformOperation.cpp',
551 ]
552 sources['storage'] = [
553     'storage/ChangeVersionWrapper.cpp',
554     'storage/Database.cpp',
555     'storage/DatabaseAuthorizer.cpp',
556     'storage/DatabaseTask.cpp',
557     'storage/DatabaseThread.cpp',
558     'storage/DatabaseTracker.cpp',
559     'storage/LocalStorage.cpp',
560     'storage/LocalStorageArea.cpp',
561     'storage/LocalStorageTask.cpp',
562     'storage/LocalStorageThread.cpp',
563     'storage/OriginQuotaManager.cpp',
564     'storage/OriginUsageRecord.cpp',
565     'storage/SessionStorage.cpp',
566     'storage/SessionStorageArea.cpp',
567     'storage/SQLResultSet.cpp',
568     'storage/SQLResultSetRowList.cpp',
569     'storage/SQLStatement.cpp',
570     'storage/SQLTransaction.cpp',
571     'storage/Storage.cpp',
572     'storage/StorageArea.cpp',
573     'storage/StorageEvent.cpp',
574     'storage/StorageMap.cpp'
575 ]
576 sources['xml'] = [
577     'xml/DOMParser.cpp',
578     'xml/NativeXPathNSResolver.cpp',
579     'xml/XMLHttpRequest.cpp',
580     'xml/XMLHttpRequestUpload.cpp',
581     'xml/XMLSerializer.cpp',
582     'xml/XPathEvaluator.cpp',
583     'xml/XPathExpression.cpp',
584     'xml/XPathExpressionNode.cpp',
585     'xml/XPathFunctions.cpp',
586     'xml/XPathNamespace.cpp',
587     'xml/XPathNodeSet.cpp',
588     'xml/XPathNSResolver.cpp',
589     'xml/XPathParser.cpp',
590     'xml/XPathPath.cpp',
591     'xml/XPathPredicate.cpp',
592     'xml/XPathResult.cpp',
593     'xml/XPathStep.cpp',
594     'xml/XPathUtil.cpp',
595     'xml/XPathValue.cpp',
596     'xml/XPathVariableReference.cpp',
597     'xml/XSLImportRule.cpp',
598     'xml/XSLStyleSheet.cpp',
599     'xml/XSLTExtensions.cpp',
600     'xml/XSLTProcessor.cpp',
601     'xml/XSLTUnicodeSort.cpp'
602 ]
603
604 # Using JavaScriptCore for now, eventually this needs to be configurable (and in separate file)
605 sources['bindings/js'] = [
606     "bindings/js/GCController.cpp",
607     "bindings/js/JSAttrCustom.cpp",
608     "bindings/js/JSAudioConstructor.cpp",
609     "bindings/js/JSCDATASectionCustom.cpp",
610     "bindings/js/JSCSSRuleCustom.cpp",
611     "bindings/js/JSCSSStyleDeclarationCustom.cpp",
612     "bindings/js/JSCSSValueCustom.cpp",
613     "bindings/js/JSCanvasRenderingContext2DCustom.cpp",
614     "bindings/js/JSClipboardCustom.cpp",
615     "bindings/js/JSConsoleCustom.cpp",
616     "bindings/js/JSCustomPositionCallback.cpp",
617     "bindings/js/JSCustomPositionErrorCallback.cpp",
618     "bindings/js/JSCustomSQLStatementCallback.cpp",
619     "bindings/js/JSCustomSQLStatementErrorCallback.cpp",
620     "bindings/js/JSCustomSQLTransactionCallback.cpp",
621     "bindings/js/JSCustomSQLTransactionErrorCallback.cpp",
622     "bindings/js/JSCustomVoidCallback.cpp",
623     "bindings/js/JSCustomXPathNSResolver.cpp",
624     "bindings/js/JSDOMApplicationCacheCustom.cpp",
625     "bindings/js/JSDOMBinding.cpp",
626     "bindings/js/JSDOMGlobalObject.cpp",
627     "bindings/js/JSDOMStringListCustom.cpp",
628     "bindings/js/JSDOMWindowBase.cpp",
629     "bindings/js/JSDOMWindowCustom.cpp",
630     "bindings/js/JSDOMWindowShell.cpp",
631     "bindings/js/JSDatabaseCustom.cpp",
632     "bindings/js/JSDocumentCustom.cpp",
633     "bindings/js/JSDocumentFragmentCustom.cpp",
634     "bindings/js/JSElementCustom.cpp",
635     "bindings/js/JSEventCustom.cpp",
636     "bindings/js/JSEventListener.cpp",
637     "bindings/js/JSEventTarget.cpp",
638     "bindings/js/JSGeolocationCustom.cpp",
639     "bindings/js/JSHTMLAllCollection.cpp",
640     "bindings/js/JSHTMLAppletElementCustom.cpp",
641     "bindings/js/JSHTMLCollectionCustom.cpp",
642     "bindings/js/JSHTMLDocumentCustom.cpp",
643     "bindings/js/JSHTMLElementCustom.cpp",
644     "bindings/js/JSHTMLEmbedElementCustom.cpp",
645     "bindings/js/JSHTMLFormElementCustom.cpp",
646     "bindings/js/JSHTMLFrameElementCustom.cpp",
647     "bindings/js/JSHTMLFrameSetElementCustom.cpp",
648     "bindings/js/JSHTMLIFrameElementCustom.cpp",
649     "bindings/js/JSHTMLInputElementCustom.cpp",
650     "bindings/js/JSHTMLObjectElementCustom.cpp",
651     "bindings/js/JSHTMLOptionsCollectionCustom.cpp",
652     "bindings/js/JSHTMLSelectElementCustom.cpp",
653     "bindings/js/JSHistoryCustom.cpp",
654     "bindings/js/JSImageConstructor.cpp",
655     "bindings/js/JSImageDataCustom.cpp",
656     "bindings/js/JSInspectedObjectWrapper.cpp",
657     "bindings/js/JSInspectorCallbackWrapper.cpp",
658     "bindings/js/JSJavaScriptCallFrameCustom.cpp",
659     "bindings/js/JSLocationCustom.cpp",
660     "bindings/js/JSMessageChannelConstructor.cpp",
661     "bindings/js/JSMessageChannelCustom.cpp",
662     "bindings/js/JSMessagePortCustom.cpp",
663     "bindings/js/JSMimeTypeArrayCustom.cpp",
664     "bindings/js/JSNamedNodeMapCustom.cpp",
665     "bindings/js/JSNamedNodesCollection.cpp",
666     "bindings/js/JSNavigatorCustom.cpp",
667     "bindings/js/JSNodeCustom.cpp",
668     "bindings/js/JSNodeFilterCondition.cpp",
669     "bindings/js/JSNodeFilterCustom.cpp",
670     "bindings/js/JSNodeIteratorCustom.cpp",
671     "bindings/js/JSNodeListCustom.cpp",
672     "bindings/js/JSOptionConstructor.cpp",
673     "bindings/js/JSPluginArrayCustom.cpp",
674     "bindings/js/JSPluginCustom.cpp",
675     "bindings/js/JSPluginElementFunctions.cpp",
676     "bindings/js/JSQuarantinedObjectWrapper.cpp",
677     "bindings/js/JSRGBColor.cpp",
678     "bindings/js/JSSQLResultSetRowListCustom.cpp",
679     "bindings/js/JSSQLTransactionCustom.cpp",
680     "bindings/js/JSSVGElementInstanceCustom.cpp",
681     "bindings/js/JSSVGLengthCustom.cpp",
682     "bindings/js/JSSVGMatrixCustom.cpp",
683     "bindings/js/JSSVGPathSegCustom.cpp",
684     "bindings/js/JSSVGPathSegListCustom.cpp",
685     "bindings/js/JSSVGPointListCustom.cpp",
686     "bindings/js/JSSVGTransformListCustom.cpp",
687     "bindings/js/JSStorageCustom.cpp",
688     "bindings/js/JSStyleSheetCustom.cpp",
689     "bindings/js/JSStyleSheetListCustom.cpp",
690     "bindings/js/JSTextCustom.cpp",
691     "bindings/js/JSTreeWalkerCustom.cpp",
692     "bindings/js/JSWorkerConstructor.cpp",
693     "bindings/js/JSWorkerContextBase.cpp",
694     "bindings/js/JSWorkerContextCustom.cpp",
695     "bindings/js/JSWorkerCustom.cpp",
696     "bindings/js/JSXMLHttpRequestConstructor.cpp",
697     "bindings/js/JSXMLHttpRequestCustom.cpp",
698     "bindings/js/JSXMLHttpRequestUploadCustom.cpp",
699     "bindings/js/JSXSLTProcessorConstructor.cpp",
700     "bindings/js/JSXSLTProcessorCustom.cpp",
701     "bindings/js/ScheduledAction.cpp",
702     "bindings/js/ScriptCallFrame.cpp",
703     "bindings/js/ScriptCallStack.cpp",
704     "bindings/js/ScriptController.cpp",
705     "bindings/js/ScriptValue.cpp",
706     "bindings/js/WorkerScriptController.cpp",
707 ]
708 sources['bridge'] = [
709     'bridge/IdentifierRep.cpp',
710     'bridge/NP_jsobject.cpp',
711     'bridge/npruntime.cpp',
712     'bridge/runtime.cpp',
713     'bridge/runtime_array.cpp',
714     'bridge/runtime_method.cpp',
715     'bridge/runtime_object.cpp',
716     'bridge/runtime_root.cpp',
717 ]
718 sources['bridge/c'] = [
719     'bridge/c/c_class.cpp',
720     'bridge/c/c_instance.cpp',
721     'bridge/c/c_runtime.cpp',
722     'bridge/c/c_utility.cpp',
723 ]
724
725 # Platform-specific sources, including common files
726 # These may eventually move to a separate sources file
727 sources['platform'] = [
728     'platform/Arena.cpp',
729     'platform/ContextMenu.cpp',
730     'platform/DeprecatedPtrListImpl.cpp',
731     'platform/DragData.cpp',
732     'platform/DragImage.cpp',
733     'platform/FileChooser.cpp',
734     'platform/GeolocationService.cpp',
735     'platform/KURL.cpp',
736     'platform/Length.cpp',
737     'platform/Logging.cpp',
738     'platform/MIMETypeRegistry.cpp',
739     'platform/Scrollbar.cpp',
740     'platform/ScrollbarThemeComposite.cpp',
741     'platform/ScrollView.cpp',
742     'platform/SharedBuffer.cpp',
743     'platform/Theme.cpp',
744     'platform/ThreadGlobalData.cpp',
745     'platform/ThreadTimers.cpp',
746     'platform/Timer.cpp',
747     'platform/Widget.cpp'
748 ]
749 sources['platform/animation'] = [
750     'platform/animation/Animation.cpp',
751     'platform/animation/AnimationList.cpp',
752 ]
753 sources['platform/sql'] = [
754     'platform/sql/SQLiteAuthorizer.cpp',
755     'platform/sql/SQLiteDatabase.cpp',
756     'platform/sql/SQLiteStatement.cpp',
757     'platform/sql/SQLiteTransaction.cpp',
758     'platform/sql/SQLValue.cpp'
759 ]
760 sources['platform/graphics'] = [
761     'platform/graphics/BitmapImage.cpp',
762     'platform/graphics/Color.cpp',
763     'platform/graphics/FloatPoint.cpp',
764     'platform/graphics/FloatPoint3D.cpp',
765     'platform/graphics/FloatRect.cpp',
766     'platform/graphics/FloatSize.cpp',
767     'platform/graphics/Font.cpp',
768     'platform/graphics/FontCache.cpp',
769     'platform/graphics/FontData.cpp',
770     'platform/graphics/FontDescription.cpp',
771     'platform/graphics/FontFallbackList.cpp',
772     'platform/graphics/FontFamily.cpp',
773     'platform/graphics/GeneratedImage.cpp',
774     'platform/graphics/GlyphPageTreeNode.cpp',
775     'platform/graphics/GlyphWidthMap.cpp',
776     'platform/graphics/Gradient.cpp',
777     'platform/graphics/GraphicsContext.cpp',
778     'platform/graphics/GraphicsTypes.cpp',
779     'platform/graphics/Image.cpp',
780     'platform/graphics/IntRect.cpp',
781     'platform/graphics/MediaPlayer.cpp',
782     'platform/graphics/Path.cpp',
783     'platform/graphics/PathTraversalState.cpp',
784     'platform/graphics/Pattern.cpp',
785     'platform/graphics/Pen.cpp',
786     'platform/graphics/SegmentedFontData.cpp',
787     'platform/graphics/SimpleFontData.cpp',
788     'platform/graphics/StringTruncator.cpp',
789     'platform/graphics/WidthIterator.cpp',
790 ]
791 sources['platform/graphics/transforms'] = [
792     'platform/graphics/transforms/MatrixTransformOperation.cpp',
793     'platform/graphics/transforms/RotateTransformOperation.cpp',
794     'platform/graphics/transforms/ScaleTransformOperation.cpp',
795     'platform/graphics/transforms/SkewTransformOperation.cpp',
796     'platform/graphics/transforms/TransformOperations.cpp',
797     'platform/graphics/transforms/TransformationMatrix.cpp',
798     'platform/graphics/transforms/TranslateTransformOperation.cpp',
799 ]
800 sources['platform/network'] = [
801     'platform/network/AuthenticationChallengeBase.cpp',
802     'platform/network/Credential.cpp',
803     'platform/network/FormData.cpp',
804     'platform/network/FormDataBuilder.cpp',
805     'platform/network/HTTPHeaderMap.cpp',
806     'platform/network/HTTPParsers.cpp',
807     'platform/network/mac/NetworkStateNotifierMac.cpp',
808     'platform/network/NetworkStateNotifier.cpp',
809     'platform/network/ProtectionSpace.cpp',
810     'platform/network/ResourceErrorBase.cpp',
811     'platform/network/ResourceHandle.cpp',
812     'platform/network/ResourceRequestBase.cpp',
813     'platform/network/ResourceResponseBase.cpp'
814 ]
815 sources['platform/text'] = [
816     'platform/text/AtomicString.cpp',
817     'platform/text/Base64.cpp',
818     'platform/text/BidiContext.cpp',
819     'platform/text/CString.cpp',
820     'platform/text/RegularExpression.cpp',
821     'platform/text/SegmentedString.cpp',
822     'platform/text/String.cpp',
823     'platform/text/StringBuilder.cpp',
824     'platform/text/StringFragment.cpp',
825     'platform/text/StringImpl.cpp',
826     'platform/text/symbian/StringImplSymbian.cpp',
827     'platform/text/symbian/StringSymbian.cpp',
828     'platform/text/TextBoundariesICU.cpp',
829     'platform/text/TextBreakIteratorICU.cpp',
830     'platform/text/TextCodec.cpp',
831     'platform/text/TextCodecICU.cpp',
832     'platform/text/TextCodecLatin1.cpp',
833     'platform/text/TextCodecUserDefined.cpp',
834     'platform/text/TextCodecUTF16.cpp',
835     'platform/text/TextDecoder.cpp',
836     'platform/text/TextEncoding.cpp',
837     'platform/text/TextEncodingRegistry.cpp',
838     'platform/text/TextStream.cpp',
839     'platform/text/UnicodeRange.cpp',
840 ]
841
842 env = Environment()
843
844 building_on_win32 = env['PLATFORM'] == 'win32' or env['PLATFORM'] == 'cygwin'
845
846 if env['PLATFORM'] == 'darwin':
847     sources['platform/graphics/cg'] = [
848         'platform/graphics/cg/TransformationMatrixCG.cpp',
849         'platform/graphics/cg/ColorCG.cpp',
850         'platform/graphics/cg/FloatPointCG.cpp',
851         'platform/graphics/cg/FloatRectCG.cpp',
852         'platform/graphics/cg/FloatSizeCG.cpp',
853         'platform/graphics/cg/GradientCG.cpp',
854         'platform/graphics/cg/GraphicsContextCG.cpp',
855         'platform/graphics/cg/ImageBufferCG.cpp',
856         'platform/graphics/cg/ImageCG.cpp',
857         'platform/graphics/cg/ImageSourceCG.cpp',
858         'platform/graphics/cg/IntPointCG.cpp',
859         'platform/graphics/cg/IntRectCG.cpp',
860         'platform/graphics/cg/IntSizeCG.cpp',
861         'platform/graphics/cg/PathCG.cpp',
862         'platform/graphics/cg/PatternCG.cpp',
863         'platform/graphics/cg/PDFDocumentImage.cpp',
864     ]
865     sources['platform/graphics/mac'] = [
866         'platform/graphics/mac/CoreTextController.cpp',
867         'platform/graphics/mac/FontCustomPlatformData.cpp',
868         'platform/graphics/mac/FontMacCoreText.cpp',
869         'platform/graphics/mac/GlyphPageTreeNodeMac.cpp',
870     ]
871     sources['platform/network/cf'] = [
872         'platform/network/cf/AuthenticationCF.cpp',
873         'platform/network/cf/DNSCFNet.cpp',
874         'platform/network/cf/FormDataStreamCFNet.cpp',
875         'platform/network/cf/ResourceErrorCF.cpp',
876         'platform/network/cf/ResourceHandleCFNet.cpp',
877         'platform/network/cf/ResourceRequestCFNet.cpp',
878         'platform/network/cf/ResourceResponseCFNet.cpp'
879     ]
880     sources['platform/network/mac'] = [
881         'platform/network/mac/AuthenticationMac.mm',
882         'platform/network/mac/FormDataStreamMac.mm',
883         'platform/network/mac/ResourceErrorMac.mm',
884         'platform/network/mac/ResourceHandleMac.mm',
885         'platform/network/mac/ResourceRequestMac.mm',
886         'platform/network/mac/ResourceResponseMac.mm',
887         'platform/network/mac/WebCoreURLResponse.mm'
888     ]
889     sources['platform/text/cf'] = [
890         'platform/text/cf/StringCF.cpp',
891         'platform/text/cf/StringImplCF.cpp'
892     ]
893     sources['platform/text/mac'] = [
894         'platform/text/mac/TextCodecMac.cpp',
895         'platform/text/mac/StringImplMac.mm',
896         'platform/text/mac/StringMac.mm',
897         'platform/text/mac/TextBoundaries.mm',
898         'platform/text/mac/TextBreakIteratorInternalICUMac.mm',
899     ]
900
901 sources['platform/chromium'] = [
902 ]
903
904 sources['platform/graphics/chromium'] = [
905 ]
906
907 sources['platform/network/chromium'] = [
908 ]
909
910 derived_sources_path = 'DerivedSources/WebCore/'
911 def DerivedSources(path):
912     return derived_sources_path + path
913
914 derived_sources_results = map(DerivedSources, [
915     'CSSValueKeywords.h',
916 ])
917
918 derived_sources_sources = [
919     'css/CSSValueKeywords.in'
920 ]
921
922 # Generate DerivedSources
923 # Ideally Scons would be provided a full list of all the
924 # DerivedSources so it can better know when to run make-generated-sources.sh
925 env.Command(derived_sources_results, derived_sources_sources, './make-generated-sources.sh')
926 sources[derived_sources_path] = [DerivedSources('JSSVGFontFaceElement.cpp')]
927
928 env['CPPDEFINES'] = { 'BUILDING_CHROMIUM__' : 1, 'WTF_USE_V8' : 0 }
929
930 # Scons out-of-the-box only supports precompiled headers for MSVC
931 # remove this when we fix Scons to understand GCC precompiled headers
932 if env['CC'] == 'gcc':
933     env['CCFLAGS'] = '-include WebCorePrefix.h'
934 # env['PCH'] = 'WebCorePrefix.h'
935
936 if env['PLATFORM'] == 'darwin':
937     env['FRAMEWORKPATH'] = [
938         '/System/Library/Frameworks/Carbon.framework/Frameworks',
939         '/System/Library/Frameworks/ApplicationServices.framework/Frameworks',
940         '/System/Library/Frameworks/CoreServices.framework/Frameworks', # for CFNetwork, eventually we'll move to Chromium's network layer
941     ]
942     env['FRAMEWORKS'] = ['JavaScriptCore', 'ApplicationServices', 'Cocoa', 'CoreServices']
943     # Temporarily disabling AX support for the Chromium Mac Build until we can fix our AX arch
944     env.Append(CPPDEFINES = {'HAVE_ACCESSIBILITY' : 0})
945
946 env['CPPPATH'] = ['.', '..']
947
948 # Includes for JavaScriptCore (the Apple Mac build use JavaScriptCore.framework)
949 # Scons doesn't know how to build frameworks yet :( so we have to manually include a bunch of paths
950 env.Append(CPPPATH = [
951     '../JavaScriptCore',
952     '../JavaScriptCore/bytecode',
953     '../JavaScriptCore/jit',
954     '../JavaScriptCore/interpreter',
955     '../JavaScriptCore/parser',
956     '../JavaScriptCore/wtf',
957     '../JavaScriptCore/runtime',
958 ])
959
960 # HACK: Include ForwardingHeaders after ../JavaScriptCore for now to allow JavaScriptCore/wtf includes to work
961 env.Append(CPPPATH = ['ForwardingHeaders'])
962
963 # For bring-up we're depending on WebKitSystemInterface, this will go away once more of our port is upstreamed
964 env.Append(CPPPATH = ['../WebKitLibraries'])
965
966 # Mac OS X doesn't include icu headers, so WebKit svn includes icu 3.2 headers
967 if env['PLATFORM'] == 'darwin':
968     env.Append(CPPPATH = ['icu', '/usr/include/libxml2'])
969
970 webkit_libraries_path = "../WebKitLibraries/win/"
971 def WebKitLibraries(path):
972     return webkit_libraries_path + path
973
974 if building_on_win32:
975     env.Append(CPPPATH = ['os-win32', WebKitLibraries('include')])
976     env.Prepend(LIBPATH = [WebKitLibraries('lib')])
977     env.Append(LIBS = ['icuin', 'icuuc', 'user32', 'winmm'])
978
979 # Include headers for all of the directories from which we are compiling source files
980 env.Append(CPPPATH = sources.keys())
981
982 env.SharedLibrary("WebCore", sources.values())