Source code

Revision control

Copy as Markdown

Other Tools

# -*- 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: Win32")
SCHEDULES.exclusive = ["windows"]
with Files("*CompositorWidget*"):
BUG_COMPONENT = ("Core", "Graphics")
with Files("*IMEHandler*"):
BUG_COMPONENT = ("Core", "DOM: UI Events & Focus Handling")
with Files("*IMMHandler*"):
BUG_COMPONENT = ("Core", "DOM: UI Events & Focus Handling")
with Files("*KeyboardLayout*"):
BUG_COMPONENT = ("Core", "DOM: UI Events & Focus Handling")
with Files("OSK*"):
BUG_COMPONENT = ("Core", "DOM: UI Events & Focus Handling")
with Files("*TSFTextStore*"):
BUG_COMPONENT = ("Core", "DOM: UI Events & Focus Handling")
DIRS += [
"filedialog",
]
TEST_DIRS += ["tests"]
EXPORTS += [
"nsdefs.h",
"WindowHook.h",
"WinUtils.h",
]
EXPORTS.mozilla += [
"ScreenHelperWin.h",
"ShellHeaderOnlyUtils.h",
"ToastNotificationHeaderOnlyUtils.h",
"UrlmonHeaderOnlyUtils.h",
"WindowsConsole.h",
"WindowsEventLog.h",
"WinHeaderOnlyUtils.h",
]
EXPORTS.mozilla.widget += [
"AudioSession.h",
"CompositorWidgetChild.h",
"CompositorWidgetParent.h",
"InProcessWinCompositorWidget.h",
"JumpListBuilder.h",
"nsWindowLoggedMessages.h",
"WinCompositorWidget.h",
"WinCompositorWindowThread.h",
"WindowsEMF.h",
"WindowsSMTCProvider.h",
"WinEventObserver.h",
"WinMessages.h",
"WinModifierKeyState.h",
"WinRegistry.h",
"WinTaskbar.h",
"WinWindowOcclusionTracker.h",
]
UNIFIED_SOURCES += [
"AudioSession.cpp",
"CompositorWidgetChild.cpp",
"DirectManipulationOwner.cpp",
"GfxInfo.cpp",
"IEnumFE.cpp",
"IMMHandler.cpp",
"JumpListBuilder.cpp",
"KeyboardLayout.cpp",
"LegacyJumpListItem.cpp",
"LSPAnnotator.cpp",
"nsAppShell.cpp",
"nsClipboard.cpp",
"nsColorPicker.cpp",
"nsDataObj.cpp",
"nsDataObjCollection.cpp",
"nsDragService.cpp",
"nsLookAndFeel.cpp",
"nsNativeDragSource.cpp",
"nsNativeDragTarget.cpp",
"nsNativeThemeWin.cpp",
"nsSound.cpp",
"nsToolkit.cpp",
"nsUserIdleServiceWin.cpp",
"nsUXThemeData.cpp",
"nsWindow.cpp",
"nsWindowDbg.cpp",
"nsWindowGfx.cpp",
"nsWindowLoggedMessages.cpp",
"nsWindowTaskbarConcealer.cpp",
"nsWinGesture.cpp",
"OSKTabTipManager.cpp",
"OSKVRManager.cpp",
"RemoteBackbuffer.cpp",
"ScreenHelperWin.cpp",
"SystemStatusBar.cpp",
"TaskbarPreview.cpp",
"TaskbarPreviewButton.cpp",
"TaskbarTabPreview.cpp",
"TaskbarWindowPreview.cpp",
"WidgetTraceEvent.cpp",
"WinCompositorWindowThread.cpp",
"WindowHook.cpp",
"WindowsConsole.cpp",
"WinEventObserver.cpp",
"WinIMEHandler.cpp",
"WinPointerEvents.cpp",
"WinRegistry.cpp",
"WinTaskbar.cpp",
"WinTextEventDispatcherListener.cpp",
"WinUtils.cpp",
"WinWindowOcclusionTracker.cpp",
]
# The following files cannot be built in unified mode because of name clashes.
SOURCES += [
"CompositorWidgetParent.cpp",
"InProcessWinCompositorWidget.cpp",
"LegacyJumpListBuilder.cpp",
"MediaKeysEventSourceFactory.cpp",
"nsBidiKeyboard.cpp",
"nsFilePicker.cpp",
"nsSharePicker.cpp",
"nsWidgetFactory.cpp",
"OSKInputPaneManager.cpp",
"WinCompositorWidget.cpp",
"WindowsSMTCProvider.cpp",
"WindowsUIUtils.cpp",
"WinMouseScrollHandler.cpp",
]
# Needs INITGUID and we don't allow INITGUID in unified sources since bug 970429.
SOURCES += [
"InputDeviceUtils.cpp",
"TSFTextStore.cpp",
]
if CONFIG["NS_PRINTING"]:
UNIFIED_SOURCES += [
"nsDeviceContextSpecWin.cpp",
"nsPrintDialogWin.cpp",
"nsPrinterWin.cpp",
"nsPrintSettingsServiceWin.cpp",
"nsPrintSettingsWin.cpp",
]
SOURCES += [
"nsPrintDialogUtil.cpp",
]
if CONFIG["MOZ_ENABLE_SKIA_PDF"]:
UNIFIED_SOURCES += [
"WindowsEMF.cpp",
]
XPCOM_MANIFESTS += [
"components.conf",
]
include("/ipc/chromium/chromium-config.mozbuild")
FINAL_LIBRARY = "xul"
if CONFIG["MOZ_ENABLE_SKIA_PDF"]:
LOCAL_INCLUDES += CONFIG["SKIA_INCLUDES"]
LOCAL_INCLUDES += [
"/gfx/cairo/cairo/src",
"/layout/forms",
"/layout/generic",
"/layout/style",
"/layout/xul",
"/toolkit/components/jsoncpp/include",
"/toolkit/xre",
"/widget",
"/widget/headless",
"/xpcom/base",
]
DEFINES["MOZ_UNICODE"] = True
DEFINES["MOZ_APP_NAME"] = '"%s"' % CONFIG["MOZ_APP_NAME"]
# Turn `firefox` into `Firefox`.
DEFINES["MOZ_TOAST_APP_NAME"] = '"%s"' % CONFIG["MOZ_APP_NAME"].title()
for var in ("MOZ_ENABLE_D3D10_LAYER",):
if CONFIG[var]:
DEFINES[var] = True
USE_LIBS += [
"jsoncpp",
]
OS_LIBS += [
"ktmw32",
"rpcrt4",
"urlmon",
]
# mingw is missing Windows toast notification definitions.
if CONFIG["CC_TYPE"] == "clang-cl":
SOURCES += [
"ToastNotification.cpp",
"ToastNotificationHandler.cpp",
]
SPHINX_TREES["/widget/windows"] = "docs"