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

# For BinaryPath::GetLong for Windows
LOCAL_INCLUDES += [
    '/xpcom/build'
]

XPCSHELL_TESTS_MANIFESTS += ['test/unit/xpcshell.ini']
BROWSER_CHROME_MANIFESTS += ['test/browser.ini']
MOCHITEST_CHROME_MANIFESTS += ['test/chrome.ini']

JAR_MANIFESTS += ['jar.mn']

XPIDL_SOURCES += [
    'nsIShellService.idl',
]

if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
    XPIDL_SOURCES += [
        'nsIMacShellService.idl',
    ]
elif 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']:
    XPIDL_SOURCES += [
        'nsIGNOMEShellService.idl',
    ]

XPIDL_MODULE = 'shellservice'

if CONFIG['OS_ARCH'] == 'WINNT':
    SOURCES += [
        'nsWindowsShellService.cpp',
    ]
    LOCAL_INCLUDES += [
        '../../../other-licenses/nsis/Contrib/CityHash/cityhash',
    ]
elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
    SOURCES += [
        'nsMacShellService.cpp',
    ]
elif 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']:
    SOURCES += [
        'nsGNOMEShellService.cpp',
    ]

if SOURCES:
    FINAL_LIBRARY = 'browsercomps'

EXTRA_COMPONENTS += [
    'nsSetDefaultBrowser.js',
    'nsSetDefaultBrowser.manifest',
]

EXTRA_JS_MODULES += [
    'HeadlessShell.jsm',
    'ShellService.jsm',
]

for var in ('MOZ_APP_NAME', 'MOZ_APP_VERSION'):
    DEFINES[var] = '"%s"' % CONFIG[var]

CXXFLAGS += CONFIG['TK_CFLAGS']

with Files('**'):
    BUG_COMPONENT = ('Firefox', 'Shell Integration')
