# -*- 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") with Files("*CompositorWidget*"): BUG_COMPONENT = ("Core", "Graphics") TEST_DIRS += ['tests'] EXPORTS += [ 'nsdefs.h', 'WindowHook.h', 'WinUtils.h', ] EXPORTS.mozilla += [ 'WinHeaderOnlyUtils.h', ] EXPORTS.mozilla.widget += [ 'AudioSession.h', 'CompositorWidgetChild.h', 'CompositorWidgetParent.h', 'InProcessWinCompositorWidget.h', 'PDFiumChild.h', 'PDFiumEngineShim.h', 'PDFiumParent.h', 'PDFiumProcessChild.h', 'PDFiumProcessParent.h', 'PDFViaEMFPrintHelper.h', 'WinCompositorWidget.h', 'WinCompositorWindowThread.h', 'WindowsEMF.h', 'WinMessages.h', 'WinModifierKeyState.h', 'WinNativeEventData.h', ] UNIFIED_SOURCES += [ 'AudioSession.cpp', 'CompositorWidgetChild.cpp', 'CompositorWidgetParent.cpp', 'GfxInfo.cpp', 'IEnumFE.cpp', 'IMMHandler.cpp', 'InkCollector.cpp', 'InProcessWinCompositorWidget.cpp', 'JumpListItem.cpp', 'KeyboardLayout.cpp', 'LSPAnnotator.cpp', 'nsAppShell.cpp', 'nsClipboard.cpp', 'nsColorPicker.cpp', 'nsDataObj.cpp', 'nsDataObjCollection.cpp', 'nsDragService.cpp', 'nsIdleServiceWin.cpp', 'nsImageClipboard.cpp', 'nsLookAndFeel.cpp', 'nsNativeDragSource.cpp', 'nsNativeDragTarget.cpp', 'nsNativeThemeWin.cpp', 'nsSound.cpp', 'nsToolkit.cpp', 'nsUXThemeData.cpp', 'nsWindow.cpp', 'nsWindowBase.cpp', 'nsWindowDbg.cpp', 'nsWindowGfx.cpp', 'nsWinGesture.cpp', 'ScreenHelperWin.cpp', 'TaskbarPreview.cpp', 'TaskbarPreviewButton.cpp', 'TaskbarTabPreview.cpp', 'TaskbarWindowPreview.cpp', 'WidgetTraceEvent.cpp', 'WinCompositorWindowThread.cpp', 'WindowHook.cpp', 'WinIMEHandler.cpp', 'WinPointerEvents.cpp', 'WinTaskbar.cpp', 'WinTextEventDispatcherListener.cpp', 'WinUtils.cpp', ] # The following files cannot be built in unified mode because of name clashes. SOURCES += [ 'JumpListBuilder.cpp', 'nsBidiKeyboard.cpp', 'nsFilePicker.cpp', 'nsWidgetFactory.cpp', 'WinCompositorWidget.cpp', 'WindowsUIUtils.cpp', 'WinMouseScrollHandler.cpp', ] # Needs INITGUID and we don't allow INITGUID in unified sources since bug 970429. SOURCES += [ 'InputDeviceUtils.cpp', ] if CONFIG['NS_PRINTING']: UNIFIED_SOURCES += [ 'nsDeviceContextSpecWin.cpp', 'nsPrintDialogUtil.cpp', 'nsPrintDialogWin.cpp', 'nsPrintSettingsServiceWin.cpp', 'nsPrintSettingsWin.cpp', ] if CONFIG['MOZ_ENABLE_SKIA_PDF']: DIRS += ['/modules/pdfium'] IPDL_SOURCES += [ 'PPDFium.ipdl', ] UNIFIED_SOURCES += [ 'PDFiumChild.cpp', 'PDFiumEngineShim.cpp', 'PDFiumParent.cpp', 'PDFiumProcessChild.cpp', 'PDFiumProcessParent.cpp', 'PDFViaEMFPrintHelper.cpp', 'WindowsEMF.cpp', ] if CONFIG['NS_ENABLE_TSF']: SOURCES += [ 'TSFTextStore.cpp', ] include('/ipc/chromium/chromium-config.mozbuild') FINAL_LIBRARY = 'xul' if CONFIG['MOZ_ENABLE_SKIA_PDF']: LOCAL_INCLUDES += CONFIG['SKIA_INCLUDES'] LOCAL_INCLUDES += [ '/modules/pdfium/pdfium/public', ] TEST_DIRS += ['gtest'] LOCAL_INCLUDES += [ '/layout/forms', '/layout/generic', '/layout/xul', '/toolkit/xre', '/widget', '/widget/headless', '/xpcom/base', ] DEFINES['MOZ_UNICODE'] = True for var in ('MOZ_ENABLE_D3D10_LAYER'): if CONFIG[var]: DEFINES[var] = True RESFILE = 'widget.res' CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS'] OS_LIBS += [ 'rpcrt4', ] if CONFIG['CC_TYPE'] in ('msvc', 'clang-cl'): SOURCES += [ 'ToastNotification.cpp', 'ToastNotificationHandler.cpp', ] # C5038: Suppress initializer list order warnings from wrl.h SOURCES['ToastNotification.cpp'].flags += ['-wd5038'] SOURCES['ToastNotificationHandler.cpp'].flags += ['-wd5038'] SOURCES['WindowsUIUtils.cpp'].flags += ['-wd5038'] if CONFIG['CC_TYPE'] == 'clang-cl': AllowCompilerWarnings() # workaround for bug 1090497