Source code
Revision control
Copy as Markdown
Other Tools
# -*- 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
with Files("**"):
BUG_COMPONENT = ("Core", "Widget: Cocoa")
SCHEDULES.exclusive = ["macosx"]
with Files("*TextInput*"):
BUG_COMPONENT = ("Core", "DOM: UI Events & Focus Handling")
EXPORTS += [
"DesktopBackgroundImage.h",
"MediaHardwareKeysEventSourceMac.h",
"MediaHardwareKeysEventSourceMacMediaCenter.h",
"mozView.h",
"nsBidiKeyboard.h",
"nsChangeObserver.h",
"nsCocoaFeatures.h",
"nsCocoaUtils.h",
]
UNIFIED_SOURCES += [
"GfxInfo.mm",
"MOZIconHelper.mm",
"MOZMenuOpeningCoordinator.mm",
"NativeKeyBindings.mm",
"NativeMenuMac.mm",
"NativeMenuSupport.mm",
"nsAppShell.mm",
"nsBidiKeyboard.mm",
"nsCocoaFeatures.mm",
"nsCocoaUtils.mm",
"nsCocoaWindow.mm",
"nsColorPicker.mm",
"nsCursorManager.mm",
"nsDeviceContextSpecX.mm",
"nsFilePicker.mm",
"nsLookAndFeel.mm",
"nsMacCursor.mm",
"nsMacDockSupport.mm",
"nsMacFinderProgress.mm",
"nsMacSharingService.mm",
"nsMacUserActivityUpdater.mm",
"nsMacWebAppUtils.mm",
"nsMenuBarX.mm",
"nsMenuGroupOwnerX.mm",
"nsMenuItemIconX.mm",
"nsMenuItemX.mm",
"nsMenuUtilsX.mm",
"nsMenuX.mm",
"nsPrintDialogX.mm",
"nsPrintSettingsServiceX.mm",
"nsPrintSettingsX.mm",
"nsSound.mm",
"nsStandaloneNativeMenu.mm",
"nsSystemStatusBarCocoa.mm",
"nsToolkit.mm",
"nsTouchBar.mm",
"nsTouchBarInput.mm",
"nsTouchBarInputIcon.mm",
"nsTouchBarUpdater.mm",
"nsUserIdleServiceX.mm",
"nsWidgetFactory.mm",
"nsWindowMap.mm",
"OSXNotificationCenter.mm",
"ScreenHelperCocoa.mm",
"TextInputHandler.mm",
"TextRecognition.mm",
"VibrancyManager.mm",
"ViewRegion.mm",
]
# These files cannot be built in unified mode because they cause symbol conflicts
SOURCES += [
"DesktopBackgroundImage.mm",
"MediaHardwareKeysEventSourceMac.mm",
"MediaHardwareKeysEventSourceMacMediaCenter.mm",
"MediaKeysEventSourceFactory.cpp",
"nsChildView.mm",
"nsClipboard.mm",
"nsDragService.mm",
"nsNativeThemeCocoa.mm",
]
if not CONFIG["RELEASE_OR_BETA"] or CONFIG["MOZ_DEBUG"]:
SOURCES += [
"nsSandboxViolationSink.mm",
]
XPCOM_MANIFESTS += [
"components.conf",
]
include("/ipc/chromium/chromium-config.mozbuild")
FINAL_LIBRARY = "xul"
LOCAL_INCLUDES += [
"/dom/events",
"/dom/media/platforms/apple",
"/layout/base",
"/layout/forms",
"/layout/generic",
"/layout/style",
"/layout/xul",
"/widget",
"/widget/headless",
]
if CONFIG["MOZ_ENABLE_SKIA_PDF"]:
# Skia includes because widget code includes PrintTargetSkPDF.h, and that
# includes skia headers.
LOCAL_INCLUDES += CONFIG["SKIA_INCLUDES"]
RESOURCE_FILES.cursors += [
"cursors/arrowN.png",
"cursors/arrowN@2x.png",
"cursors/arrowS.png",
"cursors/arrowS@2x.png",
"cursors/cell.png",
"cursors/cell@2x.png",
"cursors/colResize.png",
"cursors/colResize@2x.png",
"cursors/help.png",
"cursors/help@2x.png",
"cursors/move.png",
"cursors/move@2x.png",
"cursors/rowResize.png",
"cursors/rowResize@2x.png",
"cursors/sizeNE.png",
"cursors/sizeNE@2x.png",
"cursors/sizeNESW.png",
"cursors/sizeNESW@2x.png",
"cursors/sizeNS.png",
"cursors/sizeNS@2x.png",
"cursors/sizeNW.png",
"cursors/sizeNW@2x.png",
"cursors/sizeNWSE.png",
"cursors/sizeNWSE@2x.png",
"cursors/sizeSE.png",
"cursors/sizeSE@2x.png",
"cursors/sizeSW.png",
"cursors/sizeSW@2x.png",
"cursors/vtIBeam.png",
"cursors/vtIBeam@2x.png",
"cursors/zoomIn.png",
"cursors/zoomIn@2x.png",
"cursors/zoomOut.png",
"cursors/zoomOut@2x.png",
]
# These resources go in $(DIST)/bin/res/MainMenu.nib, but we can't use a magic
# RESOURCE_FILES.MainMenu.nib attribute, since that would put the files in
# $(DIST)/bin/res/MainMenu/nib. Instead, we call __setattr__ directly to create
# an attribute with the correct name.
RESOURCE_FILES.__setattr__(
"MainMenu.nib",
[
"resources/MainMenu.nib/classes.nib",
"resources/MainMenu.nib/info.nib",
"resources/MainMenu.nib/keyedobjects.nib",
],
)
OS_LIBS += [
"-framework IOSurface",
"-framework Vision",
]
SPHINX_TREES["/widget/cocoa"] = "docs"