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"]:
49 EXPORTS.mozilla.widget += [
50 "CompositorWidgetChild.h",
51 "CompositorWidgetParent.h",
55 "GtkCompositorWidget.h",
56 "InProcessGtkCompositorWidget.h",
59 "WindowSurfaceProvider.h",
63 "AsyncGtkClipboardRequest.cpp",
64 "CompositorWidgetChild.cpp",
65 "CompositorWidgetParent.cpp",
66 "DMABufLibWrapper.cpp",
70 "GtkCompositorWidget.cpp",
71 "IMContextWrapper.cpp",
72 "InProcessGtkCompositorWidget.cpp",
74 "MPRISServiceHandler.cpp",
75 "NativeKeyBindings.cpp",
77 "NativeMenuSupport.cpp",
78 "nsApplicationChooser.cpp",
86 "nsImageToPixbuf.cpp",
90 "nsUserIdleServiceGTK.cpp",
91 "nsWidgetFactory.cpp",
92 "ScreenHelperGTK.cpp",
93 "TaskbarProgress.cpp",
94 "WakeLockListener.cpp",
95 "WidgetStyleCache.cpp",
96 "WidgetTraceEvent.cpp",
98 "WindowSurfaceProvider.cpp",
102 "MediaKeysEventSourceFactory.cpp",
103 "nsNativeThemeGTK.cpp", # conflicts with X11 headers
104 "nsWindow.cpp", # conflicts with X11 headers
105 "WaylandVsyncSource.cpp", # conflicts with X11 headers
108 if CONFIG["MOZ_WAYLAND"]:
110 "MozContainerWayland.cpp",
111 "nsClipboardWayland.cpp",
112 "nsWaylandDisplay.cpp",
114 "WindowSurfaceWaylandMultiBuffer.cpp",
116 EXPORTS.mozilla.widget += [
117 "MozContainerWayland.h",
118 "nsWaylandDisplay.h",
122 if CONFIG["MOZ_X11"]:
124 "nsClipboardX11.cpp",
126 "WindowSurfaceX11.cpp",
127 "WindowSurfaceX11Image.cpp",
128 "WindowSurfaceX11SHM.cpp",
131 if CONFIG["NS_PRINTING"]:
133 "nsDeviceContextSpecG.cpp",
134 "nsPrintDialogGTK.cpp",
135 "nsPrintSettingsGTK.cpp",
136 "nsPrintSettingsServiceGTK.cpp",
143 include("/ipc/chromium/chromium-config.mozbuild")
145 FINAL_LIBRARY = "xul"
152 "/other-licenses/atk-1.0",
153 "/third_party/cups/include",
159 DEFINES["CAIRO_GFX"] = True
161 DEFINES["MOZ_APP_NAME"] = '"%s"' % CONFIG["MOZ_APP_NAME"]
163 CFLAGS += CONFIG["MOZ_GTK3_CFLAGS"]
164 CXXFLAGS += CONFIG["MOZ_GTK3_CFLAGS"]
166 if CONFIG["MOZ_WAYLAND"]:
167 CFLAGS += CONFIG["MOZ_WAYLAND_CFLAGS"]
168 CXXFLAGS += CONFIG["MOZ_WAYLAND_CFLAGS"]
170 if CONFIG["MOZ_ENABLE_DBUS"]:
171 EXPORTS.mozilla.widget += [
177 CXXFLAGS += CONFIG["MOZ_DBUS_CFLAGS"]
179 CXXFLAGS += ["-Werror=switch"]