gecko-dev/widget/cocoa/moz.build

175 строки
4.4 KiB
Python

# -*- 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 += [
'CFTypeRefPtr.h',
'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',
'nsIconLoaderService.mm',
'nsIdleServiceX.mm',
'nsLookAndFeel.mm',
'nsMacCursor.mm',
'nsMacDockSupport.mm',
'nsMacFinderProgress.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',
'ProcInfo.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/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']
OS_LIBS += [
'-framework IOSurface',
]