summaryrefslogtreecommitdiffstats
path: root/toolkit/mozapps/defaultagent/moz.build
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/mozapps/defaultagent/moz.build')
-rw-r--r--toolkit/mozapps/defaultagent/moz.build113
1 files changed, 113 insertions, 0 deletions
diff --git a/toolkit/mozapps/defaultagent/moz.build b/toolkit/mozapps/defaultagent/moz.build
new file mode 100644
index 0000000000..c675da6e99
--- /dev/null
+++ b/toolkit/mozapps/defaultagent/moz.build
@@ -0,0 +1,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/.
+
+Program("default-browser-agent")
+
+SPHINX_TREES["default-browser-agent"] = "docs"
+
+DIRS += ["rust"]
+
+UNIFIED_SOURCES += [
+ "/mfbt/Poison.cpp",
+ "/mfbt/Unused.cpp",
+ "Cache.cpp",
+ "common.cpp",
+ "DefaultBrowser.cpp",
+ "DefaultPDF.cpp",
+ "EventLog.cpp",
+ "main.cpp",
+ "Notification.cpp",
+ "Policy.cpp",
+ "Registry.cpp",
+ "RemoteSettings.cpp",
+ "ScheduledTask.cpp",
+ "SetDefaultBrowser.cpp",
+ "Telemetry.cpp",
+ "UtfConvert.cpp",
+]
+
+SOURCES += [
+ "/browser/components/shell/WindowsDefaultBrowser.cpp",
+ "/browser/components/shell/WindowsUserChoice.cpp",
+ "/other-licenses/nsis/Contrib/CityHash/cityhash/city.cpp",
+ "/third_party/WinToast/wintoastlib.cpp",
+ "/toolkit/mozapps/update/common/readstrings.cpp",
+]
+
+# Suppress warnings from third-party code.
+SOURCES["/third_party/WinToast/wintoastlib.cpp"].flags += ["-Wno-implicit-fallthrough"]
+
+USE_LIBS += [
+ "defaultagent-static",
+ "jsoncpp",
+]
+
+LOCAL_INCLUDES += [
+ "/browser/components/shell/",
+ "/mfbt/",
+ "/other-licenses/nsis/Contrib/CityHash/cityhash",
+ "/third_party/WinToast",
+ "/toolkit/components/jsoncpp/include",
+ "/toolkit/mozapps/update/common",
+ "/xpcom/build",
+]
+
+OS_LIBS += [
+ "advapi32",
+ "bcrypt",
+ "comsupp",
+ "crypt32",
+ "kernel32",
+ "netapi32",
+ "ole32",
+ "oleaut32",
+ "rpcrt4",
+ "shell32",
+ "shlwapi",
+ "taskschd",
+ "userenv",
+ "wininet",
+ "ws2_32",
+ "ntdll",
+]
+
+DEFINES["NS_NO_XPCOM"] = True
+DEFINES["IMPL_MFBT"] = True
+
+DEFINES["UNICODE"] = True
+DEFINES["_UNICODE"] = True
+
+# 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]
+
+# We need STL headers that aren't allowed when wrapping is on (at least
+# <filesystem>, and possibly others).
+DisableStlWrapping()
+
+# We need this to be able to use wmain as the entry point on MinGW;
+# otherwise it will try to use WinMain.
+if CONFIG["CC_TYPE"] == "clang-cl":
+ WIN32_EXE_LDFLAGS += ["-ENTRY:wmainCRTStartup"]
+else:
+ WIN32_EXE_LDFLAGS += ["-municode"]
+
+GENERATED_FILES += ["defaultagent.ini"]
+defaultagentini = GENERATED_FILES["defaultagent.ini"]
+defaultagentini.script = "/browser/locales/generate_ini.py"
+defaultagentini.inputs = [
+ "defaultagent.ini",
+ "defaultagent_append.ini",
+]
+FINAL_TARGET_FILES += ["!defaultagent.ini"]
+
+if CONFIG["ENABLE_TESTS"]:
+ DIRS += ["tests/gtest"]
+
+with Files("**"):
+ BUG_COMPONENT = ("Toolkit", "Default Browser Agent")