зеркало из https://github.com/mozilla/gecko-dev.git
179 строки
4.5 KiB
Python
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"]
|