Bug 1869043 assert that graph set access is main thread only r=padenot
[gecko.git] / widget / cocoa / moz.build
blobebee9439e0fc1b7223a9188f567f53563610e13d
1 # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2 # vim: set filetype=python:
3 # This Source Code Form is subject to the terms of the Mozilla Public
4 # License, v. 2.0. If a copy of the MPL was not distributed with this
5 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
7 with Files("**"):
8     BUG_COMPONENT = ("Core", "Widget: Cocoa")
9     SCHEDULES.exclusive = ["macosx"]
11 with Files("*TextInput*"):
12     BUG_COMPONENT = ("Core", "DOM: UI Events & Focus Handling")
14 XPIDL_SOURCES += [
15     "nsPIWidgetCocoa.idl",
18 XPIDL_MODULE = "widget_cocoa"
20 EXPORTS += [
21     "CFTypeRefPtr.h",
22     "DesktopBackgroundImage.h",
23     "MediaHardwareKeysEventSourceMac.h",
24     "MediaHardwareKeysEventSourceMacMediaCenter.h",
25     "mozView.h",
26     "nsBidiKeyboard.h",
27     "nsChangeObserver.h",
28     "nsCocoaFeatures.h",
29     "nsCocoaUtils.h",
32 UNIFIED_SOURCES += [
33     "AppearanceOverride.mm",
34     "GfxInfo.mm",
35     "MOZIconHelper.mm",
36     "MOZMenuOpeningCoordinator.mm",
37     "NativeKeyBindings.mm",
38     "NativeMenuMac.mm",
39     "NativeMenuSupport.mm",
40     "nsAppShell.mm",
41     "nsBidiKeyboard.mm",
42     "nsCocoaFeatures.mm",
43     "nsCocoaUtils.mm",
44     "nsCocoaWindow.mm",
45     "nsColorPicker.mm",
46     "nsCursorManager.mm",
47     "nsDeviceContextSpecX.mm",
48     "nsFilePicker.mm",
49     "nsLookAndFeel.mm",
50     "nsMacCursor.mm",
51     "nsMacDockSupport.mm",
52     "nsMacFinderProgress.mm",
53     "nsMacSharingService.mm",
54     "nsMacUserActivityUpdater.mm",
55     "nsMacWebAppUtils.mm",
56     "nsMenuBarX.mm",
57     "nsMenuGroupOwnerX.mm",
58     "nsMenuItemIconX.mm",
59     "nsMenuItemX.mm",
60     "nsMenuUtilsX.mm",
61     "nsMenuX.mm",
62     "nsPrintDialogX.mm",
63     "nsPrintSettingsServiceX.mm",
64     "nsPrintSettingsX.mm",
65     "nsSound.mm",
66     "nsStandaloneNativeMenu.mm",
67     "nsSystemStatusBarCocoa.mm",
68     "nsToolkit.mm",
69     "nsTouchBar.mm",
70     "nsTouchBarInput.mm",
71     "nsTouchBarInputIcon.mm",
72     "nsTouchBarUpdater.mm",
73     "nsUserIdleServiceX.mm",
74     "nsWidgetFactory.mm",
75     "nsWindowMap.mm",
76     "OSXNotificationCenter.mm",
77     "ScreenHelperCocoa.mm",
78     "TextInputHandler.mm",
79     "TextRecognition.mm",
80     "VibrancyManager.mm",
81     "ViewRegion.mm",
82     "WidgetTraceEvent.mm",
85 # These files cannot be built in unified mode because they cause symbol conflicts
86 SOURCES += [
87     "DesktopBackgroundImage.mm",
88     "MediaHardwareKeysEventSourceMac.mm",
89     "MediaHardwareKeysEventSourceMacMediaCenter.mm",
90     "MediaKeysEventSourceFactory.cpp",
91     "nsChildView.mm",
92     "nsClipboard.mm",
93     "nsDragService.mm",
94     "nsNativeThemeCocoa.mm",
97 if not CONFIG["RELEASE_OR_BETA"] or CONFIG["MOZ_DEBUG"]:
98     SOURCES += [
99         "nsSandboxViolationSink.mm",
100     ]
102 XPCOM_MANIFESTS += [
103     "components.conf",
106 include("/ipc/chromium/chromium-config.mozbuild")
108 FINAL_LIBRARY = "xul"
109 LOCAL_INCLUDES += [
110     "/dom/events",
111     "/dom/media/platforms/apple",
112     "/layout/base",
113     "/layout/forms",
114     "/layout/generic",
115     "/layout/style",
116     "/layout/xul",
117     "/widget",
118     "/widget/headless",
121 if CONFIG["MOZ_ENABLE_SKIA_PDF"]:
122     # Skia includes because widget code includes PrintTargetSkPDF.h, and that
123     # includes skia headers.
124     LOCAL_INCLUDES += CONFIG["SKIA_INCLUDES"]
126 RESOURCE_FILES.cursors += [
127     "cursors/arrowN.png",
128     "cursors/arrowN@2x.png",
129     "cursors/arrowS.png",
130     "cursors/arrowS@2x.png",
131     "cursors/cell.png",
132     "cursors/cell@2x.png",
133     "cursors/colResize.png",
134     "cursors/colResize@2x.png",
135     "cursors/help.png",
136     "cursors/help@2x.png",
137     "cursors/move.png",
138     "cursors/move@2x.png",
139     "cursors/rowResize.png",
140     "cursors/rowResize@2x.png",
141     "cursors/sizeNE.png",
142     "cursors/sizeNE@2x.png",
143     "cursors/sizeNESW.png",
144     "cursors/sizeNESW@2x.png",
145     "cursors/sizeNS.png",
146     "cursors/sizeNS@2x.png",
147     "cursors/sizeNW.png",
148     "cursors/sizeNW@2x.png",
149     "cursors/sizeNWSE.png",
150     "cursors/sizeNWSE@2x.png",
151     "cursors/sizeSE.png",
152     "cursors/sizeSE@2x.png",
153     "cursors/sizeSW.png",
154     "cursors/sizeSW@2x.png",
155     "cursors/vtIBeam.png",
156     "cursors/vtIBeam@2x.png",
157     "cursors/zoomIn.png",
158     "cursors/zoomIn@2x.png",
159     "cursors/zoomOut.png",
160     "cursors/zoomOut@2x.png",
163 # These resources go in $(DIST)/bin/res/MainMenu.nib, but we can't use a magic
164 # RESOURCE_FILES.MainMenu.nib attribute, since that would put the files in
165 # $(DIST)/bin/res/MainMenu/nib. Instead, we call __setattr__ directly to create
166 # an attribute with the correct name.
167 RESOURCE_FILES.__setattr__(
168     "MainMenu.nib",
169     [
170         "resources/MainMenu.nib/classes.nib",
171         "resources/MainMenu.nib/info.nib",
172         "resources/MainMenu.nib/keyedobjects.nib",
173     ],
176 OS_LIBS += [
177     "-framework IOSurface",
178     "-framework Vision",
181 SPHINX_TREES["/widget/cocoa"] = "docs"