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
10EXPORTS.mozilla += ["D3DMessageUtils.h", "GfxMessageUtils.h"]
11
12EXPORTS.mozilla.gfx += [
13    "CrossProcessPaint.h",
14    "GPUChild.h",
15    "GPUParent.h",
16    "GPUProcessHost.h",
17    "GPUProcessImpl.h",
18    "GPUProcessListener.h",
19    "GPUProcessManager.h",
20    "VsyncBridgeChild.h",
21    "VsyncBridgeParent.h",
22    "VsyncIOThreadHolder.h",
23]
24
25EXPORTS.mozilla.layers += [
26    "CompositorOptions.h",
27    "CompositorSession.h",
28    "InProcessCompositorSession.h",
29    "RemoteCompositorSession.h",
30]
31
32EXPORTS.mozilla.widget += [
33    "CompositorWidgetVsyncObserver.h",
34]
35
36UNIFIED_SOURCES += [
37    "CompositorSession.cpp",
38    "CompositorWidgetVsyncObserver.cpp",
39    "CrossProcessPaint.cpp",
40    "D3DMessageUtils.cpp",
41    "GPUChild.cpp",
42    "GPUProcessHost.cpp",
43    "GPUProcessImpl.cpp",
44    "GPUProcessManager.cpp",
45    "InProcessCompositorSession.cpp",
46    "RemoteCompositorSession.cpp",
47    "VsyncBridgeChild.cpp",
48    "VsyncBridgeParent.cpp",
49    "VsyncIOThreadHolder.cpp",
50]
51
52SOURCES += [
53    "GPUParent.cpp",
54]
55
56IPDL_SOURCES = [
57    "GraphicsMessages.ipdlh",
58    "PVsyncBridge.ipdl",
59]
60
61PREPROCESSED_IPDL_SOURCES += [
62    "PGPU.ipdl",
63]
64
65LOCAL_INCLUDES += [
66    "/dom/ipc",
67    "/toolkit/crashreporter",
68    "/xpcom/threads",
69]
70
71include("/ipc/chromium/chromium-config.mozbuild")
72
73FINAL_LIBRARY = "xul"
74
75CXXFLAGS += CONFIG["MOZ_CAIRO_CFLAGS"]
76CXXFLAGS += CONFIG["TK_CFLAGS"]
77CXXFLAGS += ["-Werror=switch"]
78
79LOCAL_INCLUDES += CONFIG["SKIA_INCLUDES"]
80