# -*- 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']

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

EXPORTS.mozilla.dom += [
    'TCPServerSocket.h',
    'TCPSocket.h',
    'UDPSocket.h',
]

EXPORTS.mozilla.dom.network += [
    'Connection.h',
    'Constants.h',
    'TCPServerSocketChild.h',
    'TCPServerSocketParent.h',
    'TCPSocketChild.h',
    'TCPSocketParent.h',
    'Types.h',
    'UDPSocketChild.h',
    'UDPSocketParent.h',
]

UNIFIED_SOURCES += [
    'Connection.cpp',
    'TCPServerSocket.cpp',
    'TCPServerSocketChild.cpp',
    'TCPServerSocketParent.cpp',
    'TCPSocket.cpp',
    'TCPSocketChild.cpp',
    'TCPSocketParent.cpp',
    'UDPSocket.cpp',
    'UDPSocketChild.cpp',
    'UDPSocketParent.cpp',
]

if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk':
    EXTRA_JS_MODULES += [
        'NetworkStatsDB.jsm',
        'NetworkStatsService.jsm',
    ]

if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gonk':
    EXTRA_COMPONENTS += [
        'EthernetManager.js',
        'EthernetManager.manifest',
        'NetworkStatsManager.js',
        'NetworkStatsManager.manifest',
        'NetworkStatsServiceProxy.js',
        'NetworkStatsServiceProxy.manifest',
    ]
    EXPORTS.mozilla.dom.network += [
        'NetUtils.h',
    ]
    UNIFIED_SOURCES += [
        'NetUtils.cpp',
    ]

IPDL_SOURCES += [
    'PTCPServerSocket.ipdl',
    'PTCPSocket.ipdl',
    'PUDPSocket.ipdl',
]

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

FINAL_LIBRARY = 'xul'

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