# -*- 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/.

TEST_DIRS += ['tests']

EXPORTS += [
    'nsdefs.h',
    'WindowHook.h',
    'WinUtils.h',
]

EXPORTS.mozilla.widget += [
    'AudioSession.h',
    'CompositorWidgetChild.h',
    'CompositorWidgetParent.h',
    'InProcessWinCompositorWidget.h',
    'WinCompositorWidget.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',
    'nsAppShell.cpp',
    'nsClipboard.cpp',
    'nsColorPicker.cpp',
    'nsDataObj.cpp',
    'nsDataObjCollection.cpp',
    'nsDragService.cpp',
    'nsIdleServiceWin.cpp',
    'nsImageClipboard.cpp',
    'nsLookAndFeel.cpp',
    'nsNativeDragSource.cpp',
    'nsNativeDragTarget.cpp',
    'nsNativeThemeWin.cpp',
    'nsScreenManagerWin.cpp',
    'nsScreenWin.cpp',
    'nsSound.cpp',
    'nsToolkit.cpp',
    'nsUXThemeData.cpp',
    'nsWindow.cpp',
    'nsWindowBase.cpp',
    'nsWindowDbg.cpp',
    'nsWindowGfx.cpp',
    'nsWinGesture.cpp',
    'TaskbarPreview.cpp',
    'TaskbarPreviewButton.cpp',
    'TaskbarTabPreview.cpp',
    'TaskbarWindowPreview.cpp',
    'WidgetTraceEvent.cpp',
    'WindowHook.cpp',
    'WinIMEHandler.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',
        'nsPrintOptionsWin.cpp',
        'nsPrintSettingsWin.cpp',
    ]

if CONFIG['NS_ENABLE_TSF']:
    SOURCES += [
        'TSFTextStore.cpp',
    ]

include('/ipc/chromium/chromium-config.mozbuild')

FINAL_LIBRARY = 'xul'

LOCAL_INCLUDES += [
    '/layout/generic',
    '/layout/xul',
    '/toolkit/xre',
    '/widget',
    '/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',
]