widget/windows/moz.build
author Masatoshi Kimura <VYV03354@nifty.ne.jp>
Tue, 31 Jul 2018 22:10:07 +0900
changeset 485348 997fd8419a4b28cdaaf3263e88dcad585ccfb101
parent 484986 f7f4ba3486b5e44b6ccdc3b150f5aa0aab76ffb7
child 491916 3db29a8264102b7afedd9fcd09c00cf974ba5786
permissions -rw-r--r--
Bug 1090497 - Re-enable warnings as errors on clang-cl. r=froydnj

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

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']

if CONFIG['CC_TYPE'] == 'clang-cl':
    AllowCompilerWarnings()  # workaround for bug 1090497