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