# -*- 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") XPIDL_SOURCES += [ 'nsPIWidgetCocoa.idl', ] XPIDL_MODULE = 'widget_cocoa' EXPORTS += [ 'mozView.h', 'nsBidiKeyboard.h', 'nsChangeObserver.h', 'nsCocoaDebugUtils.h', 'nsCocoaFeatures.h', 'nsCocoaUtils.h', ] UNIFIED_SOURCES += [ 'ComplexTextInputPanel.mm', 'GfxInfo.mm', 'NativeKeyBindings.mm', 'nsAppShell.mm', 'nsBidiKeyboard.mm', 'nsCocoaFeatures.mm', 'nsCocoaUtils.mm', 'nsCocoaWindow.mm', 'nsColorPicker.mm', 'nsCursorManager.mm', 'nsDeviceContextSpecX.mm', 'nsFilePicker.mm', 'nsIdleServiceX.mm', 'nsLookAndFeel.mm', 'nsMacCursor.mm', 'nsMacDockSupport.mm', 'nsMacSharingService.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', 'nsTouchBarUpdater.mm', 'nsWidgetFactory.mm', 'nsWindowMap.mm', 'OSXNotificationCenter.mm', 'RectTextureImage.mm', 'ScreenHelperCocoa.mm', 'SwipeTracker.mm', 'TextInputHandler.mm', 'VibrancyManager.mm', 'ViewRegion.mm', 'WidgetTraceEvent.mm', ] # These files cannot be built in unified mode because they cause symbol conflicts SOURCES += [ 'nsChildView.mm', 'nsClipboard.mm', 'nsCocoaDebugUtils.mm', 'nsDragService.mm', 'nsNativeThemeCocoa.mm', ] if not CONFIG['RELEASE_OR_BETA'] or CONFIG['MOZ_DEBUG']: SOURCES += [ 'nsSandboxViolationSink.mm', ] include('/ipc/chromium/chromium-config.mozbuild') FINAL_LIBRARY = 'xul' LOCAL_INCLUDES += [ '/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', ] RESOURCE_FILES.touchbar += [ 'touchbar/back.pdf', 'touchbar/bookmark-filled.pdf', 'touchbar/bookmark.pdf', 'touchbar/forward.pdf', 'touchbar/fullscreen.pdf', 'touchbar/home.pdf', 'touchbar/new.pdf', 'touchbar/private-browsing.pdf', 'touchbar/reader-mode.pdf', 'touchbar/refresh.pdf', 'touchbar/search.pdf', 'touchbar/share.pdf', 'touchbar/sidebar-left.pdf', 'touchbar/sidebar-right.pdf', ] # 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', ]) CXXFLAGS += CONFIG['TK_CFLAGS']