# -*- 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 # , 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")