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"]
41 EXPORTS.mozilla.widget += [
43 "WindowSurfaceProvider.h",
47 "AsyncGtkClipboardRequest.cpp",
50 "GtkCompositorWidget.cpp",
51 "IMContextWrapper.cpp",
53 "MPRISServiceHandler.cpp",
54 "NativeKeyBindings.cpp",
56 "NativeMenuSupport.cpp",
57 "nsApplicationChooser.cpp",
65 "nsImageToPixbuf.cpp",
69 "nsWidgetFactory.cpp",
70 "ScreenHelperGTK.cpp",
71 "TaskbarProgress.cpp",
72 "WakeLockListener.cpp",
73 "WidgetStyleCache.cpp",
74 "WidgetTraceEvent.cpp",
76 "WindowSurfaceProvider.cpp",
80 "MediaKeysEventSourceFactory.cpp",
81 "nsNativeThemeGTK.cpp", # conflicts with X11 headers
82 "nsWindow.cpp", # conflicts with X11 headers
83 "WaylandVsyncSource.cpp", # conflicts with X11 headers
86 if CONFIG["ACCESSIBILITY"]:
88 "maiRedundantObjectFactory.c",
91 if CONFIG["MOZ_WAYLAND"]:
93 "DMABufLibWrapper.cpp",
95 "MozContainerWayland.cpp",
96 "nsClipboardWayland.cpp",
97 "nsWaylandDisplay.cpp",
99 "WindowSurfaceWaylandMultiBuffer.cpp",
101 EXPORTS.mozilla.widget += [
102 "DMABufLibWrapper.h",
104 "MozContainerWayland.h",
105 "nsWaylandDisplay.h",
109 if CONFIG["MOZ_X11"] or CONFIG["MOZ_WAYLAND"]:
111 "CompositorWidgetChild.cpp",
112 "CompositorWidgetParent.cpp",
113 "InProcessGtkCompositorWidget.cpp",
114 "nsUserIdleServiceGTK.cpp",
116 EXPORTS.mozilla.widget += [
117 "CompositorWidgetChild.h",
118 "CompositorWidgetParent.h",
119 "GtkCompositorWidget.h",
120 "InProcessGtkCompositorWidget.h",
123 if CONFIG["MOZ_X11"]:
125 "nsClipboardX11.cpp",
127 "WindowSurfaceX11.cpp",
128 "WindowSurfaceX11Image.cpp",
129 "WindowSurfaceX11SHM.cpp",
132 if CONFIG["NS_PRINTING"]:
134 "nsDeviceContextSpecG.cpp",
135 "nsPrintDialogGTK.cpp",
136 "nsPrintSettingsGTK.cpp",
137 "nsPrintSettingsServiceGTK.cpp",
144 include("/ipc/chromium/chromium-config.mozbuild")
146 FINAL_LIBRARY = "xul"
153 "/other-licenses/atk-1.0",
154 "/third_party/cups/include",
159 if CONFIG["MOZ_X11"] or CONFIG["MOZ_WAYLAND"]:
164 DEFINES["CAIRO_GFX"] = True
166 DEFINES["MOZ_APP_NAME"] = '"%s"' % CONFIG["MOZ_APP_NAME"]
168 CFLAGS += CONFIG["MOZ_GTK3_CFLAGS"]
169 CXXFLAGS += CONFIG["MOZ_GTK3_CFLAGS"]
171 if CONFIG["MOZ_WAYLAND"]:
172 CFLAGS += CONFIG["MOZ_WAYLAND_CFLAGS"]
173 CXXFLAGS += CONFIG["MOZ_WAYLAND_CFLAGS"]
175 if CONFIG["MOZ_ENABLE_DBUS"]:
176 EXPORTS.mozilla.widget += [
182 CXXFLAGS += CONFIG["MOZ_DBUS_GLIB_CFLAGS"]
184 CXXFLAGS += ["-Werror=switch"]