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/.
8 BUG_COMPONENT = ("Core", "Widget: Gtk")
10 with Files("*CompositorWidget*"):
11 BUG_COMPONENT = ("Core", "Graphics")
13 with Files("*WindowSurface*"):
14 BUG_COMPONENT = ("Core", "Graphics")
16 with Files("*IMContextWrapper*"):
17 BUG_COMPONENT = ("Core", "DOM: UI Events & Focus Handling")
19 with Files("*nsGtkKeyUtils*"):
20 BUG_COMPONENT = ("Core", "DOM: UI Events & Focus Handling")
22 if CONFIG["COMPILE_ENVIRONMENT"]:
25 if CONFIG["MOZ_WAYLAND"]:
26 DIRS += ["wayland", "mozwayland", "../../third_party/wayland-proxy"]
28 if CONFIG["MOZ_ENABLE_VAAPI"]:
31 if CONFIG["MOZ_ENABLE_V4L2"]:
36 "MozContainerSurfaceLock.h",
50 EXPORTS.mozilla.widget += [
51 "CompositorWidgetChild.h",
52 "CompositorWidgetParent.h",
56 "GtkCompositorWidget.h",
57 "InProcessGtkCompositorWidget.h",
60 "WindowSurfaceProvider.h",
64 "AsyncGtkClipboardRequest.cpp",
65 "CompositorWidgetChild.cpp",
66 "CompositorWidgetParent.cpp",
67 "DMABufLibWrapper.cpp",
71 "GtkCompositorWidget.cpp",
72 "IMContextWrapper.cpp",
73 "InProcessGtkCompositorWidget.cpp",
75 "MozContainerSurfaceLock.cpp",
76 "MPRISServiceHandler.cpp",
77 "NativeKeyBindings.cpp",
79 "NativeMenuSupport.cpp",
80 "nsApplicationChooser.cpp",
88 "nsImageToPixbuf.cpp",
92 "nsUserIdleServiceGTK.cpp",
93 "nsWidgetFactory.cpp",
94 "ScreenHelperGTK.cpp",
95 "TaskbarProgress.cpp",
96 "WakeLockListener.cpp",
97 "WidgetStyleCache.cpp",
98 "WidgetTraceEvent.cpp",
100 "WindowSurfaceProvider.cpp",
104 "MediaKeysEventSourceFactory.cpp",
105 "nsNativeThemeGTK.cpp", # conflicts with X11 headers
106 "nsWindow.cpp", # conflicts with X11 headers
107 "WaylandVsyncSource.cpp", # conflicts with X11 headers
110 if CONFIG["MOZ_WAYLAND"]:
112 "MozContainerWayland.cpp",
113 "nsClipboardWayland.cpp",
114 "nsWaylandDisplay.cpp",
116 "WindowSurfaceWaylandMultiBuffer.cpp",
118 EXPORTS.mozilla.widget += [
119 "MozContainerSurfaceLock.h",
120 "MozContainerWayland.h",
121 "nsWaylandDisplay.h",
125 if CONFIG["MOZ_X11"]:
127 "nsClipboardX11.cpp",
129 "WindowSurfaceX11.cpp",
130 "WindowSurfaceX11Image.cpp",
131 "WindowSurfaceX11SHM.cpp",
134 if CONFIG["NS_PRINTING"]:
136 "nsDeviceContextSpecG.cpp",
137 "nsPrintDialogGTK.cpp",
138 "nsPrintSettingsGTK.cpp",
139 "nsPrintSettingsServiceGTK.cpp",
146 include("/ipc/chromium/chromium-config.mozbuild")
148 FINAL_LIBRARY = "xul"
155 "/other-licenses/atk-1.0",
156 "/third_party/cups/include",
162 DEFINES["CAIRO_GFX"] = True
164 DEFINES["MOZ_APP_NAME"] = '"%s"' % CONFIG["MOZ_APP_NAME"]
166 CFLAGS += CONFIG["MOZ_GTK3_CFLAGS"]
167 CXXFLAGS += CONFIG["MOZ_GTK3_CFLAGS"]
169 if CONFIG["MOZ_WAYLAND"]:
170 CFLAGS += CONFIG["MOZ_WAYLAND_CFLAGS"]
171 CXXFLAGS += CONFIG["MOZ_WAYLAND_CFLAGS"]
173 if CONFIG["MOZ_ENABLE_DBUS"]:
174 EXPORTS.mozilla.widget += [
182 CXXFLAGS += CONFIG["MOZ_DBUS_CFLAGS"]
184 CXXFLAGS += ["-Werror=switch"]