diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 14:29:10 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 14:29:10 +0000 |
commit | 2aa4a82499d4becd2284cdb482213d541b8804dd (patch) | |
tree | b80bf8bf13c3766139fbacc530efd0dd9d54394c /toolkit/modules/AppConstants.jsm | |
parent | Initial commit. (diff) | |
download | firefox-upstream.tar.xz firefox-upstream.zip |
Adding upstream version 86.0.1.upstream/86.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'toolkit/modules/AppConstants.jsm')
-rw-r--r-- | toolkit/modules/AppConstants.jsm | 422 |
1 files changed, 422 insertions, 0 deletions
diff --git a/toolkit/modules/AppConstants.jsm b/toolkit/modules/AppConstants.jsm new file mode 100644 index 0000000000..76f8a168b7 --- /dev/null +++ b/toolkit/modules/AppConstants.jsm @@ -0,0 +1,422 @@ +#filter substitution +#include @TOPOBJDIR@/source-repo.h +#include @TOPOBJDIR@/buildid.h +/* 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/. */ + +"use strict"; + +ChromeUtils.defineModuleGetter(this, "Services", "resource://gre/modules/Services.jsm"); +ChromeUtils.defineModuleGetter(this, "AddonManager", "resource://gre/modules/AddonManager.jsm"); + +this.EXPORTED_SYMBOLS = ["AppConstants"]; + +// Immutable for export. +this.AppConstants = Object.freeze({ + // See this wiki page for more details about channel specific build + // defines: https://wiki.mozilla.org/Platform/Channel-specific_build_defines + NIGHTLY_BUILD: +#ifdef NIGHTLY_BUILD + true, +#else + false, +#endif + + FENNEC_NIGHTLY: +#ifdef FENNEC_NIGHTLY + true, +#else + false, +#endif + + RELEASE_OR_BETA: +#ifdef RELEASE_OR_BETA + true, +#else + false, +#endif + + EARLY_BETA_OR_EARLIER: +#ifdef EARLY_BETA_OR_EARLIER + true, +#else + false, +#endif + + ACCESSIBILITY: +#ifdef ACCESSIBILITY + true, +#else + false, +#endif + + // Official corresponds, roughly, to whether this build is performed + // on Mozilla's continuous integration infrastructure. You should + // disable developer-only functionality when this flag is set. + MOZILLA_OFFICIAL: +#ifdef MOZILLA_OFFICIAL + true, +#else + false, +#endif + + MOZ_OFFICIAL_BRANDING: +#ifdef MOZ_OFFICIAL_BRANDING + true, +#else + false, +#endif + + MOZ_DEV_EDITION: +#ifdef MOZ_DEV_EDITION + true, +#else + false, +#endif + + MOZ_SERVICES_SYNC: +#ifdef MOZ_SERVICES_SYNC + true, +#else + false, +#endif + + MOZ_SERVICES_HEALTHREPORT: +#ifdef MOZ_SERVICES_HEALTHREPORT + true, +#else + false, +#endif + + MOZ_DATA_REPORTING: +#ifdef MOZ_DATA_REPORTING + true, +#else + false, +#endif + + MOZ_SANDBOX: +#ifdef MOZ_SANDBOX + true, +#else + false, +#endif + + MOZ_TELEMETRY_REPORTING: +#ifdef MOZ_TELEMETRY_REPORTING + true, +#else + false, +#endif + + MOZ_TELEMETRY_ON_BY_DEFAULT: +#ifdef MOZ_TELEMETRY_ON_BY_DEFAULT + true, +#else + false, +#endif + + MOZ_UPDATER: +#ifdef MOZ_UPDATER + true, +#else + false, +#endif + + MOZ_SWITCHBOARD: +#ifdef MOZ_SWITCHBOARD + true, +#else + false, +#endif + + MOZ_WEBRTC: +#ifdef MOZ_WEBRTC + true, +#else + false, +#endif + + MOZ_WIDGET_GTK: +#ifdef MOZ_WIDGET_GTK + true, +#else + false, +#endif + + XP_UNIX: +#ifdef XP_UNIX + true, +#else + false, +#endif + +// NOTE! XP_LINUX has to go after MOZ_WIDGET_ANDROID otherwise Android +// builds will be misidentified as linux. + platform: +#ifdef MOZ_WIDGET_GTK + "linux", +#elif XP_WIN + "win", +#elif XP_MACOSX + "macosx", +#elif MOZ_WIDGET_ANDROID + "android", +#elif XP_LINUX + "linux", +#else + "other", +#endif + +// Most of our frontend code assumes that any desktop Unix platform +// is "linux". Add the distinction for code that needs it. + unixstyle: +#ifdef XP_LINUX + "linux", +#elif XP_OPENBSD + "openbsd", +#elif XP_NETBSD + "netbsd", +#elif XP_FREEBSD + "freebsd", +#elif XP_SOLARIS + "solaris", +#else + "other", +#endif + + isPlatformAndVersionAtLeast(platform, version) { + let platformVersion = Services.sysinfo.getProperty("version"); + return platform == this.platform && + Services.vc.compare(platformVersion, version) >= 0; + }, + + isPlatformAndVersionAtMost(platform, version) { + let platformVersion = Services.sysinfo.getProperty("version"); + return platform == this.platform && + Services.vc.compare(platformVersion, version) <= 0; + }, + + MOZ_CRASHREPORTER: +#ifdef MOZ_CRASHREPORTER + true, +#else + false, +#endif + + MOZ_NORMANDY: +#ifdef MOZ_NORMANDY + true, +#else + false, +#endif + + MOZ_MAINTENANCE_SERVICE: +#ifdef MOZ_MAINTENANCE_SERVICE + true, +#else + false, +#endif + + MOZ_UPDATE_AGENT: +#ifdef MOZ_UPDATE_AGENT + true, +#else + false, +#endif + + MOZ_BITS_DOWNLOAD: +#ifdef MOZ_BITS_DOWNLOAD + true, +#else + false, +#endif + + DEBUG: +#ifdef DEBUG + true, +#else + false, +#endif + + ASAN: +#ifdef MOZ_ASAN + true, +#else + false, +#endif + + ASAN_REPORTER: +#ifdef MOZ_ASAN_REPORTER + true, +#else + false, +#endif + + TSAN: +#ifdef MOZ_TSAN + true, +#else + false, +#endif + + MOZ_SYSTEM_NSS: +#ifdef MOZ_SYSTEM_NSS + true, +#else + false, +#endif + + MOZ_PLACES: +#ifdef MOZ_PLACES + true, +#else + false, +#endif + + MOZ_REQUIRE_SIGNING: +#ifdef MOZ_REQUIRE_SIGNING + true, +#else + false, +#endif + + get MOZ_UNSIGNED_SCOPES() { + let result = 0; +#ifdef MOZ_UNSIGNED_APP_SCOPE + result |= AddonManager.SCOPE_APPLICATION; +#endif +#ifdef MOZ_UNSIGNED_SYSTEM_SCOPE + result |= AddonManager.SCOPE_SYSTEM; +#endif + return result; + }, + + MOZ_ALLOW_ADDON_SIDELOAD: +#ifdef MOZ_ALLOW_ADDON_SIDELOAD + true, +#else + false, +#endif + + MENUBAR_CAN_AUTOHIDE: +#ifdef MENUBAR_CAN_AUTOHIDE + true, +#else + false, +#endif + + MOZ_ANDROID_HISTORY: +#ifdef MOZ_ANDROID_HISTORY + true, +#else + false, +#endif + + MOZ_GECKO_PROFILER: +#ifdef MOZ_GECKO_PROFILER + true, +#else + false, +#endif + + DLL_PREFIX: "@DLL_PREFIX@", + DLL_SUFFIX: "@DLL_SUFFIX@", + + MOZ_APP_NAME: "@MOZ_APP_NAME@", + MOZ_APP_BASENAME: "@MOZ_APP_BASENAME@", + MOZ_APP_VERSION: "@MOZ_APP_VERSION@", + MOZ_APP_VERSION_DISPLAY: "@MOZ_APP_VERSION_DISPLAY@", + MOZ_BUILDID: "@MOZ_BUILDID@", + MOZ_BUILD_APP: "@MOZ_BUILD_APP@", + MOZ_MACBUNDLE_NAME: "@MOZ_MACBUNDLE_NAME@", + MOZ_UPDATE_CHANNEL: "@MOZ_UPDATE_CHANNEL@", + MOZ_WIDGET_TOOLKIT: "@MOZ_WIDGET_TOOLKIT@", + ANDROID_PACKAGE_NAME: "@ANDROID_PACKAGE_NAME@", + + DEBUG_JS_MODULES: "@DEBUG_JS_MODULES@", + + MOZ_BING_API_CLIENTID: "@MOZ_BING_API_CLIENTID@", + MOZ_BING_API_KEY: "@MOZ_BING_API_KEY@", + MOZ_GOOGLE_LOCATION_SERVICE_API_KEY: "@MOZ_GOOGLE_LOCATION_SERVICE_API_KEY@", + MOZ_GOOGLE_SAFEBROWSING_API_KEY: "@MOZ_GOOGLE_SAFEBROWSING_API_KEY@", + MOZ_MOZILLA_API_KEY: "@MOZ_MOZILLA_API_KEY@", + + BROWSER_CHROME_URL: "@BROWSER_CHROME_URL@", + + OMNIJAR_NAME: "@OMNIJAR_NAME@", + + // URL to the hg revision this was built from (e.g. + // "https://hg.mozilla.org/mozilla-central/rev/6256ec9113c1") + // On unofficial builds, this is an empty string. +#ifndef MOZ_SOURCE_URL +#define MOZ_SOURCE_URL +#endif + SOURCE_REVISION_URL: "@MOZ_SOURCE_URL@", + + HAVE_USR_LIB64_DIR: +#ifdef HAVE_USR_LIB64_DIR + true, +#else + false, +#endif + + HAVE_SHELL_SERVICE: +#ifdef HAVE_SHELL_SERVICE + true, +#else + false, +#endif + + MOZ_CODE_COVERAGE: +#ifdef MOZ_CODE_COVERAGE + true, +#else + false, +#endif + + TELEMETRY_PING_FORMAT_VERSION: @TELEMETRY_PING_FORMAT_VERSION@, + + MOZ_NEW_XULSTORE: +#ifdef MOZ_NEW_XULSTORE + true, +#else + false, +#endif + + MOZ_NEW_NOTIFICATION_STORE: +#ifdef MOZ_NEW_NOTIFICATION_STORE + true, +#else + false, +#endif + + ENABLE_REMOTE_AGENT: +#ifdef ENABLE_REMOTE_AGENT + true, +#else + false, +#endif + + MOZ_RUST_FXA_CLIENT: +#ifdef MOZ_RUST_FXA_CLIENT + true, +#else + false, +#endif + + REMOTE_SETTINGS_VERIFY_SIGNATURE: +#ifdef MOZ_THUNDERBIRD + false, +#else + true, +#endif + + MOZ_GLEAN: +#ifdef MOZ_GLEAN + true, +#else + false, +#endif +}); |