summaryrefslogtreecommitdiffstats
path: root/browser/components/shell/moz.build
blob: 82e5afade7ba82e720bc265de1b2d4ed10b7a243 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
# -*- 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"]

BROWSER_CHROME_MANIFESTS += ["test/browser.toml"]
XPCSHELL_TESTS_MANIFESTS += ["test/unit/xpcshell.toml"]

JAR_MANIFESTS += ["jar.mn"]

XPIDL_SOURCES += [
    "nsIShellService.idl",
]

if CONFIG["MOZ_WIDGET_TOOLKIT"] == "cocoa":
    XPIDL_SOURCES += [
        "nsIMacShellService.idl",
    ]

    SOURCES += [
        "nsMacShellService.cpp",
    ]

    LOCAL_INCLUDES += [
        # For CocoaFileUtils
        "/xpcom/io"
    ]
elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
    XPIDL_SOURCES += [
        "nsIGNOMEShellService.idl",
    ]

    SOURCES += [
        "nsGNOMEShellService.cpp",
    ]
    if CONFIG["MOZ_ENABLE_DBUS"]:
        SOURCES += [
            "nsGNOMEShellDBusHelper.cpp",
            "nsGNOMEShellSearchProvider.cpp",
        ]
        include("/ipc/chromium/chromium-config.mozbuild")

elif CONFIG["OS_ARCH"] == "WINNT":
    XPIDL_SOURCES += [
        "nsIWindowsShellService.idl",
    ]
    SOURCES += [
        "nsWindowsShellService.cpp",
        "Windows11LimitedAccessFeatures.cpp",
        "Windows11TaskbarPinning.cpp",
        "WindowsDefaultBrowser.cpp",
        "WindowsUserChoice.cpp",
    ]
    LOCAL_INCLUDES += [
        "../../../other-licenses/nsis/Contrib/CityHash/cityhash",
        "/toolkit/xre",
    ]
    OS_LIBS += [
        "bcrypt",
        "crypt32",
        "propsys",
    ]

XPIDL_MODULE = "shellservice"

if SOURCES:
    FINAL_LIBRARY = "browsercomps"

EXTRA_JS_MODULES += [
    "HeadlessShell.sys.mjs",
    "ScreenshotChild.sys.mjs",
    "ShellService.sys.mjs",
]

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


if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk":
    CXXFLAGS += CONFIG["MOZ_GTK3_CFLAGS"]

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