1# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2# vim: set filetype=python:
3# This Source Code Form is subject to the terms of the Mozilla Public
4# License, v. 2.0. If a copy of the MPL was not distributed with this
5# file, You can obtain one at http://mozilla.org/MPL/2.0/.
6
7with Files('nsBlock*'):
8    # Parts of these files are really Layout: Floats
9    BUG_COMPONENT = ('Core', 'Layout: Block and Inline')
10
11with Files('Block*'):
12    # Parts of these files are really Layout: Floats
13    BUG_COMPONENT = ('Core', 'Layout: Block and Inline')
14
15with Files('nsLine*'):
16    # Parts of these files are really Layout: Floats
17    BUG_COMPONENT = ('Core', 'Layout: Block and Inline')
18
19with Files('nsInlineFrame.*'):
20    BUG_COMPONENT = ('Core', 'Layout: Block and Inline')
21
22with Files('BRFrame.*'):
23    BUG_COMPONENT = ('Core', 'Layout: Block and Inline')
24
25with Files('nsBulletFrame.*'):
26    BUG_COMPONENT = ('Core', 'Layout: Block and Inline')
27
28with Files('nsFirstLetterFrame.*'):
29    BUG_COMPONENT = ('Core', 'Layout: Block and Inline')
30
31with Files('MathML*'):
32    BUG_COMPONENT = ('Core', 'MathML')
33
34with Files('Text*'):
35    BUG_COMPONENT = ('Core', 'Layout: Text')
36
37with Files('nsText*'):
38    BUG_COMPONENT = ('Core', 'Layout: Text')
39
40with Files('nsFrameSetFrame*'):
41    BUG_COMPONENT = ('Core', 'Layout: HTML Frames')
42
43with Files('nsSubDocumentFrame*'):
44    BUG_COMPONENT = ('Core', 'Layout: HTML Frames')
45
46with Files('nsFloatManager.*'):
47    BUG_COMPONENT = ('Core', 'Layout: Floats')
48
49with Files('nsIntervalSet.*'):
50    BUG_COMPONENT = ('Core', 'Layout: Floats')
51
52with Files('nsHTMLCanvasFrame.*'):
53    BUG_COMPONENT = ('Core', 'Layout: Images')
54
55with Files('nsImage*'):
56    BUG_COMPONENT = ('Core', 'Layout: Images')
57
58with Files('nsAbsoluteContainingBlock.*'):
59    BUG_COMPONENT = ('Core', 'Layout: R & A Pos')
60
61with Files('Sticky*'):
62    BUG_COMPONENT = ('Core', 'Layout: R & A Pos')
63
64with Files('nsPluginFrame.*'):
65    BUG_COMPONENT = ('Core', 'Plug-ins')
66
67with Files('nsVideoFrame.*'):
68    BUG_COMPONENT = ('Core', 'Audio/Video')
69
70EXPORTS += [
71    'nsCanvasFrame.h',
72    'nsContainerFrame.h',
73    'nsDirection.h',
74    'nsFrame.h',
75    'nsFrameIdList.h',
76    'nsFrameList.h',
77    'nsFrameSelection.h',
78    'nsFrameState.h',
79    'nsFrameStateBits.h',
80    'nsHTMLParts.h',
81    'nsIAnonymousContentCreator.h',
82    'nsIFrame.h',
83    'nsIFrameInlines.h',
84    'nsILineIterator.h',
85    'nsIObjectFrame.h',
86    'nsIPageSequenceFrame.h',
87    'nsIScrollableFrame.h',
88    'nsIScrollPositionListener.h',
89    'nsIStatefulFrame.h',
90    'nsPluginFrame.h',
91    'nsQueryFrame.h',
92    'nsRubyBaseContainerFrame.h',
93    'nsRubyBaseFrame.h',
94    'nsRubyFrame.h',
95    'nsRubyTextContainerFrame.h',
96    'nsRubyTextFrame.h',
97    'nsSplittableFrame.h',
98    'nsSubDocumentFrame.h',
99    'nsTextFrameUtils.h',
100    'nsTextRunTransformations.h',
101    'RubyUtils.h',
102    'ScrollAnimationBezierPhysics.h',
103    'ScrollAnimationMSDPhysics.h',
104    'ScrollAnimationPhysics.h',
105    'ScrollbarActivity.h',
106    'ScrollSnap.h',
107    'TextDrawTarget.h',
108    'Visibility.h',
109]
110
111EXPORTS.mozilla += [
112    'CSSAlignUtils.h',
113    'CSSOrderAwareFrameIterator.h',
114    'FrameTypeList.h',
115    'ReflowInput.h',
116    'ReflowOutput.h',
117    'ViewportFrame.h',
118    'WritingModes.h',
119]
120
121EXPORTS.mozilla.layout += [
122    'FrameChildList.h',
123]
124
125UNIFIED_SOURCES += [
126    'BlockReflowInput.cpp',
127    'BRFrame.cpp',
128    'CSSAlignUtils.cpp',
129    'CSSOrderAwareFrameIterator.cpp',
130    'DetailsFrame.cpp',
131    'FrameChildList.cpp',
132    'MathMLTextRunFactory.cpp',
133    'nsAbsoluteContainingBlock.cpp',
134    'nsBackdropFrame.cpp',
135    'nsBlockFrame.cpp',
136    'nsBlockReflowContext.cpp',
137    'nsBulletFrame.cpp',
138    'nsCanvasFrame.cpp',
139    'nsColumnSetFrame.cpp',
140    'nsContainerFrame.cpp',
141    'nsFirstLetterFrame.cpp',
142    'nsFlexContainerFrame.cpp',
143    'nsFloatManager.cpp',
144    'nsFontInflationData.cpp',
145    'nsFrame.cpp',
146    'nsFrameList.cpp',
147    'nsFrameSelection.cpp',
148    'nsFrameSetFrame.cpp',
149    'nsFrameState.cpp',
150    'nsGfxScrollFrame.cpp',
151    'nsGridContainerFrame.cpp',
152    'nsHTMLCanvasFrame.cpp',
153    'nsImageFrame.cpp',
154    'nsImageMap.cpp',
155    'nsInlineFrame.cpp',
156    'nsIntervalSet.cpp',
157    'nsLeafFrame.cpp',
158    'nsLineBox.cpp',
159    'nsLineLayout.cpp',
160    'nsPageContentFrame.cpp',
161    'nsPageFrame.cpp',
162    'nsPlaceholderFrame.cpp',
163    'nsRubyBaseContainerFrame.cpp',
164    'nsRubyBaseFrame.cpp',
165    'nsRubyContentFrame.cpp',
166    'nsRubyFrame.cpp',
167    'nsRubyTextContainerFrame.cpp',
168    'nsRubyTextFrame.cpp',
169    'nsSimplePageSequenceFrame.cpp',
170    'nsSplittableFrame.cpp',
171    'nsSubDocumentFrame.cpp',
172    'nsTextFrame.cpp',
173    'nsTextFrameUtils.cpp',
174    'nsTextRunTransformations.cpp',
175    'nsVideoFrame.cpp',
176    'ReflowInput.cpp',
177    'ReflowOutput.cpp',
178    'RubyUtils.cpp',
179    'ScrollAnimationBezierPhysics.cpp',
180    'ScrollAnimationMSDPhysics.cpp',
181    'ScrollbarActivity.cpp',
182    'ScrollSnap.cpp',
183    'ScrollVelocityQueue.cpp',
184    'StickyScrollContainer.cpp',
185    'TextOverflow.cpp',
186    'ViewportFrame.cpp',
187]
188
189# nsPluginFrame.cpp needs to be built separately because of name clashes in the OS X headers.
190SOURCES += [
191    'nsPluginFrame.cpp',
192]
193
194include('/ipc/chromium/chromium-config.mozbuild')
195
196FINAL_LIBRARY = 'xul'
197
198LOCAL_INCLUDES += [
199    '../../dom/plugins/base',
200    '../base',
201    '../forms',
202    '../painting',
203    '../style',
204    '../svg',
205    '../tables',
206    '../xul',
207    '/docshell/base',
208    '/dom/base',
209    '/dom/html',
210    '/dom/xul',
211]
212
213JAR_MANIFESTS += ['jar.mn']
214
215CONTENT_ACCESSIBLE_FILES.html = [
216    'folder.png',
217]
218
219MOCHITEST_MANIFESTS += ['test/mochitest.ini']
220MOCHITEST_CHROME_MANIFESTS += ['test/chrome.ini']
221
222CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
223
224if 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']:
225    CXXFLAGS += CONFIG['TK_CFLAGS']
226
227if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
228    CXXFLAGS += ['-Wno-error=shadow']
229