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('**'):
8    BUG_COMPONENT = ('Core', 'Graphics: Layers')
9
10with Files('apz/**'):
11    BUG_COMPONENT = ('Core', 'Panning and Zooming')
12
13EXPORTS += [
14    'basic/BasicCanvasLayer.h',
15    'basic/BasicImplData.h',
16    'basic/BasicLayers.h',
17    'basic/BasicLayersImpl.h',
18    'basic/BasicPaintedLayer.h',
19    'client/ClientCanvasLayer.h',
20    'client/ClientContainerLayer.h',
21    'client/ClientLayerManager.h',
22    'client/ClientPaintedLayer.h',
23    'client/ClientTiledPaintedLayer.h',
24    'composite/CompositableHost.h',
25    'composite/ImageHost.h',
26    'CompositorTypes.h',
27    'D3D9SurfaceImage.h',
28    'FrameMetrics.h',
29    'GLImages.h',
30    'GPUVideoImage.h',
31    'ImageContainer.h',
32    'ImageLayers.h',
33    'ImageTypes.h',
34    'IMFYCbCrImage.h',
35    'ipc/ThreadSafeRefcountingWithMainThreadDestruction.h',
36    'Layers.h',
37    'LayerScope.h',
38    'LayersLogging.h',
39    'LayerSorter.h',
40    'LayersTypes.h',
41    'LayerTreeInvalidation.h',
42    'LayerUserData.h',
43    'opengl/OGLShaderProgram.h',
44    'protobuf/LayerScopePacket.pb.h',
45    'ReadbackLayer.h',
46    'TiledLayerBuffer.h',
47]
48
49if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows':
50    SOURCES += [
51        'D3D11ShareHandleImage.cpp',
52        'D3D11YCbCrImage.cpp',
53    ]
54    UNIFIED_SOURCES += [
55        'D3D9SurfaceImage.cpp',
56        'IMFYCbCrImage.cpp',
57        'TextureDIB.cpp',
58    ]
59    EXPORTS.mozilla.layers += [
60        'TextureDIB.h',
61    ]
62    if CONFIG['MOZ_ENABLE_D3D10_LAYER']:
63        EXPORTS.mozilla.layers += [
64            'd3d11/CompositorD3D11.h',
65            'd3d11/DeviceAttachmentsD3D11.h',
66            'd3d11/DiagnosticsD3D11.h',
67            'd3d11/HelpersD3D11.h',
68            'd3d11/MLGDeviceD3D11.h',
69            'd3d11/ReadbackManagerD3D11.h',
70            'd3d11/ShaderDefinitionsD3D11.h',
71            'd3d11/TextureD3D11.h',
72        ]
73        UNIFIED_SOURCES += [
74            'd3d11/DiagnosticsD3D11.cpp',
75            'd3d11/MLGDeviceD3D11.cpp',
76            'd3d11/TextureD3D11.cpp',
77        ]
78        SOURCES += [
79            'd3d11/CompositorD3D11.cpp',
80            'd3d11/DeviceAttachmentsD3D11.cpp',
81            'd3d11/ReadbackManagerD3D11.cpp',
82        ]
83
84EXPORTS.gfxipc += [
85    'ipc/ShadowLayerUtils.h',
86]
87
88EXPORTS.mozilla.dom += [
89    'apz/util/CheckerboardReportService.h',
90]
91
92EXPORTS.mozilla.layers += [
93    'AnimationHelper.h',
94    'AnimationInfo.h',
95    'apz/public/APZSampler.h',
96    'apz/public/CompositorController.h',
97    'apz/public/GeckoContentController.h',
98    'apz/public/IAPZCTreeManager.h',
99    'apz/public/MetricsSharingController.h',
100    # exporting things from apz/src is temporary until we extract a
101    # proper interface for the code there
102    'apz/src/APZUtils.h',
103    'apz/src/AsyncDragMetrics.h',
104    'apz/src/FocusTarget.h',
105    'apz/src/KeyboardMap.h',
106    'apz/src/KeyboardScrollAction.h',
107    'apz/testutil/APZTestData.h',
108    'apz/util/ActiveElementManager.h',
109    'apz/util/APZCCallbackHelper.h',
110    'apz/util/APZEventState.h',
111    'apz/util/APZThreadUtils.h',
112    'apz/util/ChromeProcessController.h',
113    'apz/util/ContentProcessController.h',
114    'apz/util/DoubleTapToZoom.h',
115    'apz/util/InputAPZContext.h',
116    'apz/util/ScrollLinkedEffectDetector.h',
117    'apz/util/TouchActionHelper.h',
118    'AsyncCanvasRenderer.h',
119    'AtomicRefCountedWithFinalize.h',
120    'AxisPhysicsModel.h',
121    'AxisPhysicsMSDModel.h',
122    'basic/BasicCompositor.h',
123    'basic/MacIOSurfaceTextureHostBasic.h',
124    'basic/TextureHostBasic.h',
125    'BSPTree.h',
126    'BufferTexture.h',
127    'CanvasRenderer.h',
128    'client/CanvasClient.h',
129    'client/CompositableClient.h',
130    'client/ContentClient.h',
131    'client/GPUVideoTextureClient.h',
132    'client/ImageClient.h',
133    'client/SingleTiledContentClient.h',
134    'client/TextureClient.h',
135    'client/TextureClientPool.h',
136    'client/TextureClientRecycleAllocator.h',
137    'client/TextureClientSharedSurface.h',
138    'client/TiledContentClient.h',
139    'composite/AnimationMetricsTracker.h',
140    'composite/AsyncCompositionManager.h',
141    'composite/CanvasLayerComposite.h',
142    'composite/ColorLayerComposite.h',
143    'composite/ContainerLayerComposite.h',
144    'composite/ContentHost.h',
145    'composite/Diagnostics.h',
146    'composite/FPSCounter.h',
147    'composite/FrameUniformityData.h',
148    'composite/GPUVideoTextureHost.h',
149    'composite/ImageComposite.h',
150    'composite/ImageHost.h',
151    'composite/ImageLayerComposite.h',
152    'composite/LayerManagerComposite.h',
153    'composite/PaintedLayerComposite.h',
154    'composite/TextRenderer.h',
155    'composite/TextureHost.h',
156    'composite/TiledContentHost.h',
157    'Compositor.h',
158    'CompositorTypes.h',
159    'CopyableCanvasRenderer.h',
160    'D3D11ShareHandleImage.h',
161    'D3D11YCbCrImage.h',
162    'D3D9SurfaceImage.h',
163    'DirectionUtils.h',
164    'Effects.h',
165    'ImageDataSerializer.h',
166    'ipc/APZChild.h',
167    'ipc/APZCTreeManagerChild.h',
168    'ipc/APZCTreeManagerParent.h',
169    'ipc/CompositableForwarder.h',
170    'ipc/CompositableTransactionParent.h',
171    'ipc/CompositorBridgeChild.h',
172    'ipc/CompositorBridgeParent.h',
173    'ipc/CompositorManagerChild.h',
174    'ipc/CompositorManagerParent.h',
175    'ipc/CompositorThread.h',
176    'ipc/CompositorVsyncScheduler.h',
177    'ipc/CompositorVsyncSchedulerOwner.h',
178    'ipc/CrossProcessCompositorBridgeParent.h',
179    'ipc/ImageBridgeChild.h',
180    'ipc/ImageBridgeParent.h',
181    'ipc/ISurfaceAllocator.h',
182    'ipc/KnowsCompositor.h',
183    'ipc/LayerAnimationUtils.h',
184    'ipc/LayersMessageUtils.h',
185    'ipc/LayerTransactionChild.h',
186    'ipc/LayerTransactionParent.h',
187    'ipc/LayerTreeOwnerTracker.h',
188    'ipc/RefCountedShmem.h',
189    'ipc/RemoteContentController.h',
190    'ipc/ShadowLayers.h',
191    'ipc/SharedPlanarYCbCrImage.h',
192    'ipc/SharedRGBImage.h',
193    'ipc/SharedSurfacesChild.h',
194    'ipc/SharedSurfacesParent.h',
195    'ipc/SynchronousTask.h',
196    'ipc/TextureForwarder.h',
197    'ipc/UiCompositorControllerChild.h',
198    'ipc/UiCompositorControllerMessageTypes.h',
199    'ipc/UiCompositorControllerParent.h',
200    'ipc/VideoBridgeChild.h',
201    'ipc/VideoBridgeParent.h',
202    'LayerAttributes.h',
203    'LayerMetricsWrapper.h',
204    'LayersHelpers.h',
205    'LayersTypes.h',
206    'mlgpu/LayerManagerMLGPU.h',
207    'mlgpu/LayerMLGPU.h',
208    'mlgpu/MemoryReportingMLGPU.h',
209    'mlgpu/MLGDevice.h',
210    'mlgpu/MLGDeviceTypes.h',
211    'mlgpu/ShaderDefinitionsMLGPU.h',
212    'mlgpu/UtilityMLGPU.h',
213    'opengl/CompositingRenderTargetOGL.h',
214    'opengl/CompositorOGL.h',
215    'opengl/MacIOSurfaceTextureClientOGL.h',
216    'opengl/MacIOSurfaceTextureHostOGL.h',
217    'opengl/TextureClientOGL.h',
218    'opengl/TextureHostOGL.h',
219    'PaintThread.h',
220    'PersistentBufferProvider.h',
221    'RenderTrace.h',
222    'RotatedBuffer.h',
223    'ShareableCanvasRenderer.h',
224    'SourceSurfaceSharedData.h',
225    'SourceSurfaceVolatileData.h',
226    'SyncObject.h',
227    'TextureSourceProvider.h',
228    'TextureWrapperImage.h',
229    'TransactionIdAllocator.h',
230    'UpdateImageHelper.h',
231    'wr/AsyncImagePipelineManager.h',
232    'wr/IpcResourceUpdateQueue.h',
233    'wr/ScrollingLayersHelper.h',
234    'wr/StackingContextHelper.h',
235    'wr/WebRenderBridgeChild.h',
236    'wr/WebRenderBridgeParent.h',
237    'wr/WebRenderCanvasRenderer.h',
238    'wr/WebRenderCommandBuilder.h',
239    'wr/WebRenderImageHost.h',
240    'wr/WebRenderLayerManager.h',
241    'wr/WebRenderLayersLogging.h',
242    'wr/WebRenderMessageUtils.h',
243    'wr/WebRenderScrollData.h',
244    'wr/WebRenderScrollDataWrapper.h',
245    'wr/WebRenderTextureHost.h',
246    'wr/WebRenderUserData.h',
247]
248
249if CONFIG['MOZ_X11']:
250    EXPORTS.mozilla.layers += [
251        'basic/TextureClientX11.h',
252        'basic/X11TextureSourceBasic.h',
253        'composite/X11TextureHost.h',
254        'ipc/ShadowLayerUtilsX11.h',
255        'opengl/X11TextureSourceOGL.h',
256    ]
257    SOURCES += [
258        'basic/TextureClientX11.cpp',
259        'basic/X11BasicCompositor.cpp',
260        'basic/X11TextureSourceBasic.cpp',
261        'composite/X11TextureHost.cpp',
262        'ipc/ShadowLayerUtilsX11.cpp',
263        'opengl/X11TextureSourceOGL.cpp',
264    ]
265
266if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
267    EXPORTS.mozilla.layers += [
268        'opengl/GLManager.h',
269    ]
270    EXPORTS += [
271        'MacIOSurfaceHelpers.h',
272        'MacIOSurfaceImage.h',
273    ]
274    UNIFIED_SOURCES += [
275        'opengl/GLManager.cpp',
276    ]
277    SOURCES += [
278        'ipc/ShadowLayerUtilsMac.cpp',
279        'MacIOSurfaceHelpers.cpp',
280        'MacIOSurfaceImage.cpp',
281    ]
282
283if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'android':
284    UNIFIED_SOURCES += [
285        'apz/src/AndroidAPZ.cpp',
286        'apz/src/AndroidDynamicToolbarAnimator.cpp',
287    ]
288    EXPORTS.mozilla.layers += [
289        'apz/src/AndroidDynamicToolbarAnimator.h',
290    ]
291
292UNIFIED_SOURCES += [
293    'AnimationHelper.cpp',
294    'AnimationInfo.cpp',
295    'apz/public/IAPZCTreeManager.cpp',
296    'apz/src/APZCTreeManager.cpp',
297    'apz/src/APZSampler.cpp',
298    'apz/src/APZUtils.cpp',
299    'apz/src/AsyncPanZoomController.cpp',
300    'apz/src/AutoscrollAnimation.cpp',
301    'apz/src/Axis.cpp',
302    'apz/src/CheckerboardEvent.cpp',
303    'apz/src/DragTracker.cpp',
304    'apz/src/FocusState.cpp',
305    'apz/src/FocusTarget.cpp',
306    'apz/src/GenericScrollAnimation.cpp',
307    'apz/src/GestureEventListener.cpp',
308    'apz/src/HitTestingTreeNode.cpp',
309    'apz/src/InputBlockState.cpp',
310    'apz/src/InputQueue.cpp',
311    'apz/src/KeyboardMap.cpp',
312    'apz/src/KeyboardScrollAction.cpp',
313    'apz/src/KeyboardScrollAnimation.cpp',
314    'apz/src/OverscrollHandoffState.cpp',
315    'apz/src/PotentialCheckerboardDurationTracker.cpp',
316    'apz/src/QueuedInput.cpp',
317    'apz/src/TouchCounter.cpp',
318    'apz/src/WheelScrollAnimation.cpp',
319    'apz/testutil/APZTestData.cpp',
320    'apz/util/ActiveElementManager.cpp',
321    'apz/util/APZCCallbackHelper.cpp',
322    'apz/util/APZEventState.cpp',
323    'apz/util/APZThreadUtils.cpp',
324    'apz/util/CheckerboardReportService.cpp',
325    'apz/util/ChromeProcessController.cpp',
326    'apz/util/ContentProcessController.cpp',
327    'apz/util/DoubleTapToZoom.cpp',
328    'apz/util/InputAPZContext.cpp',
329    'apz/util/ScrollLinkedEffectDetector.cpp',
330    'apz/util/TouchActionHelper.cpp',
331    'AsyncCanvasRenderer.cpp',
332    'AxisPhysicsModel.cpp',
333    'AxisPhysicsMSDModel.cpp',
334    'basic/BasicBorderLayer.cpp',
335    'basic/BasicCanvasLayer.cpp',
336    'basic/BasicColorLayer.cpp',
337    'basic/BasicCompositor.cpp',
338    'basic/BasicContainerLayer.cpp',
339    'basic/BasicDisplayItemLayer.cpp',
340    'basic/BasicImages.cpp',
341    'basic/BasicLayerManager.cpp',
342    'basic/BasicLayersImpl.cpp',
343    'basic/BasicPaintedLayer.cpp',
344    'basic/TextureHostBasic.cpp',
345    'BSPTree.cpp',
346    'BufferTexture.cpp',
347    'BufferUnrotate.cpp',
348    'CanvasRenderer.cpp',
349    'client/CanvasClient.cpp',
350    'client/ClientBorderLayer.cpp',
351    'client/ClientCanvasLayer.cpp',
352    'client/ClientCanvasRenderer.cpp',
353    'client/ClientColorLayer.cpp',
354    'client/ClientContainerLayer.cpp',
355    'client/ClientImageLayer.cpp',
356    'client/ClientLayerManager.cpp',
357    'client/ClientPaintedLayer.cpp',
358    'client/ClientTiledPaintedLayer.cpp',
359    'client/CompositableClient.cpp',
360    'client/ContentClient.cpp',
361    'client/GPUVideoTextureClient.cpp',
362    'client/ImageClient.cpp',
363    'client/SingleTiledContentClient.cpp',
364    'client/TextureClient.cpp',
365    'client/TextureClientPool.cpp',
366    'client/TextureClientRecycleAllocator.cpp',
367    'client/TextureClientSharedSurface.cpp',
368    'client/TiledContentClient.cpp',
369    'composite/AnimationMetricsTracker.cpp',
370    'composite/AsyncCompositionManager.cpp',
371    'composite/CanvasLayerComposite.cpp',
372    'composite/ColorLayerComposite.cpp',
373    'composite/CompositableHost.cpp',
374    'composite/ContainerLayerComposite.cpp',
375    'composite/ContentHost.cpp',
376    'composite/Diagnostics.cpp',
377    'composite/FPSCounter.cpp',
378    'composite/FrameUniformityData.cpp',
379    'composite/GPUVideoTextureHost.cpp',
380    'composite/ImageComposite.cpp',
381    'composite/ImageHost.cpp',
382    'composite/ImageLayerComposite.cpp',
383    'composite/LayerManagerComposite.cpp',
384    'composite/PaintedLayerComposite.cpp',
385    'composite/TextRenderer.cpp',
386    'composite/TextureHost.cpp',
387    'composite/TiledContentHost.cpp',
388    'Compositor.cpp',
389    'CopyableCanvasRenderer.cpp',
390    'Effects.cpp',
391    'FrameMetrics.cpp',
392    'GLImages.cpp',
393    'ImageDataSerializer.cpp',
394    'ImageLayers.cpp',
395    'ipc/APZChild.cpp',
396    'ipc/APZCTreeManagerChild.cpp',
397    'ipc/APZCTreeManagerParent.cpp',
398    'ipc/CompositableTransactionParent.cpp',
399    'ipc/CompositorBench.cpp',
400    'ipc/CompositorBridgeChild.cpp',
401    'ipc/CompositorBridgeParent.cpp',
402    'ipc/CompositorManagerChild.cpp',
403    'ipc/CompositorManagerParent.cpp',
404    'ipc/CompositorThread.cpp',
405    'ipc/CompositorVsyncScheduler.cpp',
406    'ipc/CrossProcessCompositorBridgeParent.cpp',
407    'ipc/ImageBridgeChild.cpp',
408    'ipc/ImageBridgeParent.cpp',
409    'ipc/ISurfaceAllocator.cpp',
410    'ipc/LayerAnimationUtils.cpp',
411    'ipc/LayerTransactionChild.cpp',
412    'ipc/LayerTransactionParent.cpp',
413    'ipc/LayerTreeOwnerTracker.cpp',
414    'ipc/RefCountedShmem.cpp',
415    'ipc/RemoteContentController.cpp',
416    'ipc/ShadowLayers.cpp',
417    'ipc/SharedPlanarYCbCrImage.cpp',
418    'ipc/SharedRGBImage.cpp',
419    'ipc/SharedSurfacesChild.cpp',
420    'ipc/SharedSurfacesParent.cpp',
421    'ipc/UiCompositorControllerChild.cpp',
422    'ipc/UiCompositorControllerParent.cpp',
423    'ipc/VideoBridgeChild.cpp',
424    'ipc/VideoBridgeParent.cpp',
425    'LayerScope.cpp',
426    'LayersHelpers.cpp',
427    'LayersLogging.cpp',
428    'LayerSorter.cpp',
429    'LayersTypes.cpp',
430    'mlgpu/BufferCache.cpp',
431    'mlgpu/CanvasLayerMLGPU.cpp',
432    'mlgpu/ContainerLayerMLGPU.cpp',
433    'mlgpu/FrameBuilder.cpp',
434    'mlgpu/ImageLayerMLGPU.cpp',
435    'mlgpu/LayerManagerMLGPU.cpp',
436    'mlgpu/LayerMLGPU.cpp',
437    'mlgpu/MaskOperation.cpp',
438    'mlgpu/MemoryReportingMLGPU.cpp',
439    'mlgpu/MLGDevice.cpp',
440    'mlgpu/PaintedLayerMLGPU.cpp',
441    'mlgpu/RenderPassMLGPU.cpp',
442    'mlgpu/RenderViewMLGPU.cpp',
443    'mlgpu/SharedBufferMLGPU.cpp',
444    'mlgpu/StagingBuffer.cpp',
445    'mlgpu/TexturedLayerMLGPU.cpp',
446    'mlgpu/TextureSourceProviderMLGPU.cpp',
447    'opengl/CompositingRenderTargetOGL.cpp',
448    'opengl/CompositorOGL.cpp',
449    'opengl/GLBlitTextureImageHelper.cpp',
450    'opengl/OGLShaderProgram.cpp',
451    'opengl/TextureClientOGL.cpp',
452    'opengl/TextureHostOGL.cpp',
453    'PaintThread.cpp',
454    'ReadbackProcessor.cpp',
455    'RenderTrace.cpp',
456    'RotatedBuffer.cpp',
457    'ShareableCanvasRenderer.cpp',
458    'SourceSurfaceSharedData.cpp',
459    'SourceSurfaceVolatileData.cpp',
460    'SyncObject.cpp',
461    'TextureSourceProvider.cpp',
462    'TextureWrapperImage.cpp',
463    'wr/AsyncImagePipelineManager.cpp',
464    'wr/IpcResourceUpdateQueue.cpp',
465    'wr/ScrollingLayersHelper.cpp',
466    'wr/StackingContextHelper.cpp',
467    'wr/WebRenderBridgeChild.cpp',
468    'wr/WebRenderBridgeParent.cpp',
469    'wr/WebRenderCanvasRenderer.cpp',
470    'wr/WebRenderCommandBuilder.cpp',
471    'wr/WebRenderImageHost.cpp',
472    'wr/WebRenderLayerManager.cpp',
473    'wr/WebRenderLayersLogging.cpp',
474    'wr/WebRenderScrollData.cpp',
475    'wr/WebRenderUserData.cpp',
476    # XXX here are some unified build error.
477    #'wr/WebRenderTextureHost.cpp'
478]
479
480SOURCES += [
481    'basic/BasicImageLayer.cpp',
482    'ImageContainer.cpp',
483    'Layers.cpp',
484    'LayerTreeInvalidation.cpp',
485    'PersistentBufferProvider.cpp',
486    'protobuf/LayerScopePacket.pb.cc',
487    'wr/WebRenderTextureHost.cpp',
488]
489
490DEFINES['GOOGLE_PROTOBUF_NO_RTTI'] = True
491DEFINES['GOOGLE_PROTOBUF_NO_STATIC_INITIALIZER'] = True
492
493# Workaround compiler bug (Bug 795594)
494if CONFIG['CC_TYPE'] in ('msvc', 'clang-cl') and CONFIG['CPU_ARCH'] == 'x86_64':
495    for src in [
496        'Layers.cpp',
497        'LayerTreeInvalidation.cpp',
498    ]:
499        SOURCES[src].no_pgo = True
500
501if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
502    SOURCES += [
503        'basic/MacIOSurfaceTextureHostBasic.cpp',
504        'opengl/MacIOSurfaceTextureClientOGL.cpp',
505        'opengl/MacIOSurfaceTextureHostOGL.cpp',
506    ]
507
508IPDL_SOURCES += [
509    'ipc/LayersMessages.ipdlh',
510    'ipc/LayersSurfaces.ipdlh',
511    'ipc/PAPZ.ipdl',
512    'ipc/PAPZCTreeManager.ipdl',
513    'ipc/PCompositorBridge.ipdl',
514    'ipc/PCompositorManager.ipdl',
515    'ipc/PImageBridge.ipdl',
516    'ipc/PLayerTransaction.ipdl',
517    'ipc/PTexture.ipdl',
518    'ipc/PUiCompositorController.ipdl',
519    'ipc/PVideoBridge.ipdl',
520    'ipc/PWebRenderBridge.ipdl',
521    'ipc/WebRenderMessages.ipdlh',
522]
523
524include('/ipc/chromium/chromium-config.mozbuild')
525
526if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows':
527  GENERATED_FILES = [
528      'CompositorD3D11Shaders.h',
529      'MLGShaders.h',
530  ]
531
532  d3d11_shaders = GENERATED_FILES['CompositorD3D11Shaders.h']
533  d3d11_shaders.script = 'd3d11/genshaders.py'
534  d3d11_shaders.inputs = ['d3d11/shaders.manifest']
535  mlg_shaders = GENERATED_FILES['MLGShaders.h']
536  mlg_shaders.script = 'd3d11/genshaders.py'
537  mlg_shaders.inputs = ['d3d11/mlgshaders/shaders.manifest']
538
539LOCAL_INCLUDES += [
540    '/docshell/base',  # for nsDocShell.h
541    '/layout/base',    # for TouchManager.h
542    '/layout/generic', # for nsTextFrame.h
543    '/media/libyuv/libyuv/include', # for libyuv.h
544]
545
546FINAL_LIBRARY = 'xul'
547
548if CONFIG['MOZ_DEBUG']:
549    DEFINES['D3D_DEBUG_INFO'] = True
550
551if CONFIG['MOZ_ENABLE_D3D10_LAYER']:
552    DEFINES['MOZ_ENABLE_D3D10_LAYER'] = True
553
554if CONFIG['ENABLE_TESTS']:
555    DIRS += ['apz/test/gtest']
556
557MOCHITEST_MANIFESTS += ['apz/test/mochitest/mochitest.ini']
558MOCHITEST_CHROME_MANIFESTS += ['apz/test/mochitest/chrome.ini']
559
560CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
561CXXFLAGS += CONFIG['TK_CFLAGS']
562
563LOCAL_INCLUDES += CONFIG['SKIA_INCLUDES']
564
565if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
566    CXXFLAGS += ['-Wno-error=shadow']
567    # Suppress warnings in third-party code.
568    CXXFLAGS += [
569        '-Wno-maybe-uninitialized'
570    ]
571
572if CONFIG['MOZ_ENABLE_SKIA']:
573  UNIFIED_SOURCES += [
574    'composite/PaintCounter.cpp',
575  ]
576