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

DIRS += ['interfaces', 'provider']

XPCSHELL_TESTS_MANIFESTS += ['tests/xpcshell/xpcshell.ini']
MOCHITEST_MANIFESTS += ['tests/mochitest/mochitest.ini']
MOCHITEST_CHROME_MANIFESTS += ['tests/mochitest/chrome.ini']

EXPORTS.mozilla.dom += [
    'DCPresentationChannelDescription.h',
    'ipc/PresentationBuilderChild.h',
    'ipc/PresentationBuilderParent.h',
    'ipc/PresentationChild.h',
    'ipc/PresentationIPCService.h',
    'ipc/PresentationParent.h',
    'Presentation.h',
    'PresentationAvailability.h',
    'PresentationCallbacks.h',
    'PresentationConnection.h',
    'PresentationConnectionList.h',
    'PresentationDeviceManager.h',
    'PresentationReceiver.h',
    'PresentationRequest.h',
    'PresentationService.h',
    'PresentationServiceBase.h',
    'PresentationSessionInfo.h',
    'PresentationTCPSessionTransport.h',
]

UNIFIED_SOURCES += [
    'AvailabilityCollection.cpp',
    'ControllerConnectionCollection.cpp',
    'DCPresentationChannelDescription.cpp',
    'ipc/PresentationBuilderChild.cpp',
    'ipc/PresentationBuilderParent.cpp',
    'ipc/PresentationChild.cpp',
    'ipc/PresentationContentSessionInfo.cpp',
    'ipc/PresentationIPCService.cpp',
    'ipc/PresentationParent.cpp',
    'Presentation.cpp',
    'PresentationAvailability.cpp',
    'PresentationCallbacks.cpp',
    'PresentationConnection.cpp',
    'PresentationConnectionList.cpp',
    'PresentationDeviceManager.cpp',
    'PresentationReceiver.cpp',
    'PresentationRequest.cpp',
    'PresentationService.cpp',
    'PresentationSessionInfo.cpp',
    'PresentationSessionRequest.cpp',
    'PresentationTCPSessionTransport.cpp',
    'PresentationTerminateRequest.cpp',
    'PresentationTransportBuilderConstructor.cpp'
]

EXTRA_COMPONENTS += [
    'PresentationDataChannelSessionTransport.js',
    'PresentationDataChannelSessionTransport.manifest',
    'PresentationDeviceInfoManager.js',
    'PresentationDeviceInfoManager.manifest',
]

if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'android':
    EXTRA_COMPONENTS += [
        'PresentationNetworkHelper.js',
        'PresentationNetworkHelper.manifest',
    ]

EXTRA_JS_MODULES += [
    'PresentationDeviceInfoManager.jsm',
]

IPDL_SOURCES += [
    'ipc/PPresentation.ipdl',
    'ipc/PPresentationBuilder.ipdl',
    'ipc/PPresentationRequest.ipdl'
]

LOCAL_INCLUDES += [
    '../base'
]

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

FINAL_LIBRARY = 'xul'