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

mtransport_lcppsrcs = [
    'dtlsidentity.cpp',
    'nr_socket_prsock.cpp',
    'nr_timer.cpp',
    'nricectx.cpp',
    'nricectxhandler.cpp',
    'nricemediastream.cpp',
    'nriceresolver.cpp',
    'nriceresolverfake.cpp',
    'nrinterfaceprioritizer.cpp',
    'rlogconnector.cpp',
    'simpletokenbucket.cpp',
    'stun_socket_filter.cpp',
    'test_nr_socket.cpp',
    'transportflow.cpp',
    'transportlayer.cpp',
    'transportlayerdtls.cpp',
    'transportlayerice.cpp',
    'transportlayerlog.cpp',
    'transportlayerloopback.cpp',
    'transportlayerprsock.cpp',
]

if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk':
    mtransport_lcppsrcs += [
        'gonk_addrs.cpp',
    ]

mtransport_cppsrcs = [
    '/media/mtransport/%s' % s for s in sorted(mtransport_lcppsrcs)
]

LOCAL_INCLUDES += [
    '/media/mtransport/',
    '/media/mtransport/third_party/',
    '/media/mtransport/third_party/nICEr/src/crypto',
    '/media/mtransport/third_party/nICEr/src/ice',
    '/media/mtransport/third_party/nICEr/src/net',
    '/media/mtransport/third_party/nICEr/src/stun',
    '/media/mtransport/third_party/nICEr/src/util',
    '/media/mtransport/third_party/nrappkit/src/event',
    '/media/mtransport/third_party/nrappkit/src/log',
    '/media/mtransport/third_party/nrappkit/src/plugin',
    '/media/mtransport/third_party/nrappkit/src/port/generic/include',
    '/media/mtransport/third_party/nrappkit/src/registry',
    '/media/mtransport/third_party/nrappkit/src/share',
    '/media/mtransport/third_party/nrappkit/src/stats',
    '/media/mtransport/third_party/nrappkit/src/util/libekr',
]

if CONFIG['OS_TARGET'] in ['Darwin', 'DragonFly', 'FreeBSD', 'NetBSD', 'OpenBSD']:
    if CONFIG['OS_TARGET'] == 'Darwin':
        DEFINES['DARWIN'] = True
    else:
        DEFINES['BSD'] = True
    LOCAL_INCLUDES += [
        '/media/mtransport/third_party/nrappkit/src/port/darwin/include',
    ]
elif CONFIG['OS_TARGET'] == 'Linux':
    DEFINES['LINUX'] = True
    LOCAL_INCLUDES += [
        '/media/mtransport/third_party/nrappkit/src/port/linux/include',
    ]
elif CONFIG['OS_TARGET'] == 'Android':
    DEFINES['LINUX'] = True
    DEFINES['ANDROID'] = True
    LOCAL_INCLUDES += [
        '/media/mtransport/third_party/nrappkit/src/port/android/include',
    ]
elif CONFIG['OS_TARGET'] == 'WINNT':
    DEFINES['WIN'] = True
    # for stun.h
    DEFINES['WIN32'] = True
    LOCAL_INCLUDES += [
        '/media/mtransport/third_party/nrappkit/src/port/win32/include',
    ]

for var in ('HAVE_STRDUP', 'NR_SOCKET_IS_VOID_PTR'):
    DEFINES[var] = True

DEFINES['R_DEFINED_INT2'] = 'int16_t'
DEFINES['R_DEFINED_UINT2'] = 'uint16_t'
DEFINES['R_DEFINED_INT4'] = 'int32_t'
DEFINES['R_DEFINED_UINT4'] = 'uint32_t'
DEFINES['R_DEFINED_INT8'] = 'int64_t'
DEFINES['R_DEFINED_UINT8'] = 'uint64_t'

if CONFIG['GNU_CXX']:
    CXXFLAGS += ['-Wno-error=shadow']