gecko-dev/widget/gtk/moz.build

179 строки
4.5 KiB
Python

# -*- 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"]