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

EXPORTS.mozilla.mscom += [
    'Aggregation.h',
    'AgileReference.h',
    'AsyncInvoker.h',
    'COMApartmentRegion.h',
    'COMPtrHolder.h',
    'EnsureMTA.h',
    'MainThreadClientInfo.h',
    'MainThreadRuntime.h',
    'Objref.h',
    'PassthruProxy.h',
    'ProxyStream.h',
    'Ptr.h',
    'Utils.h',
]

SOURCES += [
    'VTableBuilder.c',
]

UNIFIED_SOURCES += [
    'AgileReference.cpp',
    'EnsureMTA.cpp',
    'MainThreadClientInfo.cpp',
    'MainThreadRuntime.cpp',
    'Objref.cpp',
    'PassthruProxy.cpp',
    'ProxyStream.cpp',
    'RegistrationAnnotator.cpp',
    'Utils.cpp',
]

if CONFIG['ACCESSIBILITY']:
    DIRS += [
        'oop',
    ]

    EXPORTS.mozilla.mscom += [
        'ActivationContext.h',
        'DispatchForwarder.h',
        'FastMarshaler.h',
        'IHandlerProvider.h',
        'Interceptor.h',
        'InterceptorLog.h',
        'MainThreadHandoff.h',
        'MainThreadInvoker.h',
        'Registration.h',
        'SpinEvent.h',
        'StructStream.h',
        'WeakRef.h',
    ]

    SOURCES += [
        'Interceptor.cpp',
        'Registration.cpp',
        'SpinEvent.cpp',
        'WeakRef.cpp',
    ]

    UNIFIED_SOURCES += [
        'ActivationContext.cpp',
        'DispatchForwarder.cpp',
        'FastMarshaler.cpp',
        'InterceptorLog.cpp',
        'MainThreadHandoff.cpp',
        'MainThreadInvoker.cpp',
        'StructStream.cpp',
    ]

LOCAL_INCLUDES += [
    '/xpcom/base',
    '/xpcom/build',
]

DEFINES['MOZ_MSCOM_REMARSHAL_NO_HANDLER'] = True

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

FINAL_LIBRARY = 'xul'

with Files("**"):
    BUG_COMPONENT = ("Core", "IPC: MSCOM")
