diff options
Diffstat (limited to '')
-rw-r--r-- | widget/cocoa/moz.build | 184 |
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 |