summaryrefslogtreecommitdiffstats
path: root/toolkit/mozapps/defaultagent/moz.build
blob: 86b68c6371e77f9cea4d3a9062a332ff97583dfe (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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
# -*- 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/.

SPHINX_TREES["default-browser-agent"] = "docs"

DIRS += ["proxy"]

UNIFIED_SOURCES += [
    "Cache.cpp",
    "common.cpp",
    "DefaultAgent.cpp",
    "DefaultBrowser.cpp",
    "DefaultPDF.cpp",
    "EventLog.cpp",
    "Policy.cpp",
    "Registry.cpp",
    "ScheduledTask.cpp",
    "ScheduledTaskRemove.cpp",
    "SetDefaultBrowser.cpp",
    "Telemetry.cpp",
    "UtfConvert.cpp",
    "WindowsMutex.cpp",
]

SOURCES += [
    "/third_party/WinToast/wintoastlib.cpp",
    "/toolkit/mozapps/update/common/readstrings.cpp",
    "Notification.cpp",
]

# Suppress warnings from third-party code.
SOURCES["/third_party/WinToast/wintoastlib.cpp"].flags += [
    "-Wno-implicit-fallthrough",
    "-Wno-nonportable-include-path",  # Needed for wintoastlib.h including "Windows.h"
]
SOURCES["Notification.cpp"].flags += [
    "-Wno-nonportable-include-path",  # Needed for wintoastlib.h including "Windows.h"
]

EXPORTS.mozilla += [
    "DefaultAgent.h",
    "WindowsMutex.h",
]

USE_LIBS += [
    "jsoncpp",
]

LOCAL_INCLUDES += [
    "/browser/components/shell/",
    "/other-licenses/nsis/Contrib/CityHash/cityhash",
    "/third_party/WinToast",
    "/toolkit/components/jsoncpp/include",
    "/toolkit/mozapps/update/common",
]

OS_LIBS += [
    "advapi32",
    "bcrypt",
    "comsupp",
    "crypt32",
    "kernel32",
    "netapi32",
    "ole32",
    "oleaut32",
    "rpcrt4",
    "shell32",
    "shlwapi",
    "taskschd",
    "userenv",
    "wininet",
    "ws2_32",
    "ntdll",
]

XPIDL_SOURCES += [
    "nsIDefaultAgent.idl",
    "nsIWindowsMutex.idl",
]

XPIDL_MODULE = "default-agent"

XPCOM_MANIFESTS += [
    "components.conf",
]

XPCSHELL_TESTS_MANIFESTS += ["tests/xpcshell/xpcshell.toml"]

# If defines are added to this list that are required by the Cache,
# SetDefaultBrowser, or their dependencies (Registry, EventLog, common),
# tests/gtest/moz.build will need to be updated as well.
for var in ("MOZ_APP_BASENAME", "MOZ_APP_DISPLAYNAME", "MOZ_APP_VENDOR"):
    DEFINES[var] = '"%s"' % CONFIG[var]

DEFINES["UNICODE"] = True
DEFINES["_UNICODE"] = True

FINAL_TARGET_FILES += ["defaultagent.ini"]

FINAL_LIBRARY = "xul"

if CONFIG["ENABLE_TESTS"]:
    DIRS += ["tests/gtest"]

with Files("**"):
    BUG_COMPONENT = ("Toolkit", "Default Browser Agent")

EXTRA_JS_MODULES.backgroundtasks += [
    "BackgroundTask_defaultagent.sys.mjs",
]