1# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2# vim: set filetype=python:
3# This Source Code Form is subject to the terms of the Mozilla Public
4# License, v. 2.0. If a copy of the MPL was not distributed with this
5# file, You can obtain one at http://mozilla.org/MPL/2.0/.
6
7# For BinaryPath::GetLong for Windows
8LOCAL_INCLUDES += ["/xpcom/build"]
9
10BROWSER_CHROME_MANIFESTS += ["test/browser.ini"]
11XPCSHELL_TESTS_MANIFESTS += ["test/unit/xpcshell.ini"]
12
13JAR_MANIFESTS += ["jar.mn"]
14
15XPIDL_SOURCES += [
16    "nsIShellService.idl",
17]
18
19if CONFIG["MOZ_WIDGET_TOOLKIT"] == "cocoa":
20    XPIDL_SOURCES += [
21        "nsIMacShellService.idl",
22    ]
23
24    SOURCES += [
25        "nsMacShellService.cpp",
26    ]
27
28    LOCAL_INCLUDES += [
29        # For CocoaFileUtils
30        "/xpcom/io"
31    ]
32elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
33    XPIDL_SOURCES += [
34        "nsIGNOMEShellService.idl",
35    ]
36
37    SOURCES += [
38        "nsGNOMEShellService.cpp",
39    ]
40    if CONFIG["MOZ_ENABLE_DBUS"]:
41        SOURCES += [
42            "nsGNOMEShellDBusHelper.cpp",
43            "nsGNOMEShellSearchProvider.cpp",
44        ]
45        include("/ipc/chromium/chromium-config.mozbuild")
46
47elif CONFIG["OS_ARCH"] == "WINNT":
48    XPIDL_SOURCES += [
49        "nsIWindowsShellService.idl",
50    ]
51    SOURCES += [
52        "nsWindowsShellService.cpp",
53        "WindowsDefaultBrowser.cpp",
54        "WindowsUserChoice.cpp",
55    ]
56    LOCAL_INCLUDES += [
57        "../../../other-licenses/nsis/Contrib/CityHash/cityhash",
58    ]
59    OS_LIBS += [
60        "bcrypt",
61        "crypt32",
62        "propsys",
63    ]
64
65XPIDL_MODULE = "shellservice"
66
67if SOURCES:
68    FINAL_LIBRARY = "browsercomps"
69
70EXTRA_JS_MODULES += [
71    "HeadlessShell.jsm",
72    "ScreenshotChild.jsm",
73    "ShellService.jsm",
74]
75
76for var in (
77    "MOZ_APP_DISPLAYNAME",
78    "MOZ_APP_NAME",
79    "MOZ_APP_VERSION",
80    "MOZ_DEFAULT_BROWSER_AGENT",
81):
82    DEFINES[var] = '"%s"' % CONFIG[var]
83
84CXXFLAGS += CONFIG["TK_CFLAGS"]
85if CONFIG["MOZ_ENABLE_DBUS"]:
86    CXXFLAGS += CONFIG["MOZ_DBUS_GLIB_CFLAGS"]
87
88with Files("**"):
89    BUG_COMPONENT = ("Firefox", "Shell Integration")
90