# -*- 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/. include("../components/telemetry/telemetry-constants.mozbuild") with Files("**"): BUG_COMPONENT = ("Toolkit", "Startup and Profile System") if CONFIG["OS_ARCH"] == "WINNT": TEST_DIRS += ["test/win"] MOCHITEST_MANIFESTS += ["test/mochitest.ini"] BROWSER_CHROME_MANIFESTS += ["test/browser.ini"] XPCSHELL_TESTS_MANIFESTS += ["test/xpcshell.ini"] MARIONETTE_UNIT_MANIFESTS += ["test/marionette/marionette.ini"] XPIDL_SOURCES += [ "nsINativeAppSupport.idl", "nsIXREDirProvider.idl", ] if CONFIG["OS_ARCH"] == "WINNT": XPIDL_SOURCES += [ "nsIWinAppHelper.idl", ] XPIDL_MODULE = "xulapp" EXPORTS += [ "nsAppRunner.h", ] EXPORTS.mozilla += [ "AutoSQLiteLifetime.h", "Bootstrap.h", "CmdLineAndEnvUtils.h", "GeckoArgs.h", "MultiInstanceLock.h", "SafeMode.h", ] if CONFIG["MOZ_INSTRUMENT_EVENT_LOOP"]: EXPORTS += ["EventTracer.h"] if CONFIG["MOZ_WIDGET_TOOLKIT"] == "windows": EXPORTS.mozilla += [ "AssembleCmdLine.h", "DllPrefetchExperimentRegistryInfo.h", "PolicyChecks.h", "WinTokenUtils.h", ] UNIFIED_SOURCES += [ "/toolkit/mozapps/update/common/pathhash.cpp", "/toolkit/mozapps/update/common/updateutils_win.cpp", "DllPrefetchExperimentRegistryInfo.cpp", "nsNativeAppSupportWin.cpp", "WinTokenUtils.cpp", ] DEFINES["PROXY_PRINTING"] = 1 LOCAL_INCLUDES += [ "../components/printingui", ] if CONFIG["MOZ_LAUNCHER_PROCESS"]: EXPORTS.mozilla += [ "LauncherRegistryInfo.h", ] UNIFIED_SOURCES += [ "LauncherRegistryInfo.cpp", ] DIRS += [ "dllservices", ] elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "cocoa": EXPORTS.mozilla += [ "MacRunFromDmgUtils.h", ] UNIFIED_SOURCES += [ "MacApplicationDelegate.mm", "MacAutoreleasePool.mm", "MacLaunchHelper.mm", "MacRunFromDmgUtils.mm", "nsCommandLineServiceMac.mm", "nsNativeAppSupportCocoa.mm", "updaterfileutils_osx.mm", ] DEFINES["PROXY_PRINTING"] = 1 LOCAL_INCLUDES += [ "../components/printingui", ] elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "uikit": UNIFIED_SOURCES += [ "nsNativeAppSupportDefault.cpp", "UIKitDirProvider.mm", ] elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk": UNIFIED_SOURCES += [ "nsNativeAppSupportUnix.cpp", ] CXXFLAGS += CONFIG["MOZ_X11_SM_CFLAGS"] else: UNIFIED_SOURCES += [ "nsNativeAppSupportDefault.cpp", ] if CONFIG["MOZ_HAS_REMOTE"]: LOCAL_INCLUDES += [ "../components/remote", ] if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk": UNIFIED_SOURCES += [ "nsGDKErrorHandler.cpp", ] if CONFIG["MOZ_X11"]: EXPORTS += ["nsX11ErrorHandler.h"] UNIFIED_SOURCES += [ "nsX11ErrorHandler.cpp", ] if CONFIG["MOZ_WIDGET_TOOLKIT"] == "android": UNIFIED_SOURCES += [ "nsAndroidStartup.cpp", ] if CONFIG["MOZ_WIDGET_TOOLKIT"] != "android": UNIFIED_SOURCES += [ "MultiInstanceLock.cpp", ] UNIFIED_SOURCES += [ "/toolkit/mozapps/update/common/commonupdatedir.cpp", "AutoSQLiteLifetime.cpp", "Bootstrap.cpp", "CmdLineAndEnvUtils.cpp", "CreateAppData.cpp", "nsConsoleWriter.cpp", "nsNativeAppSupportBase.cpp", "nsSigHandlers.cpp", "nsXREDirProvider.cpp", ] # nsAppRunner.cpp and ProfileReset.cpp cannot be built in unified mode because # they pull in OS X system headers. # nsEmbedFunctions.cpp cannot be built in unified mode because it pulls in X11 headers. SOURCES += [ "../../other-licenses/nsis/Contrib/CityHash/cityhash/city.cpp", "nsAppRunner.cpp", "nsEmbedFunctions.cpp", "ProfileReset.cpp", ] if CONFIG["MOZ_INSTRUMENT_EVENT_LOOP"]: UNIFIED_SOURCES += [ "EventTracer.cpp", ] if CONFIG["MOZ_UPDATER"]: if CONFIG["MOZ_WIDGET_TOOLKIT"] != "android": UNIFIED_SOURCES += [ "nsUpdateDriver.cpp", "nsUpdateSyncManager.cpp", ] if CONFIG["MOZ_PDF_PRINTING"]: DEFINES["PROXY_PRINTING"] = 1 LOCAL_INCLUDES += [ "../components/printingui", ] XPCOM_MANIFESTS += [ "components.conf", ] include("/ipc/chromium/chromium-config.mozbuild") FINAL_LIBRARY = "xul" if CONFIG["MOZ_X11"] or CONFIG["MOZ_WAYLAND"]: DEFINES["USE_GLX_TEST"] = True DIRS += ["glxtest"] for var in ( "MOZ_APP_NAME", "MOZ_APP_BASENAME", "MOZ_APP_DISPLAYNAME", "MOZ_APP_VENDOR", "MOZ_APP_VERSION", "OS_TARGET", "MOZ_WIDGET_TOOLKIT", ): DEFINES[var] = '"%s"' % CONFIG[var] if CONFIG["MOZ_DEFAULT_BROWSER_AGENT"] and CONFIG["OS_ARCH"] == "WINNT": DEFINES["MOZ_DEFAULT_BROWSER_AGENT"] = CONFIG["MOZ_DEFAULT_BROWSER_AGENT"] if CONFIG["MOZ_UPDATER"] and CONFIG["MOZ_WIDGET_TOOLKIT"] != "android": DEFINES["MOZ_UPDATER"] = True if CONFIG["MOZ_WIDGET_TOOLKIT"] == "windows": DEFINES["WIN32_LEAN_AND_MEAN"] = True DEFINES["UNICODE"] = True DEFINES["_UNICODE"] = True if CONFIG["MOZ_WIDGET_TOOLKIT"] == "android": DEFINES["ANDROID_PACKAGE_NAME"] = '"%s"' % CONFIG["ANDROID_PACKAGE_NAME"] DEFINES["MOZ_DISTRIBUTION_ID"] = '"%s"' % CONFIG["MOZ_DISTRIBUTION_ID"] if CONFIG["TARGET_XPCOM_ABI"]: DEFINES["TARGET_OS_ABI"] = '"%s_%s"' % ( CONFIG["OS_TARGET"], CONFIG["TARGET_XPCOM_ABI"], ) if CONFIG["OS_ARCH"] == "Linux" and "lib64" in CONFIG["libdir"]: DEFINES["HAVE_USR_LIB64_DIR"] = True DEFINES["GRE_MILESTONE"] = CONFIG["GRE_MILESTONE"] DEFINES["MOZ_APP_VERSION_DISPLAY"] = CONFIG["MOZ_APP_VERSION_DISPLAY"] for var in ("APP_VERSION", "APP_ID"): DEFINES[var] = CONFIG["MOZ_%s" % var] if CONFIG["MOZ_BUILD_APP"] == "browser": DEFINES["MOZ_BUILD_APP_IS_BROWSER"] = True LOCAL_INCLUDES += [ "../../other-licenses/nsis/Contrib/CityHash/cityhash", "../components/find", "../components/printingui/ipc", "../components/windowwatcher", "../mozapps/update/common", "../profile", "/config", "/dom/base", "/dom/commandhandler", "/dom/ipc", "/dom/webbrowserpersist", "/testing/gtest/mozilla", "/toolkit/crashreporter", "/xpcom/build", ] if CONFIG["MOZ_SANDBOX"] and CONFIG["OS_ARCH"] == "WINNT": LOCAL_INCLUDES += [ "/security/sandbox/chromium", "/security/sandbox/chromium-shim", ] if CONFIG["MOZ_SANDBOX"] and CONFIG["OS_ARCH"] == "Linux": USE_LIBS += [ "mozsandbox", ] if CONFIG["MOZ_WIDGET_TOOLKIT"] == "cocoa": LOCAL_INCLUDES += [ "/widget", "/widget/cocoa", "/xpcom/base", ] CXXFLAGS += CONFIG["MOZ_DBUS_CFLAGS"] CXXFLAGS += CONFIG["MOZ_DBUS_GLIB_CFLAGS"] if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk": CXXFLAGS += CONFIG["MOZ_GTK3_CFLAGS"] CXXFLAGS += CONFIG["MOZ_PANGO_CFLAGS"] DEFINES["TOPOBJDIR"] = TOPOBJDIR FINAL_TARGET_PP_FILES += ["platform.ini"] if CONFIG["ENABLE_TESTS"]: DIRS += ["test/gtest"]