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