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

IPDL_SOURCES += [
    'ipc/GamepadEventTypes.ipdlh',
    'ipc/PGamepadEventChannel.ipdl',
    'ipc/PGamepadTestChannel.ipdl'
]

EXPORTS.mozilla.dom += [
    'GamepadPoseState.h',
    'ipc/GamepadMessageUtils.h',
    'ipc/GamepadServiceType.h'
]

if CONFIG['MOZ_GAMEPAD']:
    EXPORTS.mozilla.dom += [
        'Gamepad.h',
        'GamepadButton.h',
        'GamepadManager.h',
        'GamepadMonitoring.h',
        'GamepadPlatformService.h',
        'GamepadPose.h',
        'GamepadServiceTest.h',
        'ipc/GamepadEventChannelChild.h',
        'ipc/GamepadEventChannelParent.h',
        'ipc/GamepadTestChannelChild.h',
        'ipc/GamepadTestChannelParent.h'
        ]

    SOURCES = [
        'Gamepad.cpp',
        'GamepadButton.cpp',
        'GamepadManager.cpp',
        'GamepadMonitoring.cpp',
        'GamepadPlatformService.cpp',
        'GamepadPose.cpp',
        'GamepadServiceTest.cpp',
        'ipc/GamepadEventChannelChild.cpp',
        'ipc/GamepadEventChannelParent.cpp',
        'ipc/GamepadTestChannelChild.cpp',
        'ipc/GamepadTestChannelParent.cpp'
        ]

    if CONFIG['MOZ_GAMEPAD_BACKEND'] == 'stub':
        SOURCES += [
            'fallback/FallbackGamepad.cpp'
        ]
    elif CONFIG['MOZ_GAMEPAD_BACKEND'] == 'cocoa':
        SOURCES += [
            'cocoa/CocoaGamepad.cpp'
        ]
    elif CONFIG['MOZ_GAMEPAD_BACKEND'] == 'windows':
        SOURCES += [
            'windows/WindowsGamepad.cpp'
        ]
    elif CONFIG['MOZ_GAMEPAD_BACKEND'] == 'linux':
        SOURCES += [
            'linux/LinuxGamepad.cpp'
        ]
    elif CONFIG['MOZ_GAMEPAD_BACKEND'] == 'android':
        SOURCES += [
            'android/AndroidGamepad.cpp'
        ]

    LOCAL_INCLUDES += [
        'ipc',
    ]

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

    FINAL_LIBRARY = 'xul'
    LOCAL_INCLUDES += [
        '/dom/base',
    ]

    CFLAGS += CONFIG['GLIB_CFLAGS']
    CFLAGS += CONFIG['MOZ_DBUS_GLIB_CFLAGS']
    CXXFLAGS += CONFIG['GLIB_CFLAGS']
    CXXFLAGS += CONFIG['MOZ_DBUS_GLIB_CFLAGS']