diff options
Diffstat (limited to 'widget/gtk/moz.build')
-rw-r--r-- | widget/gtk/moz.build | 178 |
1 files changed, 178 insertions, 0 deletions
diff --git a/widget/gtk/moz.build b/widget/gtk/moz.build new file mode 100644 index 0000000000..cddd45e49f --- /dev/null +++ b/widget/gtk/moz.build @@ -0,0 +1,178 @@ +# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- +# vim: set filetype=python: +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +with Files("**"): + BUG_COMPONENT = ("Core", "Widget: Gtk") + +with Files("*CompositorWidget*"): + BUG_COMPONENT = ("Core", "Graphics") + +with Files("*WindowSurface*"): + BUG_COMPONENT = ("Core", "Graphics") + +with Files("*IMContextWrapper*"): + BUG_COMPONENT = ("Core", "DOM: UI Events & Focus Handling") + +with Files("*nsGtkKeyUtils*"): + BUG_COMPONENT = ("Core", "DOM: UI Events & Focus Handling") + +if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk": + DIRS += ["mozgtk"] + +if CONFIG["MOZ_WAYLAND"]: + DIRS += ["wayland", "mozwayland"] + +EXPORTS += [ + "MozContainer.h", + "nsGTKToolkit.h", + "nsIImageToPixbuf.h", +] + +EXPORTS.mozilla += ["WidgetUtilsGtk.h"] + +UNIFIED_SOURCES += [ + "IMContextWrapper.cpp", + "MozContainer.cpp", + "MPRISServiceHandler.cpp", + "NativeKeyBindings.cpp", + "nsAppShell.cpp", + "nsBidiKeyboard.cpp", + "nsColorPicker.cpp", + "nsFilePicker.cpp", + "nsGtkKeyUtils.cpp", + "nsImageToPixbuf.cpp", + "nsLookAndFeel.cpp", + "nsNativeBasicThemeGTK.cpp", + "nsNativeThemeGTK.cpp", + "nsSound.cpp", + "nsToolkit.cpp", + "nsWidgetFactory.cpp", + "ScreenHelperGTK.cpp", + "TaskbarProgress.cpp", + "WakeLockListener.cpp", + "WidgetTraceEvent.cpp", + "WidgetUtilsGtk.cpp", +] + +SOURCES += [ + "MediaKeysEventSourceFactory.cpp", + "nsWindow.cpp", # conflicts with X11 headers + "WaylandVsyncSource.cpp", # conflicts with X11 headers +] + +if CONFIG["MOZ_X11"]: + UNIFIED_SOURCES += [ + "CompositorWidgetChild.cpp", + "CompositorWidgetParent.cpp", + "GtkCompositorWidget.cpp", + "InProcessGtkCompositorWidget.cpp", + "nsUserIdleServiceGTK.cpp", + ] + EXPORTS.mozilla.widget += [ + "CompositorWidgetChild.h", + "CompositorWidgetParent.h", + "GtkCompositorWidget.h", + "InProcessGtkCompositorWidget.h", + ] + +if CONFIG["NS_PRINTING"]: + UNIFIED_SOURCES += [ + "nsDeviceContextSpecG.cpp", + "nsPrintDialogGTK.cpp", + "nsPrintSettingsGTK.cpp", + "nsPrintSettingsServiceGTK.cpp", + ] + +if CONFIG["MOZ_X11"]: + UNIFIED_SOURCES += [ + "nsClipboard.cpp", + "nsClipboardX11.cpp", + "nsDragService.cpp", + "WindowSurfaceProvider.cpp", + "WindowSurfaceX11.cpp", + "WindowSurfaceX11Image.cpp", + "WindowSurfaceXRender.cpp", + ] + EXPORTS.mozilla.widget += [ + "WindowSurfaceProvider.h", + ] + +if CONFIG["MOZ_WAYLAND"]: + UNIFIED_SOURCES += [ + "DMABufLibWrapper.cpp", + "DMABufSurface.cpp", + "MozContainerWayland.cpp", + "nsClipboardWayland.cpp", + "nsWaylandDisplay.cpp", + "WindowSurfaceWayland.cpp", + ] + EXPORTS.mozilla.widget += [ + "DMABufLibWrapper.h", + "DMABufSurface.h", + "MozContainerWayland.h", + "nsWaylandDisplay.h", + ] + +if CONFIG["ACCESSIBILITY"]: + UNIFIED_SOURCES += [ + "maiRedundantObjectFactory.c", + ] + +UNIFIED_SOURCES += [ + "gtk3drawing.cpp", + "nsApplicationChooser.cpp", + "WidgetStyleCache.cpp", +] + +XPCOM_MANIFESTS += [ + "components.conf", +] + +include("/ipc/chromium/chromium-config.mozbuild") + +FINAL_LIBRARY = "xul" + +LOCAL_INCLUDES += [ + "/layout/base", + "/layout/forms", + "/layout/generic", + "/layout/xul", + "/other-licenses/atk-1.0", + "/third_party/cups/include", + "/widget", + "/widget/headless", +] + +if CONFIG["MOZ_X11"]: + LOCAL_INCLUDES += [ + "/widget/x11", + ] + +DEFINES["CAIRO_GFX"] = True + +DEFINES["MOZ_APP_NAME"] = '"%s"' % CONFIG["MOZ_APP_NAME"] + +# When building with GTK3, the widget code always needs to use +# system Cairo headers, regardless of whether we are also linked +# against and using in-tree Cairo. By not using in-tree Cairo +# headers, we avoid picking up our renamed symbols, and instead +# use only system Cairo symbols that GTK3 uses. This allows that +# any Cairo objects created can be freely passed back and forth +# between the widget code and GTK3. +if not (CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk" and CONFIG["MOZ_TREE_CAIRO"]): + CXXFLAGS += CONFIG["MOZ_CAIRO_CFLAGS"] + +CFLAGS += CONFIG["TK_CFLAGS"] +CXXFLAGS += CONFIG["TK_CFLAGS"] + +if CONFIG["MOZ_WAYLAND"]: + CFLAGS += CONFIG["MOZ_WAYLAND_CFLAGS"] + CXXFLAGS += CONFIG["MOZ_WAYLAND_CFLAGS"] + +if CONFIG["MOZ_ENABLE_DBUS"]: + CXXFLAGS += CONFIG["MOZ_DBUS_GLIB_CFLAGS"] + +CXXFLAGS += ["-Wno-error=shadow"] |