Bug 1073336 part 12 - Add AnimationPlayer::GetCollection(); r=dbaron
[gecko.git] / widget / moz.build
blob26dcab0ca1b22d1f3fe02e965e8af7a5b519b5ca
1 # -*- Mode: python; c-basic-offset: 4; 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 toolkit = CONFIG['MOZ_WIDGET_TOOLKIT']
9 if toolkit in ('cocoa', 'qt', 'android', 'gonk'):
10     DIRS += [toolkit]
11 if toolkit in ('qt', 'android', 'gonk', 'gtk2', 'gtk3'):
12     EXPORTS += ['nsIPrintDialogService.h']
14 if toolkit == 'windows':
15     DIRS += ['windows']
17     XPIDL_SOURCES += [
18         'nsIJumpListBuilder.idl',
19         'nsIJumpListItem.idl',
20         'nsIPrintSettingsWin.idl',
21         'nsITaskbarOverlayIconController.idl',
22         'nsITaskbarPreview.idl',
23         'nsITaskbarPreviewButton.idl',
24         'nsITaskbarPreviewController.idl',
25         'nsITaskbarProgress.idl',
26         'nsITaskbarTabPreview.idl',
27         'nsITaskbarWindowPreview.idl',
28         'nsIWinTaskbar.idl',
29     ]
30 elif toolkit == 'cocoa':
31     XPIDL_SOURCES += [
32         'nsIMacDockSupport.idl',
33         'nsIMacWebAppUtils.idl',
34         'nsIStandaloneNativeMenu.idl',
35         'nsISystemStatusBar.idl',
36         'nsITaskbarProgress.idl',
37     ]
38     EXPORTS += [
39         'nsINativeMenuService.h',
40         'nsIPrintDialogService.h',
41     ]
43 TEST_DIRS += ['tests']
45 # Don't build the DSO under the 'build' directory as windows does.
47 # The DSOs get built in the toolkit dir itself.  Do this so that
48 # multiple implementations of widget can be built on the same
49 # source tree.
51 if CONFIG['MOZ_ENABLE_GTK']:
52     DIRS += ['gtk']
54     if CONFIG['MOZ_X11']:
55         DIRS += ['gtkxtbin']
57 XPIDL_SOURCES += [
58     'nsIAppShell.idl',
59     'nsIBaseWindow.idl',
60     'nsIBidiKeyboard.idl',
61     'nsIClipboard.idl',
62     'nsIClipboardDragDropHookList.idl',
63     'nsIClipboardDragDropHooks.idl',
64     'nsIClipboardHelper.idl',
65     'nsIClipboardOwner.idl',
66     'nsIColorPicker.idl',
67     'nsIDragService.idl',
68     'nsIDragSession.idl',
69     'nsIFilePicker.idl',
70     'nsIFormatConverter.idl',
71     'nsIGfxInfo.idl',
72     'nsIGfxInfoDebug.idl',
73     'nsIIdleService.idl',
74     'nsIIdleServiceInternal.idl',
75     'nsIIMEPicker.idl',
76     'nsIPrintOptions.idl',
77     'nsIPrintSession.idl',
78     'nsIPrintSettings.idl',
79     'nsIPrintSettingsService.idl',
80     'nsIScreen.idl',
81     'nsIScreenManager.idl',
82     'nsISound.idl',
83     'nsITransferable.idl',
86 if CONFIG['MOZ_METRO']:
87     XPIDL_SOURCES += [
88         'MetroUIUtils.idl',
89         'nsIWinMetroUtils.idl',
90     ]
92 XPIDL_MODULE = 'widget'
94 EXPORTS += [
95     'ContentHelper.h',
96     'GfxDriverInfo.h',
97     'GfxInfoBase.h',
98     'GfxInfoCollector.h',
99     'InputData.h',
100     'nsBaseScreen.h',
101     'nsBaseWidget.h',
102     'nsIDeviceContextSpec.h',
103     'nsIPluginWidget.h',
104     'nsIRollupListener.h',
105     'nsIWidget.h',
106     'nsIWidgetListener.h',
107     'nsPrintOptionsImpl.h',
108     'nsWidgetInitData.h',
109     'nsWidgetsCID.h',
110     'PluginWidgetProxy.h',
111     'PuppetWidget.h',
114 EXPORTS.mozilla += [
115     'BasicEvents.h',
116     'CommandList.h',
117     'ContentEvents.h',
118     'EventClassList.h',
119     'EventForwards.h',
120     'LookAndFeel.h',
121     'MiscEvents.h',
122     'MouseEvents.h',
123     'TextEvents.h',
124     'TextRange.h',
125     'TouchEvents.h',
126     'VsyncDispatcher.h',
127     'WidgetUtils.h',
130 UNIFIED_SOURCES += [
131     'ContentHelper.cpp',
132     'GfxDriverInfo.cpp',
133     'GfxInfoBase.cpp',
134     'GfxInfoCollector.cpp',
135     'GfxInfoWebGL.cpp',
136     'InputData.cpp',
137     'nsBaseAppShell.cpp',
138     'nsBaseDragService.cpp',
139     'nsBaseScreen.cpp',
140     'nsClipboardHelper.cpp',
141     'nsClipboardProxy.cpp',
142     'nsColorPickerProxy.cpp',
143     'nsContentProcessWidgetFactory.cpp',
144     'nsFilePickerProxy.cpp',
145     'nsHTMLFormatConverter.cpp',
146     'nsIdleService.cpp',
147     'nsIWidgetListener.cpp',
148     'nsPrimitiveHelpers.cpp',
149     'nsPrintOptionsImpl.cpp',
150     'nsPrintSession.cpp',
151     'nsPrintSettingsImpl.cpp',
152     'nsScreenManagerProxy.cpp',
153     'nsShmImage.cpp',
154     'nsTransferable.cpp',
155     'nsXPLookAndFeel.cpp',
156     'PluginWidgetProxy.cpp',
157     'PuppetWidget.cpp',
158     'ScreenProxy.cpp',
159     'SharedWidgetUtils.cpp',
160     'VsyncDispatcher.cpp',
161     'WidgetEventImpl.cpp',
162     'WidgetUtils.cpp',
165 # nsBaseWidget.cpp needs to be built separately because of name clashes in the OS X headers
166 SOURCES += [
167     'nsBaseWidget.cpp',
170 if CONFIG['MOZ_INSTRUMENT_EVENT_LOOP']:
171     EXPORTS.mozilla += [
172         'WidgetTraceEvent.h',
173     ]
175 EXPORTS.ipc = ['nsGUIEventIPC.h']
177 if CONFIG['MOZ_X11']:
178     DIRS += ['x11']
179     UNIFIED_SOURCES += [
180         'GfxInfoX11.cpp'
181     ]
183 if toolkit in ('cocoa', 'windows'):
184     UNIFIED_SOURCES += [
185         'nsBaseClipboard.cpp',
186     ]
188 if toolkit in ('qt', 'gtk2', 'gtk3', 'cocoa', 'windows',
189                                     'android', 'gonk'):
190     UNIFIED_SOURCES += [
191         'nsBaseFilePicker.cpp',
192     ]
194 if toolkit in ('qt', 'gtk2', 'gtk3', 'windows', 'cocoa'):
195     UNIFIED_SOURCES += [
196         'nsNativeTheme.cpp',
197     ]
199 if not CONFIG['MOZ_B2G']:
200     DEFINES['MOZ_CROSS_PROCESS_IME'] = True
202 FAIL_ON_WARNINGS = True
204 MSVC_ENABLE_PGO = True
206 include('/ipc/chromium/chromium-config.mozbuild')
208 LOCAL_INCLUDES += [
209     '/layout/base',
210     '/layout/forms',
211     '/layout/generic',
212     '/layout/xul',
213     '/view',
214     '/widget',
217 widget_dir = toolkit
218 if widget_dir in ('gtk3', 'gtk2'):
219     # gtk3 shares includes with gtk2
220     widget_dir = 'gtk'
222 LOCAL_INCLUDES += [
223     '/widget/%s' % widget_dir,
225 FINAL_LIBRARY = 'xul'
227 if CONFIG['MOZ_ENABLE_D3D10_LAYER']:
228     DEFINES['MOZ_ENABLE_D3D10_LAYER'] = True
230 CXXFLAGS += CONFIG['TK_CFLAGS']