widget/windows/moz.build
author David Major <dmajor@mozilla.com>
Mon, 09 Jul 2018 18:22:45 -0400
changeset 425566 827519f9d0326f76f524061cddff306a56f51255
parent 410659 19142efa84a5b041c193b311ff06838e94d1c154
child 428161 fef4321d9525fa0ba17dedc3085b246f9596e77b
permissions -rw-r--r--
Bug 1463190 - Add forced-MSVC builds to CI to keep that platform green. r=ted

# -*- 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.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',
]

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 += [
    '/gfx/skia/skia/include/config',
    '/gfx/skia/skia/include/core',
    '/modules/pdfium/pdfium/public',
  ]
  TEST_DIRS += ['gtest']

LOCAL_INCLUDES += [
    '/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'):
    # C5038: Suppress initializer list order warnings from wrl.h
    SOURCES['WindowsUIUtils.cpp'].flags += ['-wd5038']