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"]
40 EXPORTS.mozilla.widget += [
42 "WindowSurfaceProvider.h",
46 "AsyncGtkClipboardRequest.cpp",
49 "GtkCompositorWidget.cpp",
50 "IMContextWrapper.cpp",
52 "MPRISServiceHandler.cpp",
53 "NativeKeyBindings.cpp",
55 "NativeMenuSupport.cpp",
56 "nsApplicationChooser.cpp",
64 "nsImageToPixbuf.cpp",
68 "nsWidgetFactory.cpp",
69 "ScreenHelperGTK.cpp",
70 "TaskbarProgress.cpp",
71 "WakeLockListener.cpp",
72 "WidgetStyleCache.cpp",
73 "WidgetTraceEvent.cpp",
75 "WindowSurfaceProvider.cpp",
79 "MediaKeysEventSourceFactory.cpp",
80 "nsNativeThemeGTK.cpp", # conflicts with X11 headers
81 "nsWindow.cpp", # conflicts with X11 headers
82 "WaylandVsyncSource.cpp", # conflicts with X11 headers
85 if CONFIG["ACCESSIBILITY"]:
87 "maiRedundantObjectFactory.c",
90 if CONFIG["MOZ_WAYLAND"]:
92 "DMABufLibWrapper.cpp",
94 "MozContainerWayland.cpp",
95 "nsClipboardWayland.cpp",
96 "nsWaylandDisplay.cpp",
99 "WindowSurfaceWaylandMultiBuffer.cpp",
101 EXPORTS.mozilla.widget += [
102 "DMABufLibWrapper.h",
104 "MozContainerWayland.h",
105 "nsWaylandDisplay.h",
116 if CONFIG["MOZ_X11"]:
118 "CompositorWidgetChild.cpp",
119 "CompositorWidgetParent.cpp",
120 "InProcessGtkCompositorWidget.cpp",
121 "nsClipboardX11.cpp",
123 "nsUserIdleServiceGTK.cpp",
124 "WindowSurfaceX11.cpp",
125 "WindowSurfaceX11Image.cpp",
126 "WindowSurfaceX11SHM.cpp",
128 EXPORTS.mozilla.widget += [
129 "CompositorWidgetChild.h",
130 "CompositorWidgetParent.h",
131 "GtkCompositorWidget.h",
132 "InProcessGtkCompositorWidget.h",
135 if CONFIG["NS_PRINTING"]:
137 "nsDeviceContextSpecG.cpp",
138 "nsPrintDialogGTK.cpp",
139 "nsPrintSettingsGTK.cpp",
140 "nsPrintSettingsServiceGTK.cpp",
147 include("/ipc/chromium/chromium-config.mozbuild")
149 FINAL_LIBRARY = "xul"
156 "/other-licenses/atk-1.0",
157 "/third_party/cups/include",
162 if CONFIG["MOZ_X11"]:
167 DEFINES["CAIRO_GFX"] = True
169 DEFINES["MOZ_APP_NAME"] = '"%s"' % CONFIG["MOZ_APP_NAME"]
171 CFLAGS += CONFIG["MOZ_GTK3_CFLAGS"]
172 CXXFLAGS += CONFIG["MOZ_GTK3_CFLAGS"]
174 if CONFIG["MOZ_WAYLAND"]:
175 CFLAGS += CONFIG["MOZ_WAYLAND_CFLAGS"]
176 CXXFLAGS += CONFIG["MOZ_WAYLAND_CFLAGS"]
178 if CONFIG["MOZ_ENABLE_DBUS"]:
179 CXXFLAGS += CONFIG["MOZ_DBUS_GLIB_CFLAGS"]
180 CXXFLAGS += ["-Werror=switch"]
182 REQUIRES_UNIFIED_BUILD = True