summaryrefslogtreecommitdiffstats
path: root/widget/cocoa/moz.build
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--widget/cocoa/moz.build184
1 files changed, 184 insertions, 0 deletions
diff --git a/widget/cocoa/moz.build b/widget/cocoa/moz.build
new file mode 100644
index 0000000000..ac541cc4c5
--- /dev/null
+++ b/widget/cocoa/moz.build
@@ -0,0 +1,184 @@
+# -*- 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: Cocoa")
+ SCHEDULES.exclusive = ["macosx"]
+
+with Files("*TextInput*"):
+ BUG_COMPONENT = ("Core", "DOM: UI Events & Focus Handling")
+
+XPIDL_SOURCES += [
+ "nsPIWidgetCocoa.idl",
+]
+
+XPIDL_MODULE = "widget_cocoa"
+
+EXPORTS += [
+ "CFTypeRefPtr.h",
+ "DesktopBackgroundImage.h",
+ "MediaHardwareKeysEventSourceMac.h",
+ "MediaHardwareKeysEventSourceMacMediaCenter.h",
+ "mozView.h",
+ "nsBidiKeyboard.h",
+ "nsChangeObserver.h",
+ "nsCocoaFeatures.h",
+ "nsCocoaUtils.h",
+ "SDKDeclarations.h",
+]
+
+UNIFIED_SOURCES += [
+ "AppearanceOverride.mm",
+ "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",
+ "WidgetTraceEvent.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"
+
+REQUIRES_UNIFIED_BUILD = True