├── .github └── FUNDING.yml ├── .gitignore ├── LICENSE.md ├── README.md ├── TODO.md ├── app ├── Makefile.in ├── application.ini ├── mercury.exe.manifest ├── module.ver ├── nsBrowserApp.cpp ├── profile │ └── firefox.js └── splash.rc ├── bootstrap.sh ├── browser ├── base │ └── content │ │ └── default-bookmarks.html ├── branding │ ├── branding-common.mozbuild │ └── mercury │ │ ├── LICENSE │ │ ├── PrivateBrowsing_150.png │ │ ├── PrivateBrowsing_70.png │ │ ├── VisualElements_150.png │ │ ├── VisualElements_70.png │ │ ├── background.png │ │ ├── branding.nsi │ │ ├── configure.sh │ │ ├── content │ │ ├── about-logo-private.png │ │ ├── about-logo-private@2x.png │ │ ├── about-logo.png │ │ ├── about-logo.svg │ │ ├── about-logo@2x.png │ │ ├── about-wordmark.svg │ │ ├── about.png │ │ ├── aboutDialog.css │ │ ├── aboutlogins.svg │ │ ├── firefox-wordmark.svg │ │ ├── jar.mn │ │ └── moz.build │ │ ├── default128.png │ │ ├── default16.png │ │ ├── default22.png │ │ ├── default24.png │ │ ├── default256.png │ │ ├── default32.png │ │ ├── default48.png │ │ ├── default64.png │ │ ├── disk.icns │ │ ├── document.icns │ │ ├── document.ico │ │ ├── document_pdf.ico │ │ ├── dsstore │ │ ├── firefox.VisualElementsManifest.xml │ │ ├── firefox.icns │ │ ├── firefox.ico │ │ ├── firefox64.ico │ │ ├── locales │ │ ├── en-US │ │ │ ├── brand.dtd │ │ │ ├── brand.ftl │ │ │ └── brand.properties │ │ ├── jar.mn │ │ └── moz.build │ │ ├── moz.build │ │ ├── msix │ │ └── Assets │ │ │ ├── Document44x44.png │ │ │ ├── LargeTile.scale-200.png │ │ │ ├── SmallTile.scale-200.png │ │ │ ├── Square150x150Logo.scale-200.png │ │ │ ├── Square44x44Logo.altform-lightunplated_targetsize-256.png │ │ │ ├── Square44x44Logo.altform-unplated_targetsize-256.png │ │ │ ├── Square44x44Logo.scale-200.png │ │ │ ├── Square44x44Logo.targetsize-256.png │ │ │ ├── StoreLogo.scale-200.png │ │ │ └── Wide310x150Logo.scale-200.png │ │ ├── newtab.ico │ │ ├── newwindow.ico │ │ ├── pbmode.ico │ │ ├── pref │ │ └── firefox-branding.js │ │ ├── private_browsing.VisualElementsManifest.xml │ │ ├── stubinstaller │ │ ├── bgstub.bak │ │ ├── bgstub.jpg │ │ ├── installing_page.css │ │ └── profile_cleanup_page.css │ │ ├── wizHeader.bmp │ │ ├── wizHeaderRTL.bmp │ │ └── wizWatermark.bmp ├── components │ ├── customizableui │ │ └── CustomizableUI.sys.mjs │ └── newtab │ │ ├── data │ │ └── content │ │ │ └── tippytop │ │ │ ├── favicons │ │ │ └── firefoxaddons.ico │ │ │ ├── images │ │ │ └── firefoxaddons@2x.png │ │ │ └── top_sites.json │ │ └── lib │ │ └── DefaultSites.sys.mjs ├── confvars.sh ├── installer │ ├── package-manifest.in │ └── windows │ │ ├── app.tag │ │ └── nsis │ │ └── uninstaller.nsi ├── locales │ └── en-US │ │ ├── browser │ │ └── aboutDialog.ftl │ │ └── chrome │ │ └── overrides │ │ └── appstrings.properties └── moz.configure ├── build.sh ├── build ├── application.ini.in ├── codename.txt └── moz.configure │ ├── lto-pgo.configure │ └── toolchain.configure ├── devtools └── client │ └── themes │ └── images │ ├── aboutdebugging-fenix-nightly.svg │ ├── aboutdebugging-fenix.svg │ ├── aboutdebugging-firefox-aurora.svg │ ├── aboutdebugging-firefox-beta.svg │ ├── aboutdebugging-firefox-logo.svg │ ├── aboutdebugging-firefox-nightly.svg │ └── aboutdebugging-firefox-release.svg ├── dist ├── DEBIAN │ ├── control │ ├── postinst │ └── prerm └── usr │ ├── bin │ └── mercury-browser │ ├── lib │ └── mime │ │ └── packages │ │ └── mercury-browser │ └── share │ ├── applications │ └── mercury-browser.desktop │ ├── doc │ └── mercury-browser │ │ ├── MPL-2.0.gz │ │ └── copyright │ ├── icons │ └── hicolor │ │ ├── 128x128 │ │ └── apps │ │ │ └── mercury.png │ │ ├── 16x16 │ │ └── apps │ │ │ └── mercury.png │ │ ├── 22x22 │ │ └── apps │ │ │ └── mercury.png │ │ ├── 24x24 │ │ └── apps │ │ │ └── mercury.png │ │ ├── 256x256 │ │ └── apps │ │ │ └── mercury.png │ │ ├── 32x32 │ │ └── apps │ │ │ └── mercury.png │ │ ├── 48x48 │ │ └── apps │ │ │ └── mercury.png │ │ ├── 512x512 │ │ └── apps │ │ │ └── mercury.png │ │ ├── 64x64 │ │ └── apps │ │ │ └── mercury.png │ │ └── 96x96 │ │ └── apps │ │ └── mercury.png │ ├── lintian │ └── overrides │ │ └── mercury-browser │ └── man │ └── man1 │ └── mercury-browser.1.gz ├── docs ├── BUGS.md ├── BUILDING.md ├── DEBUGGING.md ├── DEPS.md ├── HG_SETUP.md ├── PATCHES.md └── README.md ├── extensions └── DEBUG ├── infra ├── .hgrc ├── MERCURY_DEV_BOOKMARKS.html ├── check_simd.sh └── extra_configs.txt ├── ipc └── app │ └── module.ver ├── logos ├── Beaker.svg ├── Mercury.icns ├── Mercury.ico ├── Mercury.png ├── Mercury.svg ├── Mercury.xcf ├── Mercury64.ico ├── Mercury_08.png ├── Mercury_1024.png ├── Mercury_126.png ├── Mercury_128.png ├── Mercury_144.png ├── Mercury_150.png ├── Mercury_16.png ├── Mercury_192.png ├── Mercury_2048.png ├── Mercury_22.png ├── Mercury_24.png ├── Mercury_256.png ├── Mercury_270.png ├── Mercury_32.png ├── Mercury_384.png ├── Mercury_4096.png ├── Mercury_48.png ├── Mercury_512.png ├── Mercury_64.png ├── Mercury_70.png ├── Mercury_768.png ├── Mercury_86.png ├── Mercury_96.png ├── about-logo.svg ├── bug.svg ├── build_dark.svg ├── build_light.svg ├── bulb_dark.svg ├── bulb_light.svg ├── deps.png ├── document.icns ├── geckoview-crash.png ├── geckoview.svg ├── mozillabuild.ico ├── nightly.svg ├── patches.png ├── promo.png ├── release-noodles.png ├── release-noodles.svg ├── repository-open-graph-mercury.png ├── robot_1024.png ├── robot_256.png ├── robot_512.png └── setup │ ├── install_256.png │ ├── setup.ico │ ├── setup_16.png │ ├── setup_256.png │ ├── setup_32.png │ ├── setup_48.png │ └── setup_64.png ├── make_deb.sh ├── moz.build ├── mozconfigs ├── context.py ├── ga ├── mozconfig ├── mozconfig-arm64 ├── mozconfig-avx2 ├── mozconfig-debug ├── mozconfig-macos-arm64 ├── mozconfig-macos-arm64-cross ├── mozconfig-macos-x64 ├── mozconfig-macos-x64-cross ├── mozconfig-sse3 ├── mozconfig-sse4 ├── mozconfig-win ├── mozconfig-win-avx2 ├── mozconfig-win-avx2-cross ├── mozconfig-win-cross ├── mozconfig-win-debug ├── mozconfig-win-sse3 └── mozconfig-win-sse4 ├── netwerk └── protocol │ └── http │ └── nsHttpHandler.cpp ├── other-licenses └── 7zstub │ └── firefox │ ├── 7zSD.ARM64.sfx │ ├── 7zSD.Win32.sfx │ ├── resource.rc │ └── setup.ico ├── package.sh ├── policies ├── moz.build └── policies.json ├── portable ├── MERCURY.BAT ├── MERCURY_PORTABLE └── MERCURY_PORTABLE.sh ├── revert.sh ├── run.sh ├── setup.sh ├── testing └── profiles │ └── profileserver │ └── user.js ├── toolkit └── moz.configure ├── tot.sh └── version.sh /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: ['Alex313031'] 4 | custom: ['https://paypal.me/alex313031?country.x=US&locale.x=en_US'] 5 | patreon: ThoriumDeveloper 6 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | /dist/opt/Alex313031/mercury/* 3 | /dist/usr/lib/mercury/* 4 | thumbs.db 5 | *.deb 6 | *.exe 7 | *.tar 8 | *.bz2 9 | *.zip 10 | /mercury/ 11 | /release/ 12 | # Dolphin file manager 13 | .directory 14 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Mercury Browser 2 | 3 | 4 | 5 | [Firefox](https://www.mozilla.org/en-US/firefox/) fork with compiler optimizations and patches from [Librewolf](https://gitlab.com/librewolf-community), [Waterfox](https://github.com/WaterfoxCo/Waterfox), [Ghostery](https://github.com/ghostery/user-agent-desktop), and [BetterFox](https://github.com/yokoffing/Betterfox). 6 | 7 | It aims to be the Firefox equivalent of my main project: [Thorium](https://github.com/Alex313031/Thorium) (a [Chromium](https://www.chromium.org/) fork). 8 | 9 | ## Patches 10 | See > [PATCHES.md](https://github.com/Alex313031/Mercury/blob/main/docs/PATCHES.md) 11 | 12 | ## Bugs 13 | See > [BUGS.md](https://github.com/Alex313031/Mercury/blob/main/docs/BUGS.md) 14 | 15 | ## Building 16 | See > [BUILDING.md](https://github.com/Alex313031/Mercury/blob/main/docs/BUILDING.md) and [DEBUGGING.md](https://github.com/Alex313031/Mercury/blob/main/docs/DEBUGGING.md). 17 | -------------------------------------------------------------------------------- /TODO.md: -------------------------------------------------------------------------------- 1 | ## TODO for Mercury Browser 2 | 3 | - Add more privacy patches from Librewolf 4 | 5 | - Fix default tiles patch from IceCat 6 | 7 | - Increase performance 8 | 9 | - Proton UI > https://github.com/black7375/Firefox-UI-Fix 10 | 11 | ## Versions Calendar 12 | 13 | https://whattrainisitnow.com/calendar/ 14 | -------------------------------------------------------------------------------- /app/application.ini: -------------------------------------------------------------------------------- 1 | #ifdef MOZ_BUILD_APP_IS_BROWSER 2 | ; This file is not used. If you modify it and want the application to use 3 | ; your modifications, move it under the browser/ subdirectory and start with 4 | ; the "-app /path/to/browser/application.ini" argument. 5 | #else 6 | ; This file is not used. If you modify it and want the application to use 7 | ; your modifications, start with the "-app /path/to/application.ini" 8 | ; argument. 9 | #endif 10 | #if 0 11 | ; This Source Code Form is subject to the terms of the Mozilla Public 12 | ; License, v. 2.0. If a copy of the MPL was not distributed with this 13 | ; file, You can obtain one at http://mozilla.org/MPL/2.0/. 14 | #endif 15 | #filter substitution 16 | #include @TOPOBJDIR@/buildid.h 17 | #include @TOPOBJDIR@/source-repo.h 18 | [App] 19 | Vendor=Alex313031 20 | Name=Mercury 21 | RemotingName=Mercury 22 | #ifdef MOZ_APP_DISPLAYNAME 23 | CodeName=hydrargyrum 24 | #endif 25 | Version=@MOZ_APP_VERSION@ 26 | #ifdef MOZ_APP_PROFILE 27 | Profile=@MOZ_APP_PROFILE@ 28 | #endif 29 | BuildID=@MOZ_BUILDID@ 30 | #ifdef MOZ_SOURCE_REPO 31 | SourceRepository=@MOZ_SOURCE_REPO@ 32 | #endif 33 | #ifdef MOZ_SOURCE_STAMP 34 | SourceStamp=@MOZ_SOURCE_STAMP@ 35 | #endif 36 | ID=@MOZ_APP_ID@ 37 | 38 | [Gecko] 39 | MinVersion=@GRE_MILESTONE@ 40 | MaxVersion=@GRE_MILESTONE@ 41 | 42 | [XRE] 43 | #ifdef MOZ_PROFILE_MIGRATOR 44 | EnableProfileMigrator=1 45 | #endif 46 | 47 | #if MOZ_CRASHREPORTER 48 | [Crash Reporter] 49 | Enabled=0 50 | ServerURL=@MOZ_CRASHREPORTER_URL@/submit?id=@MOZ_APP_ID@&version=@MOZ_APP_VERSION@&buildid=@MOZ_BUILDID@ 51 | #endif 52 | 53 | #if MOZ_UPDATER 54 | [AppUpdate] 55 | URL=https://@MOZ_APPUPDATE_HOST@/update/6/%PRODUCT%/%VERSION%/%BUILD_ID%/%BUILD_TARGET%/%LOCALE%/%CHANNEL%/%OS_VERSION%/%SYSTEM_CAPABILITIES%/%DISTRIBUTION%/%DISTRIBUTION_VERSION%/update.xml 56 | #endif 57 | -------------------------------------------------------------------------------- /app/mercury.exe.manifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | Mercury 10 | 11 | 12 | 20 | 21 | 22 | 23 | 24 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /app/module.ver: -------------------------------------------------------------------------------- 1 | WIN32_MODULE_COMPANYNAME=Alex313031 2 | WIN32_MODULE_COPYRIGHT=© Alex313031 and Mozilla Developers; available under the MPL v2 license. 3 | WIN32_MODULE_PRODUCTVERSION=@MOZ_APP_WINVERSION@ 4 | WIN32_MODULE_PRODUCTVERSION_STRING=@MOZ_APP_VERSION@ 5 | WIN32_MODULE_TRADEMARKS=Mercury logos are copyrights of Alex313031. 6 | WIN32_MODULE_DESCRIPTION=@MOZ_APP_DISPLAYNAME@ 7 | WIN32_MODULE_PRODUCTNAME=@MOZ_APP_DISPLAYNAME@ 8 | WIN32_MODULE_NAME=@MOZ_APP_DISPLAYNAME@ 9 | -------------------------------------------------------------------------------- /app/splash.rc: -------------------------------------------------------------------------------- 1 | /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 2 | /* This Source Code Form is subject to the terms of the Mozilla Public 3 | * License, v. 2.0. If a copy of the MPL was not distributed with this 4 | * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 5 | 6 | #include 7 | #include "nsNativeAppSupportWin.h" 8 | 9 | 1 24 "mercury.exe.manifest" 10 | 11 | IDI_APPICON ICON FIREFOX_ICO 12 | IDI_DOCUMENT ICON DOCUMENT_ICO 13 | IDI_APPLICATION ICON FIREFOX_ICO 14 | IDI_NEWWINDOW ICON NEWWINDOW_ICO 15 | IDI_NEWTAB ICON NEWTAB_ICO 16 | IDI_PBMODE ICON PBMODE_ICO 17 | IDI_DOCUMENT_PDF ICON DOCUMENT_PDF_ICO 18 | 19 | STRINGTABLE DISCARDABLE 20 | BEGIN 21 | IDS_STARTMENU_APPNAME, "@MOZ_APP_DISPLAYNAME@" 22 | END 23 | -------------------------------------------------------------------------------- /bootstrap.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Copyright (c) 2024 Alex313031. 4 | 5 | YEL='\033[1;33m' # Yellow 6 | CYA='\033[1;96m' # Cyan 7 | RED='\033[1;31m' # Red 8 | GRE='\033[1;32m' # Green 9 | c0='\033[0m' # Reset Text 10 | bold='\033[1m' # Bold Text 11 | underline='\033[4m' # Underline Text 12 | 13 | # Error handling 14 | yell() { echo "$0: $*" >&2; } 15 | die() { yell "$*"; exit 111; } 16 | try() { "$@" || die "${RED}Failed $*"; } 17 | 18 | printf "\n" && 19 | printf "${bold}${GRE}Script to clone and initialize the Mozilla source tree.${c0}\n" && 20 | printf "${bold}${YEL}Use the --win flag for Windows.${c0}\n" && 21 | printf "${bold}${YEL}Use the --linux flag for Linux.${c0}\n" && 22 | printf "${bold}${YEL}Use the --mac flag for MacOS.${c0}\n" && 23 | 24 | makeWinDir () { 25 | mkdir -p /c/mozilla-source/ && 26 | cd /c/mozilla-source/ && 27 | printf "\n" && 28 | printf "${YEL}Bootstrapping Mozilla Repo...\n" && 29 | printf "\n" && 30 | tput sgr0 && 31 | curl https://hg.mozilla.org/mozilla-central/raw-file/default/python/mozboot/bin/bootstrap.py -O && 32 | python3 bootstrap.py 33 | } 34 | case $1 in 35 | --win) makeWinDir; exit 0;; 36 | esac 37 | 38 | makeLinuxDir () { 39 | cd $HOME && 40 | printf "\n" && 41 | printf "${YEL}Bootstrapping Mozilla Repo...\n" && 42 | printf "\n" && 43 | tput sgr0 && 44 | curl https://hg.mozilla.org/mozilla-central/raw-file/default/python/mozboot/bin/bootstrap.py -O && 45 | python3 bootstrap.py 46 | } 47 | case $1 in 48 | --linux) makeLinuxDir; exit 0;; 49 | esac 50 | 51 | makeMacDir () { 52 | cd $HOME && 53 | printf "\n" && 54 | printf "${YEL}Bootstrapping Mozilla Repo...\n" && 55 | printf "\n" && 56 | tput sgr0 && 57 | curl https://hg.mozilla.org/mozilla-central/raw-file/default/python/mozboot/bin/bootstrap.py -O && 58 | python3 bootstrap.py 59 | } 60 | case $1 in 61 | --mac) makeMacDir; exit 0;; 62 | esac 63 | 64 | tput sgr0 65 | -------------------------------------------------------------------------------- /browser/branding/branding-common.mozbuild: -------------------------------------------------------------------------------- 1 | # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- 2 | # vim: set filetype=python: 3 | # This Source Code Form is subject to the terms of the Mozilla Public 4 | # License, v. 2.0. If a copy of the MPL was not distributed with this 5 | # file, You can obtain one at http://mozilla.org/MPL/2.0/. 6 | 7 | 8 | @template 9 | def FirefoxBranding(): 10 | if CONFIG["MOZ_BRANDING_DIRECTORY"] == "browser/branding/official": 11 | JS_PREFERENCE_PP_FILES += [ 12 | "pref/firefox-branding.js", 13 | ] 14 | else: 15 | JS_PREFERENCE_FILES += [ 16 | "pref/firefox-branding.js", 17 | ] 18 | 19 | if CONFIG["MOZ_WIDGET_TOOLKIT"] == "windows": 20 | FINAL_TARGET_FILES[".."] += [ 21 | "firefox.VisualElementsManifest.xml", 22 | "private_browsing.VisualElementsManifest.xml", 23 | ] 24 | FINAL_TARGET_FILES.VisualElements += [ 25 | "PrivateBrowsing_150.png", 26 | "PrivateBrowsing_70.png", 27 | "VisualElements_150.png", 28 | "VisualElements_70.png", 29 | ] 30 | elif CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk": 31 | FINAL_TARGET_FILES.chrome.icons.default += [ 32 | "default128.png", 33 | "default16.png", 34 | "default22.png", 35 | "default24.png", 36 | "default256.png", 37 | "default32.png", 38 | "default48.png", 39 | "default64.png", 40 | ] 41 | -------------------------------------------------------------------------------- /browser/branding/mercury/LICENSE: -------------------------------------------------------------------------------- 1 | These files are under the MPL 2, as below. 2 | 3 | For more information, see: https://www.mozilla.org/foundation/licensing/ 4 | -------------------------------------------------------------------------------- /browser/branding/mercury/PrivateBrowsing_150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/browser/branding/mercury/PrivateBrowsing_150.png -------------------------------------------------------------------------------- /browser/branding/mercury/PrivateBrowsing_70.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/browser/branding/mercury/PrivateBrowsing_70.png -------------------------------------------------------------------------------- /browser/branding/mercury/VisualElements_150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/browser/branding/mercury/VisualElements_150.png -------------------------------------------------------------------------------- /browser/branding/mercury/VisualElements_70.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/browser/branding/mercury/VisualElements_70.png -------------------------------------------------------------------------------- /browser/branding/mercury/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/browser/branding/mercury/background.png -------------------------------------------------------------------------------- /browser/branding/mercury/branding.nsi: -------------------------------------------------------------------------------- 1 | # This Source Code Form is subject to the terms of the Mozilla Public 2 | # License, v. 2.0. If a copy of the MPL was not distributed with this 3 | # file, You can obtain one at http://mozilla.org/MPL/2.0/. 4 | 5 | # NSIS branding defines for unofficial builds. 6 | # The official release build branding.nsi is located in other-license/branding/firefox/ 7 | # The nightly build branding.nsi is located in browser/installer/windows/nsis/ 8 | 9 | # BrandFullNameInternal is used for some registry and file system values 10 | # instead of BrandFullName and typically should not be modified. 11 | !define BrandFullNameInternal "Mercury" 12 | #!define BrandShortName "Mercury" 13 | !define BrandFullName "Mercury" 14 | !define CompanyName "Mercury" 15 | !define URLInfoAbout "https://github.com/Alex313031/Mercury#readme" 16 | !define URLUpdateInfo "https://github.com/Alex313031/Mercury/releases" 17 | !define HelpLink "https://github.com/Alex313031/Mercury/issues" 18 | 19 | !define URLStubDownloadX86 "https://github.com/Alex313031/Mercury/releases" 20 | !define URLStubDownloadAMD64 "https://github.com/Alex313031/Mercury/releases/latest" 21 | !define URLStubDownloadAArch64 "https://github.com/Alex313031/Mercury/releases" 22 | !define URLManualDownload "https://github.com/Alex313031/Mercury/releases" 23 | !define URLSystemRequirements "https://www.mozilla.org/firefox/system-requirements/" 24 | !define Channel "release" 25 | 26 | # The installer's certificate name and issuer expected by the stub installer 27 | !define CertNameDownload "Mozilla Corporation" 28 | !define CertIssuerDownload "DigiCert SHA2 Assured ID Code Signing CA" 29 | 30 | # Dialog units are used so the UI displays correctly with the system's DPI 31 | # settings. 32 | !define PROFILE_CLEANUP_LABEL_TOP "35u" 33 | !define PROFILE_CLEANUP_LABEL_LEFT "0" 34 | !define PROFILE_CLEANUP_LABEL_WIDTH "100%" 35 | !define PROFILE_CLEANUP_LABEL_HEIGHT "80u" 36 | !define PROFILE_CLEANUP_LABEL_ALIGN "center" 37 | !define PROFILE_CLEANUP_CHECKBOX_LEFT "center" 38 | !define PROFILE_CLEANUP_CHECKBOX_WIDTH "100%" 39 | !define PROFILE_CLEANUP_BUTTON_LEFT "center" 40 | !define INSTALL_BLURB_TOP "137u" 41 | !define INSTALL_BLURB_WIDTH "60u" 42 | !define INSTALL_FOOTER_TOP "-48u" 43 | !define INSTALL_FOOTER_WIDTH "250u" 44 | !define INSTALL_INSTALLING_TOP "70u" 45 | !define INSTALL_INSTALLING_LEFT "0" 46 | !define INSTALL_INSTALLING_WIDTH "100%" 47 | !define INSTALL_PROGRESS_BAR_TOP "112u" 48 | !define INSTALL_PROGRESS_BAR_LEFT "20%" 49 | !define INSTALL_PROGRESS_BAR_WIDTH "60%" 50 | !define INSTALL_PROGRESS_BAR_HEIGHT "12u" 51 | 52 | !define PROFILE_CLEANUP_CHECKBOX_TOP_MARGIN "20u" 53 | !define PROFILE_CLEANUP_BUTTON_TOP_MARGIN "20u" 54 | !define PROFILE_CLEANUP_BUTTON_X_PADDING "40u" 55 | !define PROFILE_CLEANUP_BUTTON_Y_PADDING "4u" 56 | 57 | # Font settings that can be customized for each channel 58 | !define INSTALL_HEADER_FONT_SIZE 28 59 | !define INSTALL_HEADER_FONT_WEIGHT 400 60 | !define INSTALL_INSTALLING_FONT_SIZE 28 61 | !define INSTALL_INSTALLING_FONT_WEIGHT 400 62 | 63 | # The dialog units for the bitmap's dimensions should match exactly with the 64 | # bitmap's width and height in pixels. 65 | !define APPNAME_BMP_WIDTH_DU 159u 66 | !define APPNAME_BMP_HEIGHT_DU 50u 67 | !define INTRO_BLURB_WIDTH_DU "230u" 68 | !define INTRO_BLURB_EDGE_DU "198u" 69 | !define INTRO_BLURB_LTR_TOP_DU "16u" 70 | !define INTRO_BLURB_RTL_TOP_DU "11u" 71 | !define INSTALL_FOOTER_TOP_DU "-48u" 72 | 73 | # UI Colors that can be customized for each channel 74 | !define FOOTER_CONTROL_TEXT_COLOR_NORMAL 0x000000 75 | !define FOOTER_CONTROL_TEXT_COLOR_FADED 0x999999 76 | !define FOOTER_BKGRD_COLOR 0xFFFFFF 77 | !define INSTALL_FOOTER_TEXT_COLOR 0xFFFFFF 78 | !define INTRO_BLURB_TEXT_COLOR 0xFFFFFF 79 | !define INSTALL_BLURB_TEXT_COLOR 0xFFFFFF 80 | !define INSTALL_PROGRESS_TEXT_COLOR_NORMAL 0xFFFFFF 81 | !define COMMON_TEXT_COLOR 0xFFFFFF 82 | !define COMMON_TEXT_COLOR_NORMAL 0xFFFFFF 83 | !define COMMON_TEXT_COLOR_FADED 0xA1AAB3 84 | !define COMMON_BKGRD_COLOR 0x0F1B26 85 | !define COMMON_BACKGROUND_COLOR 0x0F1B26 86 | !define INSTALL_INSTALLING_TEXT_COLOR 0xFFFFFF 87 | -------------------------------------------------------------------------------- /browser/branding/mercury/configure.sh: -------------------------------------------------------------------------------- 1 | # This Source Code Form is subject to the terms of the Mozilla Public 2 | # License, v. 2.0. If a copy of the MPL was not distributed with this 3 | # file, You can obtain one at http://mozilla.org/MPL/2.0/. 4 | 5 | MOZ_APP_NAME=mercury 6 | 7 | MOZ_APP_BASENAME="Mercury" 8 | 9 | MOZ_APP_DISPLAYNAME=Mercury 10 | 11 | MOZ_APP_UA_NAME=Mercury 12 | 13 | MOZ_APP_PROFILE=mercury 14 | 15 | MOZ_APP_REMOTINGNAME=com.alex313031.mercury 16 | 17 | MOZ_MACBUNDLE_ID=com.alex313031.mercury 18 | 19 | MOZ_DISTRIBUTION_ID=com.alex313031.mercury 20 | 21 | MOZ_MACBUNDLE_NAME="Mercury.app" 22 | 23 | MOZ_SOURCE_REPO=https://github.com/Alex313031/mercury 24 | 25 | MOZ_APP_VENDOR=Alex313031 26 | 27 | MOZ_APP_CODENAME=hydrargyrum 28 | 29 | MOZ_DEVTOOLS=all 30 | -------------------------------------------------------------------------------- /browser/branding/mercury/content/about-logo-private.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/browser/branding/mercury/content/about-logo-private.png -------------------------------------------------------------------------------- /browser/branding/mercury/content/about-logo-private@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/browser/branding/mercury/content/about-logo-private@2x.png -------------------------------------------------------------------------------- /browser/branding/mercury/content/about-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/browser/branding/mercury/content/about-logo.png -------------------------------------------------------------------------------- /browser/branding/mercury/content/about-logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /browser/branding/mercury/content/about-logo@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/browser/branding/mercury/content/about-logo@2x.png -------------------------------------------------------------------------------- /browser/branding/mercury/content/about-wordmark.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /browser/branding/mercury/content/about.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/browser/branding/mercury/content/about.png -------------------------------------------------------------------------------- /browser/branding/mercury/content/aboutDialog.css: -------------------------------------------------------------------------------- 1 | /* This Source Code Form is subject to the terms of the Mozilla Public 2 | * License, v. 2.0. If a copy of the MPL was not distributed with this 3 | * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 4 | 5 | #aboutDialogContainer { 6 | background-color: #130829; 7 | color: #fff; 8 | color-scheme: dark; 9 | } 10 | 11 | #rightBox { 12 | background-size: auto 64px; 13 | margin-inline: 30px; 14 | padding-top: 64px; 15 | } 16 | 17 | #bottomBox { 18 | background-color: hsla(235, 43%, 10%, .5); 19 | padding: 15px 10px 15px; 20 | } 21 | -------------------------------------------------------------------------------- /browser/branding/mercury/content/aboutlogins.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /browser/branding/mercury/content/firefox-wordmark.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /browser/branding/mercury/content/jar.mn: -------------------------------------------------------------------------------- 1 | # This Source Code Form is subject to the terms of the Mozilla Public 2 | # License, v. 2.0. If a copy of the MPL was not distributed with this 3 | # file, You can obtain one at http://mozilla.org/MPL/2.0/. 4 | 5 | browser.jar: 6 | % content branding %content/branding/ contentaccessible=yes 7 | content/branding/about.png 8 | content/branding/aboutlogins.svg 9 | content/branding/about-logo.png 10 | content/branding/about-logo.svg 11 | content/branding/about-logo@2x.png 12 | content/branding/about-logo-private.png 13 | content/branding/about-logo-private@2x.png 14 | content/branding/about-wordmark.svg 15 | content/branding/document.ico (../document.ico) 16 | content/branding/firefox-wordmark.svg 17 | content/branding/icon16.png (../default16.png) 18 | content/branding/icon32.png (../default32.png) 19 | content/branding/icon48.png (../default48.png) 20 | content/branding/icon64.png (../default64.png) 21 | content/branding/icon128.png (../default128.png) 22 | content/branding/aboutDialog.css 23 | -------------------------------------------------------------------------------- /browser/branding/mercury/content/moz.build: -------------------------------------------------------------------------------- 1 | # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- 2 | # vim: set filetype=python: 3 | # This Source Code Form is subject to the terms of the Mozilla Public 4 | # License, v. 2.0. If a copy of the MPL was not distributed with this 5 | # file, You can obtain one at http://mozilla.org/MPL/2.0/. 6 | 7 | JAR_MANIFESTS += ["jar.mn"] 8 | -------------------------------------------------------------------------------- /browser/branding/mercury/default128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/browser/branding/mercury/default128.png -------------------------------------------------------------------------------- /browser/branding/mercury/default16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/browser/branding/mercury/default16.png -------------------------------------------------------------------------------- /browser/branding/mercury/default22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/browser/branding/mercury/default22.png -------------------------------------------------------------------------------- /browser/branding/mercury/default24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/browser/branding/mercury/default24.png -------------------------------------------------------------------------------- /browser/branding/mercury/default256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/browser/branding/mercury/default256.png -------------------------------------------------------------------------------- /browser/branding/mercury/default32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/browser/branding/mercury/default32.png -------------------------------------------------------------------------------- /browser/branding/mercury/default48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/browser/branding/mercury/default48.png -------------------------------------------------------------------------------- /browser/branding/mercury/default64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/browser/branding/mercury/default64.png -------------------------------------------------------------------------------- /browser/branding/mercury/disk.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/browser/branding/mercury/disk.icns -------------------------------------------------------------------------------- /browser/branding/mercury/document.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/browser/branding/mercury/document.icns -------------------------------------------------------------------------------- /browser/branding/mercury/document.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/browser/branding/mercury/document.ico -------------------------------------------------------------------------------- /browser/branding/mercury/document_pdf.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/browser/branding/mercury/document_pdf.ico -------------------------------------------------------------------------------- /browser/branding/mercury/dsstore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/browser/branding/mercury/dsstore -------------------------------------------------------------------------------- /browser/branding/mercury/firefox.VisualElementsManifest.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 12 | 13 | -------------------------------------------------------------------------------- /browser/branding/mercury/firefox.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/browser/branding/mercury/firefox.icns -------------------------------------------------------------------------------- /browser/branding/mercury/firefox.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/browser/branding/mercury/firefox.ico -------------------------------------------------------------------------------- /browser/branding/mercury/firefox64.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/browser/branding/mercury/firefox64.ico -------------------------------------------------------------------------------- /browser/branding/mercury/locales/en-US/brand.dtd: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 7 | 8 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /browser/branding/mercury/locales/en-US/brand.ftl: -------------------------------------------------------------------------------- 1 | # This Source Code Form is subject to the terms of the Mozilla Public 2 | # License, v. 2.0. If a copy of the MPL was not distributed with this 3 | # file, You can obtain one at http://mozilla.org/MPL/2.0/. 4 | 5 | ## Firefox and Mozilla Brand 6 | ## 7 | ## Firefox and Mozilla must be treated as a brand. 8 | ## 9 | ## They cannot be: 10 | ## - Transliterated. 11 | ## - Translated. 12 | ## 13 | ## Declension should be avoided where possible, leaving the original 14 | ## brand unaltered in prominent UI positions. 15 | ## 16 | ## For further details, consult: 17 | ## https://mozilla-l10n.github.io/styleguides/mozilla_general/#brands-copyright-and-trademark 18 | 19 | -brand-shorter-name = Mercury 20 | -brand-short-name = Mercury 21 | -brand-shortcut-name = Mercury 22 | -brand-full-name = Mercury 23 | # This brand name can be used in messages where the product name needs to 24 | # remain unchanged across different versions (Nightly, Beta, etc.). 25 | -brand-product-name = Mercury 26 | -vendor-short-name = Mercury 27 | trademarkInfo = { "Mercury logos are copyrights of Alex313031." } 28 | -------------------------------------------------------------------------------- /browser/branding/mercury/locales/en-US/brand.properties: -------------------------------------------------------------------------------- 1 | # This Source Code Form is subject to the terms of the Mozilla Public 2 | # License, v. 2.0. If a copy of the MPL was not distributed with this 3 | # file, You can obtain one at http://mozilla.org/MPL/2.0/. 4 | 5 | brandShorterName=Mercury 6 | brandShortName=Mercury 7 | brandFullName=Mercury 8 | # LOCALIZATION NOTE(brandProductName): 9 | # This brand name can be used in messages where the product name needs to 10 | # remain unchanged across different versions (Nightly, Beta, etc.). 11 | brandProductName=Mercury 12 | vendorShortName=Mercury 13 | 14 | syncBrandShortName=Mercury Sync 15 | -------------------------------------------------------------------------------- /browser/branding/mercury/locales/jar.mn: -------------------------------------------------------------------------------- 1 | #filter substitution 2 | # This Source Code Form is subject to the terms of the Mozilla Public 3 | # License, v. 2.0. If a copy of the MPL was not distributed with this 4 | # file, You can obtain one at http://mozilla.org/MPL/2.0/. 5 | 6 | [localization] @AB_CD@.jar: 7 | branding (en-US/**/*.ftl) 8 | 9 | @AB_CD@.jar: 10 | % locale branding @AB_CD@ %locale/branding/ 11 | # Unofficial branding only exists in en-US 12 | locale/branding/brand.dtd (en-US/brand.dtd) 13 | locale/branding/brand.properties (en-US/brand.properties) 14 | -------------------------------------------------------------------------------- /browser/branding/mercury/locales/moz.build: -------------------------------------------------------------------------------- 1 | # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- 2 | # vim: set filetype=python: 3 | # This Source Code Form is subject to the terms of the Mozilla Public 4 | # License, v. 2.0. If a copy of the MPL was not distributed with this 5 | # file, You can obtain one at http://mozilla.org/MPL/2.0/. 6 | 7 | JAR_MANIFESTS += ["jar.mn"] 8 | -------------------------------------------------------------------------------- /browser/branding/mercury/moz.build: -------------------------------------------------------------------------------- 1 | # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- 2 | # vim: set filetype=python: 3 | # This Source Code Form is subject to the terms of the Mozilla Public 4 | # License, v. 2.0. If a copy of the MPL was not distributed with this 5 | # file, You can obtain one at http://mozilla.org/MPL/2.0/. 6 | 7 | DIRS += ["content", "locales"] 8 | 9 | DIST_SUBDIR = "browser" 10 | export("DIST_SUBDIR") 11 | 12 | include("../branding-common.mozbuild") 13 | FirefoxBranding() 14 | -------------------------------------------------------------------------------- /browser/branding/mercury/msix/Assets/Document44x44.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/browser/branding/mercury/msix/Assets/Document44x44.png -------------------------------------------------------------------------------- /browser/branding/mercury/msix/Assets/LargeTile.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/browser/branding/mercury/msix/Assets/LargeTile.scale-200.png -------------------------------------------------------------------------------- /browser/branding/mercury/msix/Assets/SmallTile.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/browser/branding/mercury/msix/Assets/SmallTile.scale-200.png -------------------------------------------------------------------------------- /browser/branding/mercury/msix/Assets/Square150x150Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/browser/branding/mercury/msix/Assets/Square150x150Logo.scale-200.png -------------------------------------------------------------------------------- /browser/branding/mercury/msix/Assets/Square44x44Logo.altform-lightunplated_targetsize-256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/browser/branding/mercury/msix/Assets/Square44x44Logo.altform-lightunplated_targetsize-256.png -------------------------------------------------------------------------------- /browser/branding/mercury/msix/Assets/Square44x44Logo.altform-unplated_targetsize-256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/browser/branding/mercury/msix/Assets/Square44x44Logo.altform-unplated_targetsize-256.png -------------------------------------------------------------------------------- /browser/branding/mercury/msix/Assets/Square44x44Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/browser/branding/mercury/msix/Assets/Square44x44Logo.scale-200.png -------------------------------------------------------------------------------- /browser/branding/mercury/msix/Assets/Square44x44Logo.targetsize-256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/browser/branding/mercury/msix/Assets/Square44x44Logo.targetsize-256.png -------------------------------------------------------------------------------- /browser/branding/mercury/msix/Assets/StoreLogo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/browser/branding/mercury/msix/Assets/StoreLogo.scale-200.png -------------------------------------------------------------------------------- /browser/branding/mercury/msix/Assets/Wide310x150Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/browser/branding/mercury/msix/Assets/Wide310x150Logo.scale-200.png -------------------------------------------------------------------------------- /browser/branding/mercury/newtab.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/browser/branding/mercury/newtab.ico -------------------------------------------------------------------------------- /browser/branding/mercury/newwindow.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/browser/branding/mercury/newwindow.ico -------------------------------------------------------------------------------- /browser/branding/mercury/pbmode.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/browser/branding/mercury/pbmode.ico -------------------------------------------------------------------------------- /browser/branding/mercury/pref/firefox-branding.js: -------------------------------------------------------------------------------- 1 | /* This Source Code Form is subject to the terms of the Mozilla Public 2 | * License, v. 2.0. If a copy of the MPL was not distributed with this 3 | * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 4 | 5 | // This file contains branding-specific prefs. 6 | 7 | pref("startup.homepage_override_url", ""); 8 | pref("startup.homepage_welcome_url", ""); 9 | pref("startup.homepage_welcome_url.additional", ""); 10 | // The time interval between checks for a new version (in seconds) 11 | pref("app.update.interval", 86400); // 24 hours 12 | // Give the user x seconds to react before showing the big UI. default=24 hours 13 | pref("app.update.promptWaitTime", 691200); 14 | // URL user can browse to manually if for some reason all update installation 15 | // attempts fail. 16 | pref("app.update.url.manual", "https://github.com/Alex313031/Mercury/releases"); 17 | // A default value for the "More information about this update" link 18 | // supplied in the "An update is available" page of the update wizard. 19 | pref("app.update.url.details", "https://nightly.mozilla.org"); 20 | 21 | // The number of days a binary is permitted to be old 22 | // without checking for an update. This assumes that 23 | // app.update.checkInstallTime is true. 24 | pref("app.update.checkInstallTime.days", 63); 25 | 26 | // Give the user x seconds to reboot before showing a badge on the hamburger 27 | // button. default=4 days 28 | pref("app.update.badgeWaitTime", 345600); 29 | 30 | // Number of usages of the web console. 31 | // If this is less than 5, then pasting code into the web console is disabled 32 | pref("devtools.selfxss.count", 0); 33 | -------------------------------------------------------------------------------- /browser/branding/mercury/private_browsing.VisualElementsManifest.xml: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 | 12 | 13 | -------------------------------------------------------------------------------- /browser/branding/mercury/stubinstaller/bgstub.bak: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/browser/branding/mercury/stubinstaller/bgstub.bak -------------------------------------------------------------------------------- /browser/branding/mercury/stubinstaller/bgstub.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/browser/branding/mercury/stubinstaller/bgstub.jpg -------------------------------------------------------------------------------- /browser/branding/mercury/stubinstaller/installing_page.css: -------------------------------------------------------------------------------- 1 | /* This Source Code Form is subject to the terms of the Mozilla Public 2 | * License, v. 2.0. If a copy of the MPL was not distributed with this 3 | * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 4 | 5 | body { 6 | color: white; 7 | } 8 | 9 | #label, 10 | #progress_background, 11 | #blurb { 12 | text-align: center; 13 | margin: 20px 30px; 14 | } 15 | 16 | #label { 17 | font-size: 40px; 18 | margin-top: 100px; 19 | margin-bottom: 20px; 20 | } 21 | 22 | #progress_background { 23 | margin: 0 auto; 24 | width: 60%; 25 | height: 24px; 26 | background-color: white; 27 | } 28 | 29 | body.high-contrast #progress_background { 30 | outline: solid; 31 | } 32 | 33 | #progress_bar { 34 | margin: 0; 35 | width: 0%; 36 | height: 100%; 37 | background-color: #00AAFF; 38 | } 39 | 40 | /* In high contrast mode, fill the entire progress bar with its border. */ 41 | body.high-contrast #progress_bar { 42 | /* This border should be the height of progress_background. */ 43 | border-top: 24px solid; 44 | box-sizing: border-box; 45 | } 46 | 47 | /* This layout doesn't want the header or content text. */ 48 | #header, #content { 49 | display: none; 50 | } 51 | 52 | #blurb { 53 | font-size: 20px; 54 | } 55 | 56 | /* The footer goes in the bottom right corner. */ 57 | #footer { 58 | position: fixed; 59 | right: 50px; 60 | bottom: 60px; 61 | } 62 | -------------------------------------------------------------------------------- /browser/branding/mercury/stubinstaller/profile_cleanup_page.css: -------------------------------------------------------------------------------- 1 | /* This Source Code Form is subject to the terms of the Mozilla Public 2 | * License, v. 2.0. If a copy of the MPL was not distributed with this 3 | * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 4 | 5 | body { 6 | color: white; 7 | } 8 | 9 | #header, 10 | #refreshCheckboxContainer, 11 | #refreshButtonContainer { 12 | text-align: center; 13 | margin-left: 40px; 14 | margin-right: 40px; 15 | margin-bottom: 30px; 16 | } 17 | 18 | #header { 19 | font-size: 35px; 20 | font-weight: normal; 21 | margin-top: 45px; 22 | } 23 | 24 | #refreshCheckbox { 25 | vertical-align: middle; 26 | } 27 | 28 | #checkboxLabel { 29 | font-size: 13px; 30 | } 31 | 32 | #refreshButton { 33 | padding: 8px 40px; 34 | font-size: 15px; 35 | } 36 | 37 | /* The footer goes in the bottom right corner. */ 38 | #footer { 39 | position: fixed; 40 | right: 50px; 41 | bottom: 59px; 42 | } 43 | -------------------------------------------------------------------------------- /browser/branding/mercury/wizHeader.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/browser/branding/mercury/wizHeader.bmp -------------------------------------------------------------------------------- /browser/branding/mercury/wizHeaderRTL.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/browser/branding/mercury/wizHeaderRTL.bmp -------------------------------------------------------------------------------- /browser/branding/mercury/wizWatermark.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/browser/branding/mercury/wizWatermark.bmp -------------------------------------------------------------------------------- /browser/components/newtab/data/content/tippytop/favicons/firefoxaddons.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/browser/components/newtab/data/content/tippytop/favicons/firefoxaddons.ico -------------------------------------------------------------------------------- /browser/components/newtab/data/content/tippytop/images/firefoxaddons@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/browser/components/newtab/data/content/tippytop/images/firefoxaddons@2x.png -------------------------------------------------------------------------------- /browser/components/newtab/lib/DefaultSites.sys.mjs: -------------------------------------------------------------------------------- 1 | /* This Source Code Form is subject to the terms of the Mozilla Public 2 | * License, v. 2.0. If a copy of the MPL was not distributed with this file, 3 | * You can obtain one at http://mozilla.org/MPL/2.0/. */ 4 | 5 | const DEFAULT_SITES_MAP = new Map([ 6 | // This first item is the global list fallback for any unexpected geos 7 | [ 8 | "", 9 | "https://addons.mozilla.org,https://www.youtube.com/,https://www.facebook.com/,https://www.wikipedia.org/,https://www.reddit.com/", 10 | ], 11 | [ 12 | "US", 13 | "https://addons.mozilla.org,https://www.youtube.com/,https://www.facebook.com/,https://www.wikipedia.org/,https://www.reddit.com/", 14 | ], 15 | [ 16 | "CA", 17 | "https://addons.mozilla.org,https://www.youtube.com/,https://www.facebook.com/,https://www.wikipedia.org/,https://www.reddit.com/", 18 | ], 19 | [ 20 | "DE", 21 | "https://www.youtube.com/,https://www.facebook.com/,https://www.amazon.de/,https://www.ebay.de/,https://www.wikipedia.org/,https://www.reddit.com/", 22 | ], 23 | [ 24 | "PL", 25 | "https://www.youtube.com/,https://www.facebook.com/,https://allegro.pl/,https://www.wikipedia.org/,https://www.olx.pl/,https://www.wykop.pl/", 26 | ], 27 | [ 28 | "RU", 29 | "https://vk.com/,https://www.youtube.com/,https://ok.ru/,https://www.avito.ru/,https://www.aliexpress.com/,https://www.wikipedia.org/", 30 | ], 31 | [ 32 | "GB", 33 | "https://www.youtube.com/,https://www.facebook.com/,https://www.reddit.com/,https://www.amazon.co.uk/,https://www.bbc.co.uk/,https://www.ebay.co.uk/", 34 | ], 35 | [ 36 | "FR", 37 | "https://www.youtube.com/,https://www.facebook.com/,https://www.wikipedia.org/,https://www.amazon.fr/,https://www.leboncoin.fr/,https://twitter.com/", 38 | ], 39 | [ 40 | "CN", 41 | "https://www.baidu.com/,https://www.zhihu.com/,https://www.ifeng.com/,https://weibo.com/,https://www.ctrip.com/,https://www.iqiyi.com/", 42 | ], 43 | ]); 44 | 45 | /* const DEFAULT_SITES_MAP = new Map([["", "https://addons.mozilla.org,https://www.youtube.com/,https://www.facebook.com/,https://www.wikipedia.org/,https://www.reddit.com/"]]); */ 46 | 47 | // Immutable for export. 48 | export const DEFAULT_SITES = Object.freeze(DEFAULT_SITES_MAP); 49 | -------------------------------------------------------------------------------- /browser/confvars.sh: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | # This Source Code Form is subject to the terms of the Mozilla Public 3 | # License, v. 2.0. If a copy of the MPL was not distributed with this 4 | # file, You can obtain one at http://mozilla.org/MPL/2.0/. 5 | 6 | # MOZ_APP_DISPLAYNAME will be set by branding/configure.sh 7 | # MOZ_BRANDING_DIRECTORY is the default branding directory used when none is 8 | # specified. It should never point to the "official" branding directory. 9 | # For mozilla-beta, mozilla-release, or mozilla-central repositories, use 10 | # "unofficial" branding. 11 | # For the mozilla-aurora repository, use "aurora". 12 | MOZ_BRANDING_DIRECTORY=browser/branding/mercury 13 | MOZ_OFFICIAL_BRANDING_DIRECTORY=browser/branding/official 14 | -------------------------------------------------------------------------------- /browser/installer/windows/app.tag: -------------------------------------------------------------------------------- 1 | ;!@Install@!UTF-8! 2 | Title="Mercury" 3 | RunProgram="setup.exe" 4 | ;!@InstallEnd@! 5 | -------------------------------------------------------------------------------- /browser/locales/en-US/browser/aboutDialog.ftl: -------------------------------------------------------------------------------- 1 | # This Source Code Form is subject to the terms of the Mozilla Public 2 | # License, v. 2.0. If a copy of the MPL was not distributed with this 3 | # file, You can obtain one at http://mozilla.org/MPL/2.0/. 4 | 5 | aboutDialog-title = 6 | .title = About { -brand-full-name } 7 | 8 | releaseNotes-link = What’s new 9 | 10 | update-checkForUpdatesButton = 11 | .label = Check for updates 12 | .accesskey = C 13 | 14 | update-updateButton = 15 | .label = Restart to Update { -brand-shorter-name } 16 | .accesskey = R 17 | 18 | update-checkingForUpdates = Checking for updates… 19 | 20 | ## Variables: 21 | ## $transfer (string) - Transfer progress. 22 | 23 | settings-update-downloading = Downloading update — 24 | aboutdialog-update-downloading = Downloading update — 25 | 26 | ## 27 | 28 | update-applying = Applying update… 29 | 30 | update-failed = Update failed. 31 | update-failed-main = 32 | Update failed. Download the latest version 33 | 34 | update-policy-disabled = Updates disabled by your organization 35 | update-noUpdatesFound = { -brand-short-name } is up to date 36 | aboutdialog-update-checking-failed = Failed to check for updates. 37 | update-otherInstanceHandlingUpdates = { -brand-short-name } is being updated by another instance 38 | 39 | ## Variables: 40 | ## $displayUrl (String): URL to page with download instructions. Example: www.mozilla.org/firefox/nightly/ 41 | 42 | aboutdialog-update-manual-with-link = Updates available at 43 | settings-update-manual-with-link = Updates available at { $displayUrl } 44 | 45 | update-unsupported = You can not perform further updates on this system. 46 | 47 | update-restarting = Restarting… 48 | 49 | update-internal-error2 = Unable to check for updates due to internal error. Updates available at 50 | 51 | ## 52 | 53 | # Variables: 54 | # $channel (String): description of the update channel (e.g. "release", "beta", "nightly" etc.) 55 | aboutdialog-channel-description = You are currently on the update channel. 56 | 57 | warningDesc-version = { -brand-short-name } is experimental and may be unstable. 58 | 59 | aboutdialog-help-user = { -brand-product-name } Help 60 | aboutdialog-submit-feedback = Submit Feedback 61 | 62 | community-exp = is a working together to keep the Web open, public and accessible to all. 63 | 64 | community-2 = { -brand-short-name } is designed by and , a working together to keep the Web open, public and accessible to all. 65 | 66 | helpus = Want to help? or 67 | 68 | bottomLinks-license = Licensing Information 69 | bottomLinks-rights = End-User Rights 70 | bottomLinks-privacy = Privacy Policy 71 | 72 | # Example of resulting string: 66.0.1 (64-bit) 73 | # Variables: 74 | # $version (String): version of Firefox, e.g. 66.0.1 75 | # $bits (Number): bits of the architecture (32 or 64) 76 | aboutDialog-version = { $version } ({ $bits }-bit) 77 | 78 | # Example of resulting string: 66.0a1 (2019-01-16) (64-bit) 79 | # Variables: 80 | # $version (String): version of Firefox for Nightly builds, e.g. 66.0a1 81 | # $isodate (String): date in ISO format, e.g. 2019-01-16 82 | # $bits (Number): bits of the architecture (32 or 64) 83 | aboutDialog-version-nightly = { $version } ({ $isodate }) ({ $bits }-bit) 84 | -------------------------------------------------------------------------------- /browser/locales/en-US/chrome/overrides/appstrings.properties: -------------------------------------------------------------------------------- 1 | # This Source Code Form is subject to the terms of the Mozilla Public 2 | # License, v. 2.0. If a copy of the MPL was not distributed with this 3 | # file, You can obtain one at http://mozilla.org/MPL/2.0/. 4 | 5 | malformedURI2=Please check that the URL is correct and try again. 6 | fileNotFound=Mercury can’t find the file at %S. 7 | fileAccessDenied=The file at %S is not readable. 8 | dnsNotFound2=We can’t connect to the server at %S. 9 | unknownProtocolFound=Mercury doesn’t know how to open this address, because one of the following protocols (%S) isn’t associated with any program or is not allowed in this context. 10 | connectionFailure=Mercury can’t establish a connection to the server at %S. 11 | netInterrupt=The connection to %S was interrupted while the page was loading. 12 | netTimeout=The server at %S is taking too long to respond. 13 | redirectLoop=Mercury has detected that the server is redirecting the request for this address in a way that will never complete. 14 | ## LOCALIZATION NOTE (confirmRepostPrompt): In this item, don’t translate "%S" 15 | confirmRepostPrompt=To display this page, %S must send information that will repeat any action (such as a search or order confirmation) that was performed earlier. 16 | resendButton.label=Resend 17 | unknownSocketType=Mercury doesn’t know how to communicate with the server. 18 | netReset=The connection to the server was reset while the page was loading. 19 | notCached=This document is no longer available. 20 | netOffline=Mercury is currently in offline mode and can’t browse the Web. 21 | isprinting=The document cannot change while Printing or in Print Preview. 22 | deniedPortAccess=This address uses a network port which is normally used for purposes other than Web browsing. Mercury has canceled the request for your protection. 23 | proxyResolveFailure=Mercury is configured to use a proxy server that can’t be found. 24 | proxyConnectFailure=Mercury is configured to use a proxy server that is refusing connections. 25 | contentEncodingError=The page you are trying to view cannot be shown because it uses an invalid or unsupported form of compression. 26 | unsafeContentType=The page you are trying to view cannot be shown because it is contained in a file type that may not be safe to open. Please contact the website owners to inform them of this problem. 27 | externalProtocolTitle=External Protocol Request 28 | externalProtocolPrompt=An external application must be launched to handle %1$S: links.\n\n\nRequested link:\n\n%2$S\n\nApplication: %3$S\n\n\nIf you were not expecting this request it may be an attempt to exploit a weakness in that other program. Cancel this request unless you are sure it is not malicious.\n 29 | #LOCALIZATION NOTE (externalProtocolUnknown): The following string is shown if the application name can't be determined 30 | externalProtocolUnknown= 31 | externalProtocolChkMsg=Remember my choice for all links of this type. 32 | externalProtocolLaunchBtn=Launch application 33 | malwareBlocked=The site at %S has been reported as an attack site and has been blocked based on your security preferences. 34 | harmfulBlocked=The site at %S has been reported as a potentially harmful site and has been blocked based on your security preferences. 35 | unwantedBlocked=The site at %S has been reported as serving unwanted software and has been blocked based on your security preferences. 36 | deceptiveBlocked=This web page at %S has been reported as a deceptive site and has been blocked based on your security preferences. 37 | cspBlocked=This page has a content security policy that prevents it from being loaded in this way. 38 | xfoBlocked=This page has an X-Frame-Options policy that prevents it from being loaded in this context. 39 | corruptedContentErrorv2=The site at %S has experienced a network protocol violation that cannot be repaired. 40 | ## LOCALIZATION NOTE (sslv3Used) - Do not translate "%S". 41 | sslv3Used=Mercury cannot guarantee the safety of your data on %S because it uses SSLv3, a broken security protocol. 42 | inadequateSecurityError=The website tried to negotiate an inadequate level of security. 43 | blockedByPolicy=Your organization has blocked access to this page or website. 44 | networkProtocolError=Mercury has experienced a network protocol violation that cannot be repaired. 45 | -------------------------------------------------------------------------------- /browser/moz.configure: -------------------------------------------------------------------------------- 1 | # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- 2 | # vim: set filetype=python: 3 | # This Source Code Form is subject to the terms of the Mozilla Public 4 | # License, v. 2.0. If a copy of the MPL was not distributed with this 5 | # file, You can obtain one at http://mozilla.org/MPL/2.0/. 6 | 7 | imply_option("MOZ_PLACES", True) 8 | imply_option("MOZ_SERVICES_HEALTHREPORT", False) 9 | imply_option("MOZ_SERVICES_SYNC", True) 10 | imply_option("MOZ_DEDICATED_PROFILES", True) 11 | imply_option("MOZ_BLOCK_PROFILE_DOWNGRADE", False) 12 | imply_option("MOZ_NORMANDY", False) 13 | imply_option("MOZ_PROFILE_MIGRATOR", True) 14 | 15 | 16 | imply_option("MOZ_APP_VENDOR", "Alex313031") 17 | imply_option("MOZ_APP_ID", "{ec8030f7-c20a-464f-9b0e-13a3a9e97384}") 18 | # Include the DevTools client, not just the server (which is the default) 19 | imply_option("MOZ_DEVTOOLS", "all") 20 | imply_option("BROWSER_CHROME_URL", "chrome://browser/content/browser.xhtml") 21 | 22 | with only_when(target_has_linux_kernel & compile_environment): 23 | option(env="MOZ_NO_PIE_COMPAT", help="Enable non-PIE wrapper") 24 | 25 | set_config("MOZ_NO_PIE_COMPAT", depends_if("MOZ_NO_PIE_COMPAT")(lambda _: True)) 26 | 27 | 28 | @depends(target, update_channel, have_64_bit, moz_debug, "MOZ_AUTOMATION") 29 | @imports(_from="os", _import="environ") 30 | def requires_stub_installer( 31 | target, update_channel, have_64_bit, moz_debug, moz_automation 32 | ): 33 | if target.kernel != "WINNT": 34 | return False 35 | if have_64_bit: 36 | return False 37 | if update_channel not in ("nightly", "nightly-try", "aurora", "beta", "release"): 38 | return False 39 | 40 | if moz_debug: 41 | return False 42 | 43 | # Expect USE_STUB_INSTALLER from taskcluster for downstream task consistency 44 | if moz_automation and not environ.get("USE_STUB_INSTALLER"): 45 | die( 46 | "STUB installer expected to be enabled but " 47 | "USE_STUB_INSTALLER is not specified in the environment" 48 | ) 49 | 50 | return True 51 | 52 | 53 | imply_option("MOZ_STUB_INSTALLER", True, when=requires_stub_installer) 54 | 55 | include("../toolkit/moz.configure") 56 | -------------------------------------------------------------------------------- /build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Copyright (c) 2024 Alex313031. 4 | 5 | YEL='\033[1;33m' # Yellow 6 | CYA='\033[1;96m' # Cyan 7 | RED='\033[1;31m' # Red 8 | GRE='\033[1;32m' # Green 9 | c0='\033[0m' # Reset Text 10 | bold='\033[1m' # Bold Text 11 | underline='\033[4m' # Underline Text 12 | 13 | # Error handling 14 | yell() { echo "$0: $*" >&2; } 15 | die() { yell "$*"; exit 111; } 16 | try() { "$@" || die "${RED}Failed $*"; } 17 | 18 | # --help 19 | displayHelp () { 20 | printf "\n" && 21 | printf "${bold}${GRE}Script to build Mercury Browser.${c0}\n" && 22 | printf "${underline}${YEL}Usage:${c0} build.sh\n" && 23 | printf "You can also run ${CYA}export MOZ_MAKE_FLAGS=\"-j#\"${c0} where # is the number of jobs.\n" && 24 | printf "\n" 25 | } 26 | case $1 in 27 | --help) displayHelp; exit 0;; 28 | esac 29 | 30 | # mozilla source dir env variable 31 | if [ -z "${HG_SRC_DIR}" ]; then 32 | HG_SRC_DIR="$HOME/mozilla-unified" 33 | export HG_SRC_DIR 34 | else 35 | HG_SRC_DIR="${HG_SRC_DIR}" 36 | export HG_SRC_DIR 37 | fi 38 | 39 | printf "\n" && 40 | printf "${GRE}Building Mercury...\n" && 41 | printf "${CYA}\n" && 42 | 43 | cd ${HG_SRC_DIR} && 44 | 45 | ./mach build -v && 46 | 47 | printf "\n" && 48 | printf "${GRE}${bold}Build Completed!\n" && 49 | printf "${GRE}${bold}You can now run \`./package.sh\` to generate installation packages.\n" && 50 | tput sgr0 51 | -------------------------------------------------------------------------------- /build/application.ini.in: -------------------------------------------------------------------------------- 1 | #ifdef MOZ_BUILD_APP_IS_BROWSER 2 | ; This file is not used. If you modify it and want the application to use 3 | ; your modifications, move it under the browser/ subdirectory and start with 4 | ; the "-app /path/to/browser/application.ini" argument. 5 | #else 6 | ; This file is not used. If you modify it and want the application to use 7 | ; your modifications, start with the "-app /path/to/application.ini" 8 | ; argument. 9 | #endif 10 | #if 0 11 | ; This Source Code Form is subject to the terms of the Mozilla Public 12 | ; License, v. 2.0. If a copy of the MPL was not distributed with this 13 | ; file, You can obtain one at http://mozilla.org/MPL/2.0/. 14 | #endif 15 | #filter substitution 16 | #include @TOPOBJDIR@/buildid.h 17 | #include @TOPOBJDIR@/source-repo.h 18 | [App] 19 | Vendor=@MOZ_APP_VENDOR@ 20 | Name=@MOZ_APP_BASENAME@ 21 | RemotingName=@MOZ_APP_REMOTINGNAME@ 22 | #ifdef MOZ_APP_DISPLAYNAME 23 | CodeName=hydrargyrum 24 | #endif 25 | Version=@MOZ_APP_VERSION@ 26 | #ifdef MOZ_APP_PROFILE 27 | Profile=@MOZ_APP_PROFILE@ 28 | #endif 29 | BuildID=@MOZ_BUILDID@ 30 | #ifdef MOZ_SOURCE_REPO 31 | SourceRepository=@MOZ_SOURCE_REPO@ 32 | #endif 33 | #ifdef MOZ_SOURCE_STAMP 34 | SourceStamp=@MOZ_SOURCE_STAMP@ 35 | #endif 36 | ID=@MOZ_APP_ID@ 37 | 38 | [Gecko] 39 | MinVersion=@GRE_MILESTONE@ 40 | MaxVersion=@GRE_MILESTONE@ 41 | 42 | [XRE] 43 | #ifdef MOZ_PROFILE_MIGRATOR 44 | EnableProfileMigrator=1 45 | #endif 46 | 47 | #if MOZ_CRASHREPORTER 48 | [Crash Reporter] 49 | Enabled=1 50 | ServerURL=@MOZ_CRASHREPORTER_URL@/submit?id=@MOZ_APP_ID@&version=@MOZ_APP_VERSION@&buildid=@MOZ_BUILDID@ 51 | #endif 52 | 53 | #if MOZ_UPDATER 54 | [AppUpdate] 55 | URL=https://@MOZ_APPUPDATE_HOST@/update/6/%PRODUCT%/%VERSION%/%BUILD_ID%/%BUILD_TARGET%/%LOCALE%/%CHANNEL%/%OS_VERSION%/%SYSTEM_CAPABILITIES%/%DISTRIBUTION%/%DISTRIBUTION_VERSION%/update.xml 56 | #endif 57 | -------------------------------------------------------------------------------- /build/codename.txt: -------------------------------------------------------------------------------- 1 | hydrargyrum 2 | -------------------------------------------------------------------------------- /devtools/client/themes/images/aboutdebugging-fenix-nightly.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /devtools/client/themes/images/aboutdebugging-fenix.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /devtools/client/themes/images/aboutdebugging-firefox-aurora.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /devtools/client/themes/images/aboutdebugging-firefox-beta.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /devtools/client/themes/images/aboutdebugging-firefox-logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /devtools/client/themes/images/aboutdebugging-firefox-nightly.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /devtools/client/themes/images/aboutdebugging-firefox-release.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /dist/DEBIAN/control: -------------------------------------------------------------------------------- 1 | Package: mercury-browser 2 | Version: 129.0.2 3 | Architecture: amd64 4 | Maintainer: Alex313031 5 | Installed-Size: 246000 6 | Build-Depends: debhelper (>= 9) 7 | Depends: lsb-release, libasound2, libatk1.0-0, libc6, libcairo-gobject2, libcairo2, libdbus-1-3, libdbus-glib-1-2, libfontconfig1, libfreetype6, libgdk-pixbuf2.0-0, libglib2.0-0, libgtk-3-0, libharfbuzz0b, libpango-1.0-0, libpangocairo-1.0-0, libstdc++6, libx11-6, libx11-xcb1, libxcb-shm0, libxcb1, libxcomposite1, libxcursor1, libxdamage1, libxext6, libxfixes3, libxi6, libxrandr2, libxrender1, libxtst6 8 | Recommends: libcanberra0, libdbusmenu-glib4, libdbusmenu-gtk3-4, libvulkan1 9 | Suggests: fonts-lyx 10 | Provides: gnome-www-browser, www-browser 11 | Section: web 12 | Priority: optional 13 | Description: A Firefox fork with compiler optimizations and patches from Librewolf, Waterfox, BetterFox, Ghostery, and GNU IceCat. 14 | Mercury delivers safe and fast web browsing. Featuring a familiar user interface, enhanced security and 15 | privacy features, and AVX compiler optimizations, Mercury lets you get the most out of the web. 16 | -------------------------------------------------------------------------------- /dist/DEBIAN/postinst: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Copyright (c) 2024 Alex313031. 4 | 5 | set -e 6 | 7 | MOZ_APP_NAME=mercury 8 | MOZ_PKG_NAME=mercury-browser 9 | 10 | if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ] || [ "$1" = "abort-remove" ] ; then 11 | update-alternatives --install /usr/bin/gnome-www-browser \ 12 | gnome-www-browser /usr/bin/$MOZ_PKG_NAME 40 13 | 14 | update-alternatives --install /usr/bin/x-www-browser \ 15 | x-www-browser /usr/bin/$MOZ_PKG_NAME 40 16 | fi 17 | 18 | if [ -d /var/run ] ; then 19 | touch /var/run/$MOZ_PKG_NAME-restart-required 20 | fi 21 | 22 | 23 | -------------------------------------------------------------------------------- /dist/DEBIAN/prerm: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Copyright (c) 2024 Alex313031. 4 | 5 | set -e 6 | 7 | MOZ_APP_NAME=mercury 8 | MOZ_PKG_NAME=mercury-browser 9 | 10 | if [ "$1" = "remove" ] || [ "$1" = "deconfigure" ] ; then 11 | update-alternatives --remove gnome-www-browser /usr/bin/$MOZ_PKG_NAME 12 | update-alternatives --remove x-www-browser /usr/bin/$MOZ_PKG_NAME 13 | fi 14 | 15 | 16 | -------------------------------------------------------------------------------- /dist/usr/bin/mercury-browser: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Copyright (c) 2024 The Chromium Authors, Mozilla, and Alex313031. All rights reserved. 4 | # Use of this source code is governed by a license that can be found in the LICENSE file. 5 | 6 | # Let the wrapped binary know that it has been run through the wrapper. 7 | export MERCURY_WRAPPER="`readlink -f "$0"`" 8 | 9 | HERE="`dirname "$MERCURY_WRAPPER"`" 10 | 11 | # Always use our versions of libs. 12 | # This also makes RPMs find the compatibly-named library symlinks. 13 | if [[ -n "$LD_LIBRARY_PATH" ]]; then 14 | LD_LIBRARY_PATH="$HERE:$HERE/lib:$LD_LIBRARY_PATH" 15 | else 16 | LD_LIBRARY_PATH="$HERE:$HERE/lib" 17 | fi 18 | export LD_LIBRARY_PATH 19 | 20 | # APPNAME for GTK. 21 | APPNAME=mercury 22 | 23 | # Set XDG Title variable 24 | TITLE="Mercury" 25 | 26 | usage () { 27 | echo "mercury-browser [-h|--help] [--temp-profile] [options] [URL]" 28 | echo 29 | echo " -h or --help This help screen" 30 | echo " --temp-profile Start with a new and temporary profile" 31 | echo 32 | echo " Other supported options are:" 33 | MANWIDTH=80 man mercury-browser | sed -e '1,/OPTIONS/d; /ENVIRONMENT/,$d' 34 | echo " See 'man mercury-browser' for more details" 35 | } 36 | 37 | want_temp_profile=0 38 | 39 | while [ $# -gt 0 ]; do 40 | case "$1" in 41 | -h | --help | -help ) 42 | usage 43 | exit 0 ;; 44 | --temp-profile ) 45 | want_temp_profile=1 46 | shift ;; 47 | -- ) # Stop option prcessing 48 | shift 49 | break ;; 50 | * ) 51 | break ;; 52 | esac 53 | done 54 | 55 | # Allow users to override command-line options with a file. 56 | if [[ -f ~/.mercury/mercury-flags.conf ]]; then 57 | MERCURY_USER_FLAGS="$(cat ~/.mercury/mercury-flags.conf)" 58 | fi 59 | 60 | # Launch executable 61 | if [ $want_temp_profile -eq 1 ] ; then 62 | TEMP_PROFILE=`mktemp -d` && 63 | echo "Note: Using temporary profile: $TEMP_PROFILE" 64 | /usr/lib/mercury/mercury --profile $TEMP_PROFILE $MERCURY_USER_FLAGS $@ 65 | fi 66 | 67 | if [ $want_temp_profile -eq 0 ] ; then 68 | /usr/lib/mercury/mercury $MERCURY_USER_FLAGS $@ 69 | fi 70 | -------------------------------------------------------------------------------- /dist/usr/lib/mime/packages/mercury-browser: -------------------------------------------------------------------------------- 1 | text/html; /usr/bin/mercury-browser %s; description=HTML Text; test=test -n "$DISPLAY"; nametemplate=%s.html; priority=5 2 | text/xml; /usr/bin/mercury-browser %s; description=XML Text; test=test -n "$DISPLAY"; nametemplate=%s.xml; priority=5 3 | image/png; /usr/bin/mercury-browser %s; description=PNG Image; test=test -n "$DISPLAY"; nametemplate=%s.png; priority=2 4 | image/jpeg; /usr/bin/mercury-browser %s; description=JPEG Image; test=test -n "$DISPLAY"; nametemplate=%s.jpeg; priority=2 5 | image/gif; /usr/bin/mercury-browser %s; description=GIF Image; test=test -n "$DISPLAY"; nametemplate=%s.gif; priority=2 6 | application/pdf; /usr/bin/mercury-browser %s; description=PDF Document; test=test -n "$DISPLAY"; nametemplate=%s.pdf; priority=2 7 | -------------------------------------------------------------------------------- /dist/usr/share/applications/mercury-browser.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Version=1.0 3 | Name=Mercury 4 | Comment=Browse the World Wide Web 5 | GenericName=Web Browser 6 | Keywords=Internet;WWW;Browser;Web;Explorer;Mercury 7 | Exec=mercury-browser %u 8 | StartupWMClass=mercury 9 | Terminal=false 10 | X-MultipleArgs=true 11 | Type=Application 12 | Icon=mercury 13 | Categories=Network;WebBrowser; 14 | MimeType=text/html;text/xml;application/pdf;application/xhtml+xml;application/xml;application/vnd.mozilla.xul+xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;x-scheme-handler/http;x-scheme-handler/https; 15 | StartupNotify=true 16 | Actions=NewWindow;NewPrivateWindow;TempUserDir; 17 | 18 | [Desktop Action NewWindow] 19 | Name=New Window 20 | Exec=mercury-browser -new-window 21 | 22 | [Desktop Action NewPrivateWindow] 23 | Name=New Private Window 24 | Exec=mercury-browser -private-window 25 | 26 | [Desktop Action TempUserDir] 27 | Name=Open With Temporary User Profile 28 | Exec=mercury-browser --temp-profile 29 | -------------------------------------------------------------------------------- /dist/usr/share/doc/mercury-browser/MPL-2.0.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/dist/usr/share/doc/mercury-browser/MPL-2.0.gz -------------------------------------------------------------------------------- /dist/usr/share/icons/hicolor/128x128/apps/mercury.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/dist/usr/share/icons/hicolor/128x128/apps/mercury.png -------------------------------------------------------------------------------- /dist/usr/share/icons/hicolor/16x16/apps/mercury.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/dist/usr/share/icons/hicolor/16x16/apps/mercury.png -------------------------------------------------------------------------------- /dist/usr/share/icons/hicolor/22x22/apps/mercury.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/dist/usr/share/icons/hicolor/22x22/apps/mercury.png -------------------------------------------------------------------------------- /dist/usr/share/icons/hicolor/24x24/apps/mercury.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/dist/usr/share/icons/hicolor/24x24/apps/mercury.png -------------------------------------------------------------------------------- /dist/usr/share/icons/hicolor/256x256/apps/mercury.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/dist/usr/share/icons/hicolor/256x256/apps/mercury.png -------------------------------------------------------------------------------- /dist/usr/share/icons/hicolor/32x32/apps/mercury.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/dist/usr/share/icons/hicolor/32x32/apps/mercury.png -------------------------------------------------------------------------------- /dist/usr/share/icons/hicolor/48x48/apps/mercury.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/dist/usr/share/icons/hicolor/48x48/apps/mercury.png -------------------------------------------------------------------------------- /dist/usr/share/icons/hicolor/512x512/apps/mercury.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/dist/usr/share/icons/hicolor/512x512/apps/mercury.png -------------------------------------------------------------------------------- /dist/usr/share/icons/hicolor/64x64/apps/mercury.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/dist/usr/share/icons/hicolor/64x64/apps/mercury.png -------------------------------------------------------------------------------- /dist/usr/share/icons/hicolor/96x96/apps/mercury.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/dist/usr/share/icons/hicolor/96x96/apps/mercury.png -------------------------------------------------------------------------------- /dist/usr/share/lintian/overrides/mercury-browser: -------------------------------------------------------------------------------- 1 | mercury-browser binary: embedded-library usr/lib/mercury/libxul.so: libjpeg 2 | mercury-browser binary: embedded-library usr/lib/mercury/libmozsqlite3.so: sqlite 3 | mercury-browser binary: image-file-in-usr-lib 4 | -------------------------------------------------------------------------------- /dist/usr/share/man/man1/mercury-browser.1.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/dist/usr/share/man/man1/mercury-browser.1.gz -------------------------------------------------------------------------------- /docs/BUGS.md: -------------------------------------------------------------------------------- 1 | ## BUGS.md 2 | 3 | 4 | 5 | ## Document listing known bugs in Mercury or Firefox that will affect usability. Fixed bugs will have a FIXED tag with the date it was fixed at the end. Discoverers/Fixers will have their name at the end. 6 | **2022** 7 | - GTK name is "Mercury-default" instead of "Mercury" | FIXED Feb. 12, 2023 by Me. 8 | 9 | **2023** 10 | - Titlebar does not respect dark mode on Windows 8+ | FIXED Jun. 30, 2023 by Me based on Librewolf patch. 11 | - PGO cannot run during native compile @gz83 | FIXED upstream. 12 | -------------------------------------------------------------------------------- /docs/BUILDING.md: -------------------------------------------------------------------------------- 1 | ## Building 2 | _**The scripts assume the Mercury source is at $HOME/Mercury/ and Mozilla source is at $HOME/mozilla-unified/. You may have to 'sudo chmod +x' the scripts to make them executable.**_ 3 | 4 | - In general we follow build instructions at https://firefox-source-docs.mozilla.org/setup/linux_build.html 5 | - `bootstrap.sh` can be used to download the Mozilla tree for the first time. 6 | - `trunk.sh` can be used to revert and sync the Mozilla tree to trunk. 7 | - `setup.sh` copies relevant Mercury source files over the Mozilla tree. *NOTE: Use the --help flag to see options for Linux and Windows* 8 | - To build, run `./build.sh` (--help for help). *The -j# variable can be changed to limit or increase the number of jobs (generally should be the number of CPU cores on your machine)* 9 | 10 | 11 | *Happy Mercury Building!* 12 | 13 | 14 | -------------------------------------------------------------------------------- /docs/DEBUGGING.md: -------------------------------------------------------------------------------- 1 | ## Debugging 2 | 3 | ### Useful cmdline flags 4 | -new-instance // Open new instance, not a new window in running instance, which allows multiple copies of application to be open at a time. \ 5 | -P "profile_name" // Bypass profile manager and launch application with the profile named profile_name. Useful for dealing with multiple profiles. \ 6 | -profile "profile_path" // Start with the profile with the given path. \ 7 | --kiosk URL // Open URL full screen without user interface. \ 8 | -devtools // Start with native developer tools opened. \ 9 | -purgecaches // Gecko (layout engine) has a JavaScript cache, which is not reset on startup, this clears it. \ 10 | -version // Print Mercury version to stdout. \ 11 | -tray // Start Mercury minimized. \ 12 | -safe-mode // Start Mercury in safe mode. \ 13 | 14 | - `about:config` is the equivalent of the chrome://flags page. Use this for experimenting, debugging, and tweaking. 15 | 16 | ### Resources 17 | __**For more information about debugging,* See > [Logging](https://firefox-source-docs.mozilla.org/mach/logging.html), [Command Line Options](https://wiki.mozilla.org/Firefox/CommandLineOptions), [Browser Console](https://firefox-source-docs.mozilla.org/devtools-user/browser_console/index.html), [Browser Toolbox](https://firefox-source-docs.mozilla.org/devtools-user/browser_toolbox/index.html), [DevTools](https://firefox-source-docs.mozilla.org/devtools-user/index.html), [Web Debugging](https://firefox-source-docs.mozilla.org/devtools-user/about_colon_debugging/index.html), and [Debugging the Browser](https://firefox-source-docs.mozilla.org/contributing/debugging/debugging_firefox_with_gdb.html). 18 | -------------------------------------------------------------------------------- /docs/DEPS.md: -------------------------------------------------------------------------------- 1 | ## Dependencies to build and run Mercury 2 | 3 | ``` 4 | sudo apt update && sudo apt install autoconf autoconf2.13 automake bison build-essential curl cmake flex gawk gcc-multilib gnupg jq libbz2-dev libcurl4-openssl-dev libssl-dev libxml2-dev libtool libucl-dev ninja-build nsis p7zip-full procps python3-pip python3-setuptools python3-virtualenv python3-distutils-extra python3-requests python3-pytoml subversion tar upx unzip uuid uuid-dev wget wine zip zlib1g-dev rust-all icoutils dh-make 5 | ``` 6 | -------------------------------------------------------------------------------- /docs/HG_SETUP.md: -------------------------------------------------------------------------------- 1 | ## Document to show what to choose when running ./mach bootstrap or during the initial mozilla clone. 2 | 3 | 1. Please choose the version of Firefox you want to build (see note above): 4 | – Choose "2. Firefox for Desktop" NOT Artifact Mode 5 | 6 | 2. Would you like to run a configuration wizard to ensure Mercurial is 7 | optimally configured? (This will also ensure 'version–control–tools' is up–to–date) (Yn): 8 | – Select Y 9 | 10 | 3. (Relevant config option: ui.username) 11 | What is your name? 12 | – Put your real first and last name 13 | 14 | 4. What is your e–mail address? 15 | – Put the email address you want to use 16 | 17 | 5. checking the "tweakdefaults" section 18 | Would you like to enable these features (Yn)? 19 | – Select Y 20 | 21 | 6. Mercurial is not configured to produce diffs in a more readable format. 22 | Would you like to change this (Yn)? 23 | – Select Y 24 | 25 | 7. Would you like to enable these history editing extensions (Yn)? 26 | – Select Y 27 | 28 | 8. Would you like to enable the evolve extension? (Yn) 29 | – Select Y 30 | 31 | 9. Would you like to enable fsmonitor (Yn)? 32 | – Select N 33 | 34 | 10. Enable logging of commands to help diagnose bugs and performance problems (Yn) 35 | – Select either Y or N depending on your wants/needs 36 | 37 | 11. Enable the shelve feature. Equivalent to git stash (Yn) 38 | – Select N 39 | 40 | 12. Would you like to activate firefoxtree (Yn)? 41 | – Select N 42 | 43 | 13. Would you like to activate clang–format (Yn)? 44 | – Select Y 45 | 46 | 14. Would you like to activate js–format (Yn)? 47 | – Select Y 48 | 49 | 15. Would you like to install the `hg show` extension and `hg wip` alias (Yn)? 50 | – Select Y 51 | 52 | 16. Would you like to install the `hg smart–annotate` alias (Yn)? 53 | – Select N 54 | 55 | 17. Would you like to activate push–to–try (Yn)? 56 | – Select N (unless you are committing upstream) 57 | 58 | 18. Would you like to see a diff of the changes first (Yn)? 59 | – Select either Y or N depending on your wants/needs 60 | 61 | 19. Write changes to hgrc file (Yn)? 62 | – Select Y to finalize changes 63 | 64 | 20. Would you like to fix the file permissions (Yn) 65 | – Select N (unless you are on a shared workstation and care about other users seeing this) 66 | 67 | Your system should be ready to build Firefox for Desktop! = Done. 68 | -------------------------------------------------------------------------------- /docs/PATCHES.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ## List of patches included in Mercury 4 | 5 | - Compiler modifications include [AVX](https://en.wikipedia.org/wiki/Advanced_Vector_Extensions), [AES](https://en.wikipedia.org/wiki/AES_instruction_set), [LTO](https://en.wikipedia.org/wiki/Interprocedural_optimization#WPO_and_LTO) and [PGO](https://en.wikipedia.org/wiki/Profile-guided_optimization). 6 | - Disable all telemetry and reporting. 7 | - Remove all debugging constructs and enable hardening by default. 8 | - Enable backspace to go back, and GPU acceleration by default. 9 | - Enable [Do Not Track](https://allaboutdnt.com/) and [Global Privacy Control](https://globalprivacycontrol.org/#about). 10 | - Disable Pocket, highlights, and suggested content on the new tab page. 11 | - Restore top bar to ~ESR78 state with home button and developer button. 12 | - Allow installing unsigned extensions. 13 | - Branding changes 14 | - Enable [JPEG XL](https://jpegxl.info/) by default 15 | - Implemented performance tweaks from [BetterFox](https://github.com/yokoffing/Betterfox). 16 | 17 | – Some help in creating these patches came from [LibreWolf](https://librewolf.net/), [Waterfox](https://www.waterfox.net/), [FireDragon](https://github.com/dr460nf1r3/firedragon-browser), [PlasmaFox](https://github.com/torvic9/plasmafox), [Ghostery](https://github.com/ghostery/user-agent-desktop), and [GNU IceCat](https://www.gnu.org/software/gnuzilla/). 18 | 19 | – Any other code/patches are written from scratch by [me](https://thorium.rocks/about). 20 | 21 | ## Patch URLs for me to use when rebasing. 22 | 23 | https://gitlab.com/librewolf-community/browser/source/-/blob/main/patches/ui-patches/firefox-view.patch 24 | 25 | https://gitlab.com/librewolf-community/browser/source/-/blob/main/patches/allow-JXL-in-non-nightly-browser.patch 26 | 27 | https://gitlab.com/librewolf-community/browser/source/-/blob/main/patches/windows-theming-bug.patch 28 | 29 | https://gitlab.com/librewolf-community/browser/source/-/tree/main/patches 30 | 31 | https://github.com/ghostery/user-agent-desktop/blob/main/patches/0018-Ghostery-Theme.patch 32 | -------------------------------------------------------------------------------- /docs/README.md: -------------------------------------------------------------------------------- 1 | ## Mercury Infrastructure (Infra) 2 | 3 |   This dir contains docs and files related to rebasing/building Mercury and Mozilla Infrastructure. 4 | 5 | - The [BUGS.md](BUGS.md) file lists bugs and fixes. 6 | - The [BUILDING.md](BUILDING.md) file explains the build process. 7 | - The [DEBUGGING.md](DEBUGGING.md) file has cmdline flags and other info for testing, debugging, and web development with Mercury. 8 | - The [DEPS.md](DEPS.md) file lists prerequisites for building and running Mercury. 9 | - The [PATCHES.md](PATCHES.md) file has a list of patches and changes. 10 | 11 | 12 | -------------------------------------------------------------------------------- /extensions/DEBUG: -------------------------------------------------------------------------------- 1 | foo 2 | -------------------------------------------------------------------------------- /infra/.hgrc: -------------------------------------------------------------------------------- 1 | [color] 2 | wip.bookmarks = yellow underline 3 | wip.branch = yellow 4 | wip.draft = green 5 | wip.here = red 6 | wip.obsolete = none 7 | wip.public = blue 8 | wip.tags = yellow 9 | wip.user = magenta 10 | -------------------------------------------------------------------------------- /infra/check_simd.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Copyright (c) 2024 Alex313031. 4 | 5 | program="Thorium Browser." # The program we are checking for. 6 | 7 | YEL='\033[1;33m' # Yellow 8 | CYA='\033[1;96m' # Cyan 9 | RED='\033[1;31m' # Red 10 | GRE='\033[1;32m' # Green 11 | c0='\033[0m' # Reset Text 12 | bold='\033[1m' # Bold Text 13 | underline='\033[4m' # Underline Text 14 | 15 | # Error handling 16 | yell() { echo "$0: $*" >&2; } 17 | die() { yell "$*"; exit 111; } 18 | try() { "$@" || die "${RED}Failed $*"; } 19 | 20 | script_name=${0##*/} 21 | 22 | clear && 23 | 24 | check_result() { # Message calls 25 | local ret="$1" 26 | local msg="$2" 27 | [ "$ret" -ne 0 ] && { printf " ${RED}FAIL:" && tput sgr0 && echo " $msg"; } 28 | printf " ${GRE}SUCCESS:" && tput sgr0 && echo " $msg" 29 | } 30 | 31 | get_cpuinfo() { # return details of the first CPU only 32 | cat /proc/cpuinfo | awk 'BEGIN { RS = "" ; } { printf ("%s\n", $0); exit(0); }' 33 | } 34 | 35 | have_cpu_feature() { 36 | local feature="$1" 37 | get_cpuinfo | egrep -q "^flags.*\<$feature\>" 38 | } 39 | 40 | have_64bit_cpu() { 41 | local feature="lm" # "Long mode" 42 | local desc="64-bit x86 CPU" 43 | local need="$desc ($feature)" 44 | have_cpu_feature "$feature" 45 | check_result "$?" "$need" 46 | } 47 | 48 | have_sse2_cpu_feature () { 49 | local feature="sse2" 50 | local desc="Streaming SIMD Extensions 2" 51 | local need="$desc ($feature)" 52 | have_cpu_feature "$feature" 53 | check_result "$?" "$need" 54 | } 55 | 56 | have_sse3_cpu_feature () { 57 | local feature="pni" 58 | local desc="Streaming SIMD Extensions 3" 59 | local need="$desc ($feature)" 60 | have_cpu_feature "$feature" 61 | check_result "$?" "$need" 62 | } 63 | 64 | have_sse41_cpu_feature () { 65 | local feature="sse4_1" 66 | local desc="Streaming SIMD Extensions 4.1" 67 | local need="$desc ($feature)" 68 | have_cpu_feature "$feature" 69 | check_result "$?" "$need" 70 | } 71 | 72 | have_sse42_cpu_feature () { 73 | local feature="sse4_2" 74 | local desc="Streaming SIMD Extensions 4.2" 75 | local need="$desc ($feature)" 76 | have_cpu_feature "$feature" 77 | check_result "$?" "$need" 78 | } 79 | 80 | have_aes_cpu_feature () { 81 | local feature="aes" 82 | local desc="Advanced Encryption Standard Extensions" 83 | local need="$desc ($feature)" 84 | have_cpu_feature "$feature" 85 | check_result "$?" "$need" 86 | } 87 | 88 | have_avx_cpu_feature () { 89 | local feature="avx" 90 | local desc="Advanced Vector Extensions" 91 | local need="$desc ($feature)" 92 | have_cpu_feature "$feature" 93 | check_result "$?" "$need" 94 | } 95 | 96 | have_avx2_cpu_feature () { 97 | local feature="avx2" 98 | local desc="Advanced Vector Extensions 2" 99 | local need="$desc ($feature)" 100 | have_cpu_feature "$feature" 101 | check_result "$?" "$need" 102 | } 103 | 104 | common_checks() { 105 | have_64bit_cpu && have_sse2_cpu_feature && have_sse3_cpu_feature && have_sse41_cpu_feature && \ 106 | have_sse42_cpu_feature && have_aes_cpu_feature && have_avx_cpu_feature && have_avx2_cpu_feature 107 | } 108 | 109 | check_host() { 110 | printf "\n" && 111 | printf " ${YEL}Checking host CPU instruction extensions...${c0}\n"; echo 112 | common_checks 113 | printf "\n" && 114 | printf " ${YEL}If your CPU has AVX, you can build/run $program${c0}\n" && tput sgr0; 115 | } 116 | 117 | main() { 118 | case "$1" in 119 | host) check_host ;; 120 | *) printf " ${RED}ERROR: Invalid type specified: '$1'\n" 2>&1 && tput sgr0; exit 1 ;; 121 | esac 122 | } 123 | 124 | main "host" && printf "\n" && exit 0 125 | -------------------------------------------------------------------------------- /infra/extra_configs.txt: -------------------------------------------------------------------------------- 1 | gfx.x11-egl.force-enabled 2 | -------------------------------------------------------------------------------- /ipc/app/module.ver: -------------------------------------------------------------------------------- 1 | WIN32_MODULE_COMPANYNAME=Alex313031 2 | WIN32_MODULE_PRODUCTVERSION=@MOZ_APP_WINVERSION@ 3 | WIN32_MODULE_PRODUCTVERSION_STRING=@MOZ_APP_VERSION@ 4 | WIN32_MODULE_DESCRIPTION=Plugin Container for @MOZ_APP_DISPLAYNAME@ 5 | WIN32_MODULE_PRODUCTNAME=@MOZ_APP_DISPLAYNAME@ 6 | WIN32_MODULE_NAME=@MOZ_APP_DISPLAYNAME@ 7 | -------------------------------------------------------------------------------- /logos/Beaker.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | image/svg+xml 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /logos/Mercury.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/logos/Mercury.icns -------------------------------------------------------------------------------- /logos/Mercury.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/logos/Mercury.ico -------------------------------------------------------------------------------- /logos/Mercury.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/logos/Mercury.png -------------------------------------------------------------------------------- /logos/Mercury.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /logos/Mercury.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/logos/Mercury.xcf -------------------------------------------------------------------------------- /logos/Mercury64.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/logos/Mercury64.ico -------------------------------------------------------------------------------- /logos/Mercury_08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/logos/Mercury_08.png -------------------------------------------------------------------------------- /logos/Mercury_1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/logos/Mercury_1024.png -------------------------------------------------------------------------------- /logos/Mercury_126.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/logos/Mercury_126.png -------------------------------------------------------------------------------- /logos/Mercury_128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/logos/Mercury_128.png -------------------------------------------------------------------------------- /logos/Mercury_144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/logos/Mercury_144.png -------------------------------------------------------------------------------- /logos/Mercury_150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/logos/Mercury_150.png -------------------------------------------------------------------------------- /logos/Mercury_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/logos/Mercury_16.png -------------------------------------------------------------------------------- /logos/Mercury_192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/logos/Mercury_192.png -------------------------------------------------------------------------------- /logos/Mercury_2048.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/logos/Mercury_2048.png -------------------------------------------------------------------------------- /logos/Mercury_22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/logos/Mercury_22.png -------------------------------------------------------------------------------- /logos/Mercury_24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/logos/Mercury_24.png -------------------------------------------------------------------------------- /logos/Mercury_256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/logos/Mercury_256.png -------------------------------------------------------------------------------- /logos/Mercury_270.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/logos/Mercury_270.png -------------------------------------------------------------------------------- /logos/Mercury_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/logos/Mercury_32.png -------------------------------------------------------------------------------- /logos/Mercury_384.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/logos/Mercury_384.png -------------------------------------------------------------------------------- /logos/Mercury_4096.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/logos/Mercury_4096.png -------------------------------------------------------------------------------- /logos/Mercury_48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/logos/Mercury_48.png -------------------------------------------------------------------------------- /logos/Mercury_512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/logos/Mercury_512.png -------------------------------------------------------------------------------- /logos/Mercury_64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/logos/Mercury_64.png -------------------------------------------------------------------------------- /logos/Mercury_70.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/logos/Mercury_70.png -------------------------------------------------------------------------------- /logos/Mercury_768.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/logos/Mercury_768.png -------------------------------------------------------------------------------- /logos/Mercury_86.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/logos/Mercury_86.png -------------------------------------------------------------------------------- /logos/Mercury_96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/logos/Mercury_96.png -------------------------------------------------------------------------------- /logos/about-logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /logos/bug.svg: -------------------------------------------------------------------------------- 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 | -------------------------------------------------------------------------------- /logos/build_dark.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /logos/build_light.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /logos/bulb_dark.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /logos/bulb_light.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /logos/deps.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/logos/deps.png -------------------------------------------------------------------------------- /logos/document.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/logos/document.icns -------------------------------------------------------------------------------- /logos/geckoview-crash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/logos/geckoview-crash.png -------------------------------------------------------------------------------- /logos/geckoview.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /logos/mozillabuild.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/logos/mozillabuild.ico -------------------------------------------------------------------------------- /logos/nightly.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /logos/patches.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/logos/patches.png -------------------------------------------------------------------------------- /logos/promo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/logos/promo.png -------------------------------------------------------------------------------- /logos/release-noodles.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/logos/release-noodles.png -------------------------------------------------------------------------------- /logos/release-noodles.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /logos/repository-open-graph-mercury.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/logos/repository-open-graph-mercury.png -------------------------------------------------------------------------------- /logos/robot_1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/logos/robot_1024.png -------------------------------------------------------------------------------- /logos/robot_256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/logos/robot_256.png -------------------------------------------------------------------------------- /logos/robot_512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/logos/robot_512.png -------------------------------------------------------------------------------- /logos/setup/install_256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/logos/setup/install_256.png -------------------------------------------------------------------------------- /logos/setup/setup.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/logos/setup/setup.ico -------------------------------------------------------------------------------- /logos/setup/setup_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/logos/setup/setup_16.png -------------------------------------------------------------------------------- /logos/setup/setup_256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/logos/setup/setup_256.png -------------------------------------------------------------------------------- /logos/setup/setup_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/logos/setup/setup_32.png -------------------------------------------------------------------------------- /logos/setup/setup_48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/logos/setup/setup_48.png -------------------------------------------------------------------------------- /logos/setup/setup_64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/logos/setup/setup_64.png -------------------------------------------------------------------------------- /make_deb.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Copyright (c) 2024 Alex313031. 4 | 5 | YEL='\033[1;33m' # Yellow 6 | CYA='\033[1;96m' # Cyan 7 | RED='\033[1;31m' # Red 8 | GRE='\033[1;32m' # Green 9 | c0='\033[0m' # Reset Text 10 | bold='\033[1m' # Bold Text 11 | underline='\033[4m' # Underline Text 12 | 13 | # Error handling 14 | yell() { echo "$0: $*" >&2; } 15 | die() { yell "$*"; exit 111; } 16 | try() { "$@" || die "${RED}Failed $*"; } 17 | 18 | # --help 19 | displayHelp () { 20 | printf "\n" && 21 | printf "${bold}${GRE}Script to build .deb package of Mercury Browser.${c0}\n" && 22 | printf "${YEL}Place the \*.tar.bz2 generated by the 'package.sh' script here before running.\n" && 23 | printf "${underline}${YEL}Usage:${c0} make_deb.sh\n" && 24 | printf "${YEL}Use the \`--no-clobber\` flag to use already extracted files.\n" && 25 | printf "\n" 26 | } 27 | case $1 in 28 | --help) displayHelp; exit 0;; 29 | esac 30 | 31 | buildStale () { 32 | printf "\n" && 33 | printf "${YEL}NOTE: --no-clobber option was passed\n" && 34 | sleep 1s && 35 | 36 | rm -f -v dist.deb && 37 | printf "\n" && 38 | 39 | printf "${GRE}Building .deb package...${CYA}\n" && 40 | 41 | printf "\n" 42 | dpkg-deb -Zgzip --build --root-owner-group ./dist && 43 | 44 | printf "\n" && 45 | printf "${GRE}${bold}Build Completed!\n" && 46 | printf "${GRE}${bold}You can now install the package with \`sudo dpkg -i dist.deb\`.\n" && 47 | printf "${GRE}${bold}Remember to rename \"dist.deb\" to mirror the .tar.bz2 name if you are distributing to others.\n" && 48 | tput sgr0 49 | } 50 | case $1 in 51 | --no-clobber) buildStale; exit 0;; 52 | esac 53 | 54 | printf "\n" && 55 | printf "${YEL}Cleaning any existing files...\n" && 56 | sleep 1s && 57 | 58 | rm -r -f -v ./dist/usr/lib/mercury && 59 | 60 | rm -f -v dist.deb && 61 | printf "\n" && 62 | 63 | printf "${GRE}Building .deb package...${CYA}\n" && 64 | 65 | tar xvf ./*.tar.bz2 -C ./dist/usr/lib/ && 66 | printf "\n" 67 | dpkg-deb -Zgzip --build --root-owner-group ./dist && 68 | 69 | printf "\n" && 70 | printf "${GRE}${bold}Build Completed!\n" && 71 | printf "${GRE}${bold}You can now install the package with \`sudo dpkg -i dist.deb\`.\n" && 72 | printf "${GRE}${bold}Remember to rename \"dist.deb\" to mirror the .tar.bz2 name if you are distributing to others.\n" && 73 | tput sgr0 74 | -------------------------------------------------------------------------------- /mozconfigs/ga: -------------------------------------------------------------------------------- 1 | AIzaSyAeBuGRUrxHr4_eHhrCwdkl0G-O4qR5UXs 2 | -------------------------------------------------------------------------------- /mozconfigs/mozconfig: -------------------------------------------------------------------------------- 1 | ## Copyright (c) 2024 Alex313031. 2 | 3 | ## .mozconfig for Mercury Browser (Linux) 4 | 5 | # Build only Mercury 6 | ac_add_options --enable-application=browser 7 | ac_add_options --disable-artifact-builds 8 | 9 | # Build for Linux 10 | ac_add_options --target=x86_64-pc-linux-gnu 11 | ac_add_options --enable-default-toolkit=cairo-gtk3-x11-wayland 12 | ac_add_options --enable-bootstrap 13 | export MOZ_INCLUDE_SOURCE_INFO=1 14 | 15 | # Optimization settings 16 | ac_add_options --enable-release 17 | ac_add_options --disable-debug 18 | ac_add_options --disable-debug-symbols 19 | ac_add_options --disable-debug-js-modules 20 | ac_add_options --disable-tests 21 | ac_add_options --enable-strip 22 | ac_add_options --enable-install-strip 23 | ac_add_options --enable-clang-plugin 24 | ac_add_options --disable-elf-hack 25 | ac_add_options --enable-lto 26 | ac_add_options --enable-jemalloc 27 | ac_add_options --enable-wasm-avx 28 | ac_add_options --enable-optimize="-O3 -msse3 -mssse3 -msse4.1 -msse4.2 -mavx -maes" 29 | ac_add_options --enable-rust-simd 30 | ac_add_options --enable-hardening 31 | ac_add_options --disable-dmd 32 | ac_add_options --disable-gpsd 33 | ac_add_options --disable-necko-wifi 34 | #ac_add_options --disable-trace-logging 35 | mk_add_options MOZILLA_OFFICIAL=1 36 | MOZILLA_OFFICIAL=1 37 | export MOZILLA_OFFICIAL=1 38 | mk_add_options MOZ_OPTIMIZE=1 39 | MOZ_OPTIMIZE=1 40 | export MOZ_OPTIMIZE=1 41 | export STRIP_FLAGS="--strip-debug --strip-unneeded" 42 | 43 | # Media settings 44 | ac_add_options --enable-sandbox 45 | ac_add_options --enable-raw 46 | ac_add_options --enable-webrtc 47 | ac_add_options --enable-pulseaudio 48 | ac_add_options --enable-alsa 49 | ac_add_options --enable-jxl 50 | ac_add_options --enable-av1 51 | ac_add_options --enable-eme=widevine 52 | 53 | # Add-ons 54 | ac_add_options --allow-addon-sideload 55 | ac_add_options --with-unsigned-addon-scopes=app,system 56 | 57 | # Client settings 58 | ac_add_options --disable-parental-controls 59 | ac_add_options --disable-crashreporter 60 | ac_add_options --disable-updater 61 | ac_add_options --enable-geckodriver 62 | ac_add_options --without-wasm-sandboxed-libraries 63 | #ac_add_options --disable-default-browser-agent 64 | export MOZ_SOURCE_CHANGESET=${changeset} 65 | mk_add_options MOZ_CRASHREPORTER=0 66 | mk_add_options MOZ_DATA_REPORTING=0 67 | mk_add_options MOZ_SERVICES_HEALTHREPORT=0 68 | mk_add_options MOZ_TELEMETRY_REPORTING= 69 | export MOZ_CRASHREPORTER=0 70 | export MOZ_DATA_REPORTING=0 71 | export MOZ_REQUIRE_SIGNING= 72 | export MOZ_TELEMETRY_REPORTING= 73 | export MOZ_PACKAGE_JSSHELL=1 74 | 75 | # API Keys 76 | ac_add_options --with-google-location-service-api-keyfile=@TOPSRCDIR@/ga 77 | ac_add_options --with-google-safebrowsing-api-keyfile=@TOPSRCDIR@/ga 78 | 79 | # Branding 80 | ac_add_options --with-app-name=mercury 81 | ac_add_options --with-app-basename=Mercury 82 | ac_add_options --with-branding=browser/branding/mercury 83 | ac_add_options --with-l10n-base=$PWD/browser/locales/en-US 84 | ac_add_options --with-distribution-id=com.alex313031.mercury 85 | #-app=/home/alex/bin/Mercury/application.ini 86 | 87 | # Make flags (set to number of CPU cores) 88 | mk_add_options MOZ_MAKE_FLAGS="-j16" 89 | 90 | # Autoclobber 91 | mk_add_options AUTOCLOBBER=1 92 | export AUTOCLOBBER=1 93 | 94 | # Set -Copt-level=3 95 | export OPT_LEVEL="3" 96 | ac_add_options OPT_LEVEL="3" 97 | export RUSTC_OPT_LEVEL="3" 98 | ac_add_options RUSTC_OPT_LEVEL="3" 99 | 100 | # Enable PGO/LTO 101 | export MOZ_LTO=1 102 | ac_add_options MOZ_LTO=1 103 | export MOZ_PGO=1 104 | ac_add_options MOZ_PGO=1 105 | 106 | if test "$GEN_PGO"; then 107 | ac_add_options --enable-profile-generate 108 | elif test "$USE_PGO"; then 109 | ac_add_options --enable-profile-use=cross 110 | fi 111 | 112 | # Compiler, Linker, and Rust flags 113 | export CFLAGS="-O3 -msse3 -mssse3 -msse4.1 -msse4.2 -mavx -maes" 114 | export CPPFLAGS="-O3 -msse3 -mssse3 -msse4.1 -msse4.2 -mavx -maes" 115 | export CXXFLAGS="-O3 -msse3 -mssse3 -msse4.1 -msse4.2 -mavx -maes" 116 | export LDFLAGS="-Wl,-O3 -msse3 -mssse3 -msse4.1 -msse4.2 -mavx -maes" 117 | #export MOZ_LTO_LDFLAGS="-Wl,-mllvm,-polly" 118 | export RUSTFLAGS="-C target-feature=+avx -C codegen-units=1" 119 | export POLLY="-mllvm -polly -mllvm -polly-2nd-level-tiling -mllvm -polly-loopfusion-greedy -mllvm -polly-pattern-matching-based-opts -mllvm -polly-position=before-vectorizer -mllvm -polly-vectorizer=stripmine" 120 | export VERBOSE=1 121 | -------------------------------------------------------------------------------- /mozconfigs/mozconfig-arm64: -------------------------------------------------------------------------------- 1 | ## Copyright (c) 2024 Alex313031. 2 | 3 | ## .mozconfig for Mercury Browser (Linux) ARM64 4 | 5 | # Build only Mercury 6 | ac_add_options --enable-application=browser 7 | ac_add_options --disable-artifact-builds 8 | 9 | # Build for Linux 10 | ac_add_options --target=aarch64-linux-gnu 11 | ac_add_options --enable-default-toolkit=cairo-gtk3-x11-wayland 12 | ac_add_options --enable-bootstrap 13 | export MOZ_INCLUDE_SOURCE_INFO=1 14 | 15 | # Optimization settings 16 | ac_add_options --enable-release 17 | ac_add_options --disable-debug 18 | ac_add_options --disable-debug-symbols 19 | ac_add_options --disable-debug-js-modules 20 | ac_add_options --disable-tests 21 | ac_add_options --enable-strip 22 | ac_add_options --enable-install-strip 23 | ac_add_options --enable-clang-plugin 24 | ac_add_options --disable-elf-hack 25 | ac_add_options --enable-lto 26 | ac_add_options --enable-jemalloc 27 | ac_add_options --enable-optimize="-O3 -march=armv8-a+simd -mtune=cortex-a72" 28 | ac_add_options --enable-rust-simd 29 | ac_add_options --enable-hardening 30 | ac_add_options --disable-dmd 31 | ac_add_options --disable-gpsd 32 | ac_add_options --disable-necko-wifi 33 | #ac_add_options --disable-trace-logging 34 | mk_add_options MOZILLA_OFFICIAL=1 35 | MOZILLA_OFFICIAL=1 36 | export MOZILLA_OFFICIAL=1 37 | mk_add_options MOZ_OPTIMIZE=1 38 | MOZ_OPTIMIZE=1 39 | export MOZ_OPTIMIZE=1 40 | export STRIP_FLAGS="--strip-debug --strip-unneeded" 41 | 42 | # Media settings 43 | ac_add_options --enable-sandbox 44 | ac_add_options --enable-raw 45 | ac_add_options --enable-webrtc 46 | ac_add_options --enable-pulseaudio 47 | ac_add_options --enable-alsa 48 | ac_add_options --enable-jxl 49 | ac_add_options --enable-av1 50 | 51 | # Add-ons 52 | ac_add_options --allow-addon-sideload 53 | ac_add_options --with-unsigned-addon-scopes=app,system 54 | 55 | # Client settings 56 | ac_add_options --disable-parental-controls 57 | ac_add_options --disable-crashreporter 58 | ac_add_options --disable-updater 59 | ac_add_options --enable-geckodriver 60 | ac_add_options --without-wasm-sandboxed-libraries 61 | #ac_add_options --disable-default-browser-agent 62 | export MOZ_SOURCE_CHANGESET=${changeset} 63 | mk_add_options MOZ_CRASHREPORTER=0 64 | mk_add_options MOZ_DATA_REPORTING=0 65 | mk_add_options MOZ_SERVICES_HEALTHREPORT=0 66 | mk_add_options MOZ_TELEMETRY_REPORTING= 67 | export MOZ_CRASHREPORTER=0 68 | export MOZ_DATA_REPORTING=0 69 | export MOZ_REQUIRE_SIGNING= 70 | export MOZ_TELEMETRY_REPORTING= 71 | export MOZ_PACKAGE_JSSHELL=1 72 | 73 | # API Keys 74 | ac_add_options --with-google-location-service-api-keyfile=@TOPSRCDIR@/ga 75 | ac_add_options --with-google-safebrowsing-api-keyfile=@TOPSRCDIR@/ga 76 | 77 | # Branding 78 | ac_add_options --with-app-name=mercury 79 | ac_add_options --with-app-basename=Mercury 80 | ac_add_options --with-branding=browser/branding/mercury 81 | ac_add_options --with-l10n-base=$PWD/browser/locales/en-US 82 | ac_add_options --with-distribution-id=com.alex313031.mercury 83 | #-app=/home/alex/bin/Mercury/application.ini 84 | 85 | # Make flags (set to number of CPU cores) 86 | mk_add_options MOZ_MAKE_FLAGS="-j16" 87 | 88 | # Autoclobber 89 | mk_add_options AUTOCLOBBER=1 90 | export AUTOCLOBBER=1 91 | 92 | # Set -Copt-level=3 93 | export OPT_LEVEL="3" 94 | ac_add_options OPT_LEVEL="3" 95 | export RUSTC_OPT_LEVEL="3" 96 | ac_add_options RUSTC_OPT_LEVEL="3" 97 | 98 | # Enable PGO/LTO 99 | export MOZ_LTO=1 100 | ac_add_options MOZ_LTO=1 101 | #export MOZ_PGO=1 102 | #ac_add_options MOZ_PGO=1 103 | 104 | # Compiler, Linker, and Rust flags 105 | export CFLAGS="-O3 -ffp-contract=fast -march=armv8-a+simd -mtune=cortex-a72" 106 | export CPPFLAGS="-O3 -ffp-contract=fast -march=armv8-a+simd -mtune=cortex-a72" 107 | export CXXFLAGS="-O3 -ffp-contract=fast -march=armv8-a+simd -mtune=cortex-a72" 108 | export LDFLAGS="-Wl,-O3 -Wl,-mllvm,-fp-contract=fast -march=armv8-a+simd" 109 | #export MOZ_LTO_LDFLAGS="-Wl,-mllvm,-polly" 110 | export RUSTFLAGS="-C target-feature=+neon -C codegen-units=1" 111 | export VERBOSE=1 112 | -------------------------------------------------------------------------------- /mozconfigs/mozconfig-avx2: -------------------------------------------------------------------------------- 1 | ## Copyright (c) 2024 Alex313031. 2 | 3 | ## .mozconfig for Mercury Browser (Linux) 4 | 5 | # Build only Mercury 6 | ac_add_options --enable-application=browser 7 | ac_add_options --disable-artifact-builds 8 | 9 | # Build for Linux 10 | ac_add_options --target=x86_64-pc-linux-gnu 11 | ac_add_options --enable-default-toolkit=cairo-gtk3-x11-wayland 12 | ac_add_options --enable-bootstrap 13 | export MOZ_INCLUDE_SOURCE_INFO=1 14 | 15 | # Optimization settings 16 | ac_add_options --enable-release 17 | ac_add_options --disable-debug 18 | ac_add_options --disable-debug-symbols 19 | ac_add_options --disable-debug-js-modules 20 | ac_add_options --disable-tests 21 | ac_add_options --enable-strip 22 | ac_add_options --enable-install-strip 23 | ac_add_options --enable-clang-plugin 24 | ac_add_options --disable-elf-hack 25 | ac_add_options --enable-lto 26 | ac_add_options --enable-jemalloc 27 | ac_add_options --enable-wasm-avx 28 | #ac_add_options --enable-avx2 29 | ac_add_options --enable-optimize="-O3 -march=x86-64-v3" 30 | ac_add_options --enable-rust-simd 31 | ac_add_options --enable-hardening 32 | ac_add_options --disable-dmd 33 | ac_add_options --disable-gpsd 34 | ac_add_options --disable-necko-wifi 35 | #ac_add_options --disable-trace-logging 36 | mk_add_options MOZILLA_OFFICIAL=1 37 | MOZILLA_OFFICIAL=1 38 | export MOZILLA_OFFICIAL=1 39 | mk_add_options MOZ_OPTIMIZE=1 40 | MOZ_OPTIMIZE=1 41 | export MOZ_OPTIMIZE=1 42 | export STRIP_FLAGS="--strip-debug --strip-unneeded" 43 | 44 | # Media settings 45 | ac_add_options --enable-sandbox 46 | ac_add_options --enable-raw 47 | ac_add_options --enable-webrtc 48 | ac_add_options --enable-pulseaudio 49 | ac_add_options --enable-alsa 50 | ac_add_options --enable-jxl 51 | ac_add_options --enable-av1 52 | ac_add_options --enable-eme=widevine 53 | 54 | # Add-ons 55 | ac_add_options --allow-addon-sideload 56 | ac_add_options --with-unsigned-addon-scopes=app,system 57 | 58 | # Client settings 59 | ac_add_options --disable-parental-controls 60 | ac_add_options --disable-crashreporter 61 | ac_add_options --disable-updater 62 | ac_add_options --enable-geckodriver 63 | ac_add_options --without-wasm-sandboxed-libraries 64 | #ac_add_options --disable-default-browser-agent 65 | export MOZ_SOURCE_CHANGESET=${changeset} 66 | mk_add_options MOZ_CRASHREPORTER=0 67 | mk_add_options MOZ_DATA_REPORTING=0 68 | mk_add_options MOZ_SERVICES_HEALTHREPORT=0 69 | mk_add_options MOZ_TELEMETRY_REPORTING= 70 | export MOZ_CRASHREPORTER=0 71 | export MOZ_DATA_REPORTING=0 72 | export MOZ_REQUIRE_SIGNING= 73 | export MOZ_TELEMETRY_REPORTING= 74 | export MOZ_PACKAGE_JSSHELL=1 75 | 76 | # API Keys 77 | ac_add_options --with-google-location-service-api-keyfile=@TOPSRCDIR@/ga 78 | ac_add_options --with-google-safebrowsing-api-keyfile=@TOPSRCDIR@/ga 79 | 80 | # Branding 81 | ac_add_options --with-app-name=mercury 82 | ac_add_options --with-app-basename=Mercury 83 | ac_add_options --with-branding=browser/branding/mercury 84 | ac_add_options --with-l10n-base=$PWD/browser/locales/en-US 85 | ac_add_options --with-distribution-id=com.alex313031.mercury 86 | #-app=/home/alex/bin/Mercury/application.ini 87 | 88 | # Make flags (set to number of CPU cores) 89 | mk_add_options MOZ_MAKE_FLAGS="-j16" 90 | 91 | # Autoclobber 92 | mk_add_options AUTOCLOBBER=1 93 | export AUTOCLOBBER=1 94 | 95 | # Set -Copt-level=3 96 | export OPT_LEVEL="3" 97 | ac_add_options OPT_LEVEL="3" 98 | export RUSTC_OPT_LEVEL="3" 99 | ac_add_options RUSTC_OPT_LEVEL="3" 100 | 101 | # Enable PGO/LTO 102 | export MOZ_LTO=1 103 | ac_add_options MOZ_LTO=1 104 | export MOZ_PGO=1 105 | ac_add_options MOZ_PGO=1 106 | 107 | if test "$GEN_PGO"; then 108 | ac_add_options --enable-profile-generate 109 | elif test "$USE_PGO"; then 110 | ac_add_options --enable-profile-use=cross 111 | fi 112 | 113 | # Compiler, Linker, and Rust flags 114 | export CFLAGS="-O3 -ffp-contract=fast -march=x86-64-v3" 115 | export CPPFLAGS="-O3 -ffp-contract=fast -march=x86-64-v3" 116 | export CXXFLAGS="-O3 -ffp-contract=fast -march=x86-64-v3" 117 | export LDFLAGS="-Wl,-O3 -Wl,-mllvm,-fp-contract=fast -march=x86-64-v3" 118 | #export MOZ_LTO_LDFLAGS="-Wl,-mllvm,-polly" 119 | export RUSTFLAGS="-C target-cpu=x86-64-v3 -C target-feature=+avx2 -C codegen-units=1" 120 | export POLLY="-mllvm -polly -mllvm -polly-2nd-level-tiling -mllvm -polly-loopfusion-greedy -mllvm -polly-pattern-matching-based-opts -mllvm -polly-position=before-vectorizer -mllvm -polly-vectorizer=stripmine" 121 | export VERBOSE=1 122 | -------------------------------------------------------------------------------- /mozconfigs/mozconfig-debug: -------------------------------------------------------------------------------- 1 | ## Copyright (c) 2024 Alex313031. 2 | 3 | ## .mozconfig for Mercury Browser (Linux) 4 | 5 | # Build only Mercury 6 | ac_add_options --enable-application=browser 7 | ac_add_options --disable-artifact-builds 8 | 9 | # Build for Linux 10 | ac_add_options --target=x86_64-pc-linux-gnu 11 | ac_add_options --enable-bootstrap 12 | export MOZ_INCLUDE_SOURCE_INFO=1 13 | 14 | # Optimization settings 15 | #ac_add_options --disable-tests 16 | ac_add_options --enable-clang-plugin 17 | ac_add_options --enable-wasm-avx 18 | ac_add_options --enable-optimize="-O3 -mavx -maes" 19 | ac_add_options --enable-rust-simd 20 | ac_add_options --enable-hardening 21 | ac_add_options --disable-dmd 22 | ac_add_options --disable-gpsd 23 | ac_add_options --disable-necko-wifi 24 | #ac_add_options --disable-trace-logging 25 | 26 | # Media settings 27 | ac_add_options --enable-sandbox 28 | ac_add_options --enable-raw 29 | ac_add_options --enable-webrtc 30 | ac_add_options --enable-pulseaudio 31 | ac_add_options --enable-alsa 32 | ac_add_options --enable-jxl 33 | ac_add_options --enable-av1 34 | ac_add_options --enable-eme=widevine 35 | 36 | # Add-ons 37 | ac_add_options --allow-addon-sideload 38 | ac_add_options --with-unsigned-addon-scopes=app,system 39 | 40 | # Client settings 41 | ac_add_options --disable-parental-controls 42 | ac_add_options --disable-crashreporter 43 | ac_add_options --disable-updater 44 | ac_add_options --without-wasm-sandboxed-libraries 45 | #ac_add_options --disable-default-browser-agent 46 | export MOZ_SOURCE_CHANGESET=${changeset} 47 | mk_add_options MOZ_CRASHREPORTER=0 48 | mk_add_options MOZ_DATA_REPORTING=0 49 | mk_add_options MOZ_SERVICES_HEALTHREPORT=0 50 | mk_add_options MOZ_TELEMETRY_REPORTING= 51 | export MOZ_CRASHREPORTER=0 52 | export MOZ_DATA_REPORTING=0 53 | export MOZ_REQUIRE_SIGNING= 54 | export MOZ_TELEMETRY_REPORTING= 55 | export MOZ_PACKAGE_JSSHELL=1 56 | 57 | # API Keys 58 | ac_add_options --with-google-location-service-api-keyfile=@TOPSRCDIR@/ga 59 | ac_add_options --with-google-safebrowsing-api-keyfile=@TOPSRCDIR@/ga 60 | 61 | # Branding 62 | ac_add_options --with-app-name=mercury 63 | ac_add_options --with-app-basename=Mercury 64 | ac_add_options --with-branding=browser/branding/mercury 65 | ac_add_options --with-l10n-base=$PWD/browser/locales/en-US 66 | ac_add_options --with-distribution-id=com.alex313031.mercury 67 | #-app=/home/alex/bin/Mercury/application.ini 68 | 69 | # Make flags (set to number of CPU cores) 70 | mk_add_options MOZ_MAKE_FLAGS="-j16" 71 | 72 | # Autoclobber 73 | mk_add_options AUTOCLOBBER=1 74 | export AUTOCLOBBER=1 75 | 76 | # Compiler, Linker, and Rust flags 77 | export CFLAGS="-Og -mavx -maes" 78 | export CPPFLAGS="-Og -mavx -maes" 79 | export CXXFLAGS="-Og -mavx -maes" 80 | export LDFLAGS="-Wl,-O0 -mavx -maes" 81 | #export MOZ_LTO_LDFLAGS="-Wl,-mllvm,-polly" 82 | export RUSTFLAGS="-C target-feature=+avx" 83 | export VERBOSE=1 84 | -------------------------------------------------------------------------------- /mozconfigs/mozconfig-macos-arm64: -------------------------------------------------------------------------------- 1 | ## Copyright (c) 2024 Alex313031. 2 | 3 | ## .mozconfig for Mercury Browser for MacOS ARM64 4 | 5 | # Build only Mercury 6 | ac_add_options --enable-application=browser 7 | ac_add_options --disable-artifact-builds 8 | 9 | # Build for MacOS 10 | #ac_add_options --target=aarch64-apple-darwin 11 | ac_add_options --enable-bootstrap 12 | export MOZ_INCLUDE_SOURCE_INFO=1 13 | 14 | # Optimization settings 15 | ac_add_options --enable-release 16 | ac_add_options --disable-debug 17 | ac_add_options --disable-debug-symbols 18 | ac_add_options --disable-debug-js-modules 19 | ac_add_options --disable-tests 20 | #ac_add_options --enable-strip 21 | #ac_add_options --enable-install-strip 22 | ac_add_options --enable-clang-plugin 23 | ac_add_options --enable-lto 24 | ac_add_options --enable-jemalloc 25 | ac_add_options --enable-optimize="-O3 -march=armv8.3-a+simd -mcpu=apple-m1" 26 | ac_add_options --enable-rust-simd 27 | ac_add_options --enable-hardening 28 | #ac_add_options --disable-trace-logging 29 | mk_add_options MOZILLA_OFFICIAL=1 30 | MOZILLA_OFFICIAL=1 31 | export MOZILLA_OFFICIAL=1 32 | mk_add_options MOZ_OPTIMIZE=1 33 | MOZ_OPTIMIZE=1 34 | export MOZ_OPTIMIZE=1 35 | 36 | # Media settings 37 | ac_add_options --enable-sandbox 38 | ac_add_options --enable-raw 39 | ac_add_options --enable-webrtc 40 | ac_add_options --enable-jxl 41 | ac_add_options --enable-av1 42 | ac_add_options --enable-eme=widevine 43 | 44 | # Add-ons 45 | ac_add_options --allow-addon-sideload 46 | ac_add_options --with-unsigned-addon-scopes=app,system 47 | 48 | # Client settings 49 | ac_add_options --disable-parental-controls 50 | ac_add_options --disable-crashreporter 51 | ac_add_options --disable-updater 52 | ac_add_options --enable-geckodriver 53 | ac_add_options --without-wasm-sandboxed-libraries 54 | #ac_add_options --disable-default-browser-agent 55 | export MOZ_SOURCE_CHANGESET=${changeset} 56 | mk_add_options MOZ_CRASHREPORTER=0 57 | mk_add_options MOZ_DATA_REPORTING=0 58 | mk_add_options MOZ_SERVICES_HEALTHREPORT=0 59 | mk_add_options MOZ_TELEMETRY_REPORTING= 60 | export MOZ_CRASHREPORTER=0 61 | export MOZ_DATA_REPORTING=0 62 | export MOZ_REQUIRE_SIGNING= 63 | export MOZ_TELEMETRY_REPORTING= 64 | export MOZ_PACKAGE_JSSHELL=1 65 | 66 | # API Keys 67 | ac_add_options --with-google-location-service-api-keyfile=@TOPSRCDIR@/ga 68 | ac_add_options --with-google-safebrowsing-api-keyfile=@TOPSRCDIR@/ga 69 | 70 | # Branding 71 | ac_add_options --with-app-name=mercury 72 | ac_add_options --with-app-basename=Mercury 73 | ac_add_options --with-branding=browser/branding/mercury 74 | ac_add_options --with-l10n-base=$PWD/browser/locales/en-US 75 | ac_add_options --with-distribution-id=com.alex313031.mercury 76 | #-app=/home/alex/bin/Mercury/application.ini 77 | 78 | export MOZ_MACBUNDLE_ID=${appId} 79 | export MOZ_MACBUNDLE_NAME="Mercury.app" 80 | 81 | # Make flags (set to number of CPU cores) 82 | mk_add_options MOZ_MAKE_FLAGS="-j5" 83 | 84 | # Autoclobber 85 | mk_add_options AUTOCLOBBER=1 86 | export AUTOCLOBBER=1 87 | 88 | # Set -Copt-level=3 89 | export OPT_LEVEL="3" 90 | ac_add_options OPT_LEVEL="3" 91 | export RUSTC_OPT_LEVEL="3" 92 | ac_add_options RUSTC_OPT_LEVEL="3" 93 | 94 | # Enable PGO/LTO 95 | export MOZ_LTO=1 96 | ac_add_options MOZ_LTO=1 97 | #export MOZ_PGO=1 98 | #ac_add_options MOZ_PGO=1 99 | 100 | # Compiler, Linker, and Rust flags 101 | export CFLAGS="-O3 -march=armv8.3-a+simd" 102 | export CPPFLAGS="-O3 -march=armv8.3-a+simd" 103 | export CXXFLAGS="-O3 -march=armv8.3-a+simd" 104 | export LDFLAGS="-Wl,-O3 -march=armv8.3-a+simd" 105 | #export MOZ_LTO_LDFLAGS="-Wl,-mllvm,-polly" 106 | export RUSTFLAGS="-C target-feature=+v8.3a -C codegen-units=1 -C target-cpu=apple-m1" 107 | export VERBOSE=1 108 | -------------------------------------------------------------------------------- /mozconfigs/mozconfig-macos-arm64-cross: -------------------------------------------------------------------------------- 1 | ## Copyright (c) 2024 Alex313031. 2 | 3 | ## .mozconfig for Mercury Browser for MacOS ARM64 (Cross-Compile) 4 | 5 | # Build only Mercury 6 | ac_add_options --enable-application=browser 7 | ac_add_options --disable-artifact-builds 8 | 9 | # Build for MacOS 10 | ac_add_options --target=aarch64-apple-darwin 11 | ac_add_options --with-toolchain-prefix=aarch64-apple-darwin 12 | ac_add_options --enable-bootstrap 13 | CROSS_COMPILE=1 14 | export MOZ_INCLUDE_SOURCE_INFO=1 15 | 16 | # Optimization settings 17 | ac_add_options --enable-release 18 | ac_add_options --disable-debug 19 | ac_add_options --disable-debug-symbols 20 | ac_add_options --disable-debug-js-modules 21 | ac_add_options --disable-tests 22 | #ac_add_options --enable-strip 23 | #ac_add_options --enable-install-strip 24 | ac_add_options --enable-clang-plugin 25 | ac_add_options --enable-lto 26 | ac_add_options --enable-jemalloc 27 | ac_add_options --enable-optimize="-O3 -march=armv8.3-a+simd -mcpu=apple-m1" 28 | ac_add_options --enable-rust-simd 29 | ac_add_options --enable-hardening 30 | #ac_add_options --disable-trace-logging 31 | mk_add_options MOZILLA_OFFICIAL=1 32 | MOZILLA_OFFICIAL=1 33 | export MOZILLA_OFFICIAL=1 34 | mk_add_options MOZ_OPTIMIZE=1 35 | MOZ_OPTIMIZE=1 36 | export MOZ_OPTIMIZE=1 37 | 38 | # Media settings 39 | ac_add_options --enable-sandbox 40 | ac_add_options --enable-raw 41 | ac_add_options --enable-webrtc 42 | ac_add_options --enable-jxl 43 | ac_add_options --enable-av1 44 | ac_add_options --enable-eme=widevine 45 | 46 | # Add-ons 47 | ac_add_options --allow-addon-sideload 48 | ac_add_options --with-unsigned-addon-scopes=app,system 49 | 50 | # Client settings 51 | ac_add_options --disable-parental-controls 52 | ac_add_options --disable-crashreporter 53 | ac_add_options --disable-updater 54 | ac_add_options --enable-geckodriver 55 | ac_add_options --without-wasm-sandboxed-libraries 56 | #ac_add_options --disable-default-browser-agent 57 | export MOZ_SOURCE_CHANGESET=${changeset} 58 | mk_add_options MOZ_CRASHREPORTER=0 59 | mk_add_options MOZ_DATA_REPORTING=0 60 | mk_add_options MOZ_SERVICES_HEALTHREPORT=0 61 | mk_add_options MOZ_TELEMETRY_REPORTING= 62 | export MOZ_CRASHREPORTER=0 63 | export MOZ_DATA_REPORTING=0 64 | export MOZ_REQUIRE_SIGNING= 65 | export MOZ_TELEMETRY_REPORTING= 66 | export MOZ_PACKAGE_JSSHELL=1 67 | 68 | # API Keys 69 | ac_add_options --with-google-location-service-api-keyfile=@TOPSRCDIR@/ga 70 | ac_add_options --with-google-safebrowsing-api-keyfile=@TOPSRCDIR@/ga 71 | 72 | # Branding 73 | ac_add_options --with-app-name=mercury 74 | ac_add_options --with-app-basename=Mercury 75 | ac_add_options --with-branding=browser/branding/mercury 76 | ac_add_options --with-l10n-base=$PWD/browser/locales/en-US 77 | ac_add_options --with-distribution-id=com.alex313031.mercury 78 | #-app=/home/alex/bin/Mercury/application.ini 79 | 80 | export MOZ_MACBUNDLE_ID=${appId} 81 | export MOZ_MACBUNDLE_NAME="Mercury.app" 82 | 83 | # Make flags (set to number of CPU cores) 84 | mk_add_options MOZ_MAKE_FLAGS="-j16" 85 | 86 | # Change to actual location of SDK 87 | ## https://github.com/bitcoin-core/apple-sdk-tools 88 | ## https://firefox-source-docs.mozilla.org/widget/cocoa/sdks.html 89 | ac_add_options --with-macos-sdk=/home/alex/temp/MacOSX.sdk 90 | 91 | # Autoclobber 92 | mk_add_options AUTOCLOBBER=1 93 | export AUTOCLOBBER=1 94 | 95 | # Set -Copt-level=3 96 | export OPT_LEVEL="3" 97 | ac_add_options OPT_LEVEL="3" 98 | export RUSTC_OPT_LEVEL="3" 99 | ac_add_options RUSTC_OPT_LEVEL="3" 100 | 101 | # Enable PGO/LTO 102 | export MOZ_LTO=1 103 | ac_add_options MOZ_LTO=1 104 | #export MOZ_PGO=1 105 | #ac_add_options MOZ_PGO=1 106 | 107 | # Compiler, Linker, and Rust flags 108 | export CFLAGS="-O3 -march=armv8.3-a+simd" 109 | export CPPFLAGS="-O3 -march=armv8.3-a+simd" 110 | export CXXFLAGS="-O3 -march=armv8.3-a+simd" 111 | export LDFLAGS="-Wl,-O3 -march=armv8.3-a+simd" 112 | #export MOZ_LTO_LDFLAGS="-Wl,-mllvm,-polly" 113 | export RUSTFLAGS="-C target-feature=+v8.3a -C codegen-units=1 -C target-cpu=apple-m1" 114 | export VERBOSE=1 115 | -------------------------------------------------------------------------------- /mozconfigs/mozconfig-macos-x64: -------------------------------------------------------------------------------- 1 | ## Copyright (c) 2024 Alex313031. 2 | 3 | ## .mozconfig for Mercury Browser for MacOS x64 4 | 5 | # Build only Mercury 6 | ac_add_options --enable-application=browser 7 | ac_add_options --disable-artifact-builds 8 | 9 | # Build for MacOS 10 | #ac_add_options --target=x86_64-apple-darwin 11 | ac_add_options --enable-bootstrap 12 | export MOZ_INCLUDE_SOURCE_INFO=1 13 | 14 | # Optimization settings 15 | ac_add_options --enable-release 16 | ac_add_options --disable-debug 17 | ac_add_options --disable-debug-symbols 18 | ac_add_options --disable-debug-js-modules 19 | ac_add_options --disable-tests 20 | #ac_add_options --enable-strip 21 | #ac_add_options --enable-install-strip 22 | ac_add_options --enable-clang-plugin 23 | ac_add_options --enable-lto 24 | ac_add_options --enable-jemalloc 25 | ac_add_options --enable-wasm-avx 26 | #ac_add_options --enable-avx2 27 | ac_add_options --enable-optimize="-O3 -march=x86-64-v3" 28 | ac_add_options --enable-rust-simd 29 | ac_add_options --enable-hardening 30 | #ac_add_options --disable-trace-logging 31 | mk_add_options MOZILLA_OFFICIAL=1 32 | MOZILLA_OFFICIAL=1 33 | export MOZILLA_OFFICIAL=1 34 | mk_add_options MOZ_OPTIMIZE=1 35 | MOZ_OPTIMIZE=1 36 | export MOZ_OPTIMIZE=1 37 | 38 | # Media settings 39 | ac_add_options --enable-sandbox 40 | ac_add_options --enable-raw 41 | ac_add_options --enable-webrtc 42 | ac_add_options --enable-jxl 43 | ac_add_options --enable-av1 44 | ac_add_options --enable-eme=widevine 45 | 46 | # Add-ons 47 | ac_add_options --allow-addon-sideload 48 | ac_add_options --with-unsigned-addon-scopes=app,system 49 | 50 | # Client settings 51 | ac_add_options --disable-parental-controls 52 | ac_add_options --disable-crashreporter 53 | ac_add_options --disable-updater 54 | ac_add_options --enable-geckodriver 55 | ac_add_options --without-wasm-sandboxed-libraries 56 | #ac_add_options --disable-default-browser-agent 57 | export MOZ_SOURCE_CHANGESET=${changeset} 58 | mk_add_options MOZ_CRASHREPORTER=0 59 | mk_add_options MOZ_DATA_REPORTING=0 60 | mk_add_options MOZ_SERVICES_HEALTHREPORT=0 61 | mk_add_options MOZ_TELEMETRY_REPORTING= 62 | export MOZ_CRASHREPORTER=0 63 | export MOZ_DATA_REPORTING=0 64 | export MOZ_REQUIRE_SIGNING= 65 | export MOZ_TELEMETRY_REPORTING= 66 | export MOZ_PACKAGE_JSSHELL=1 67 | 68 | # API Keys 69 | ac_add_options --with-google-location-service-api-keyfile=@TOPSRCDIR@/ga 70 | ac_add_options --with-google-safebrowsing-api-keyfile=@TOPSRCDIR@/ga 71 | 72 | # Branding 73 | ac_add_options --with-app-name=mercury 74 | ac_add_options --with-app-basename=Mercury 75 | ac_add_options --with-branding=browser/branding/mercury 76 | ac_add_options --with-l10n-base=$PWD/browser/locales/en-US 77 | ac_add_options --with-distribution-id=com.alex313031.mercury 78 | #-app=/home/alex/bin/Mercury/application.ini 79 | 80 | # Make flags (set to number of CPU cores) 81 | mk_add_options MOZ_MAKE_FLAGS="-j5" 82 | 83 | # Autoclobber 84 | mk_add_options AUTOCLOBBER=1 85 | export AUTOCLOBBER=1 86 | 87 | # Set -Copt-level=3 88 | export OPT_LEVEL="3" 89 | ac_add_options OPT_LEVEL="3" 90 | export RUSTC_OPT_LEVEL="3" 91 | ac_add_options RUSTC_OPT_LEVEL="3" 92 | 93 | # Enable PGO/LTO 94 | export MOZ_LTO=1 95 | ac_add_options MOZ_LTO=1 96 | #export MOZ_PGO=1 97 | #ac_add_options MOZ_PGO=1 98 | 99 | # Compiler, Linker, and Rust flags 100 | export CFLAGS="-O3 -march=x86-64-v3" 101 | export CPPFLAGS="-O3 -march=x86-64-v3" 102 | export CXXFLAGS="-O3 -march=x86-64-v3" 103 | export LDFLAGS="-Wl,-O3 -march=x86-64-v3" 104 | #export MOZ_LTO_LDFLAGS="-Wl,-mllvm,-polly" 105 | export RUSTFLAGS="-C target-feature=+avx2 -C codegen-units=1" 106 | export VERBOSE=1 107 | -------------------------------------------------------------------------------- /mozconfigs/mozconfig-macos-x64-cross: -------------------------------------------------------------------------------- 1 | ## Copyright (c) 2024 Alex313031. 2 | 3 | ## .mozconfig for Mercury Browser for MacOS x64 (Cross-Compile) 4 | 5 | # Build only Mercury 6 | ac_add_options --enable-application=browser 7 | ac_add_options --disable-artifact-builds 8 | 9 | # Build for MacOS 10 | ac_add_options --target=x86_64-apple-darwin 11 | ac_add_options --with-toolchain-prefix=x86_64-apple-darwin 12 | ac_add_options --enable-bootstrap 13 | CROSS_COMPILE=1 14 | export MOZ_INCLUDE_SOURCE_INFO=1 15 | 16 | # Optimization settings 17 | ac_add_options --enable-release 18 | ac_add_options --disable-debug 19 | ac_add_options --disable-debug-symbols 20 | ac_add_options --disable-debug-js-modules 21 | ac_add_options --disable-tests 22 | #ac_add_options --enable-strip 23 | #ac_add_options --enable-install-strip 24 | ac_add_options --enable-clang-plugin 25 | ac_add_options --enable-lto 26 | ac_add_options --enable-jemalloc 27 | ac_add_options --enable-wasm-avx 28 | #ac_add_options --enable-avx2 29 | ac_add_options --enable-optimize="-O3 -march=x86-64-v3" 30 | ac_add_options --enable-rust-simd 31 | ac_add_options --enable-hardening 32 | #ac_add_options --disable-trace-logging 33 | mk_add_options MOZILLA_OFFICIAL=1 34 | MOZILLA_OFFICIAL=1 35 | export MOZILLA_OFFICIAL=1 36 | mk_add_options MOZ_OPTIMIZE=1 37 | MOZ_OPTIMIZE=1 38 | export MOZ_OPTIMIZE=1 39 | 40 | # Media settings 41 | ac_add_options --enable-sandbox 42 | ac_add_options --enable-raw 43 | ac_add_options --enable-webrtc 44 | ac_add_options --enable-jxl 45 | ac_add_options --enable-av1 46 | ac_add_options --enable-eme=widevine 47 | 48 | # Add-ons 49 | ac_add_options --allow-addon-sideload 50 | ac_add_options --with-unsigned-addon-scopes=app,system 51 | 52 | # Client settings 53 | ac_add_options --disable-parental-controls 54 | ac_add_options --disable-crashreporter 55 | ac_add_options --disable-updater 56 | ac_add_options --enable-geckodriver 57 | ac_add_options --without-wasm-sandboxed-libraries 58 | #ac_add_options --disable-default-browser-agent 59 | export MOZ_SOURCE_CHANGESET=${changeset} 60 | mk_add_options MOZ_CRASHREPORTER=0 61 | mk_add_options MOZ_DATA_REPORTING=0 62 | mk_add_options MOZ_SERVICES_HEALTHREPORT=0 63 | mk_add_options MOZ_TELEMETRY_REPORTING= 64 | export MOZ_CRASHREPORTER=0 65 | export MOZ_DATA_REPORTING=0 66 | export MOZ_REQUIRE_SIGNING= 67 | export MOZ_TELEMETRY_REPORTING= 68 | export MOZ_PACKAGE_JSSHELL=1 69 | 70 | # API Keys 71 | ac_add_options --with-google-location-service-api-keyfile=@TOPSRCDIR@/ga 72 | ac_add_options --with-google-safebrowsing-api-keyfile=@TOPSRCDIR@/ga 73 | 74 | # Branding 75 | ac_add_options --with-app-name=mercury 76 | ac_add_options --with-app-basename=Mercury 77 | ac_add_options --with-branding=browser/branding/mercury 78 | ac_add_options --with-l10n-base=$PWD/browser/locales/en-US 79 | ac_add_options --with-distribution-id=com.alex313031.mercury 80 | #-app=/home/alex/bin/Mercury/application.ini 81 | 82 | # Make flags (set to number of CPU cores) 83 | mk_add_options MOZ_MAKE_FLAGS="-j16" 84 | 85 | # Change to actual location of SDK 86 | ## https://github.com/bitcoin-core/apple-sdk-tools 87 | ## https://firefox-source-docs.mozilla.org/widget/cocoa/sdks.html 88 | ac_add_options --with-macos-sdk=/home/alex/temp/MacOSX.sdk 89 | 90 | # Autoclobber 91 | mk_add_options AUTOCLOBBER=1 92 | export AUTOCLOBBER=1 93 | 94 | # Set -Copt-level=3 95 | export OPT_LEVEL="3" 96 | ac_add_options OPT_LEVEL="3" 97 | export RUSTC_OPT_LEVEL="3" 98 | ac_add_options RUSTC_OPT_LEVEL="3" 99 | 100 | # Enable PGO/LTO 101 | export MOZ_LTO=1 102 | ac_add_options MOZ_LTO=1 103 | #export MOZ_PGO=1 104 | #ac_add_options MOZ_PGO=1 105 | 106 | # Compiler, Linker, and Rust flags 107 | export CFLAGS="-O3 -march=x86-64-v3" 108 | export CPPFLAGS="-O3 -march=x86-64-v3" 109 | export CXXFLAGS="-O3 -march=x86-64-v3" 110 | export LDFLAGS="-Wl,-O3 -march=x86-64-v3" 111 | #export MOZ_LTO_LDFLAGS="-Wl,-mllvm,-polly" 112 | export RUSTFLAGS="-C target-feature=+avx2 -C codegen-units=1" 113 | export VERBOSE=1 114 | -------------------------------------------------------------------------------- /mozconfigs/mozconfig-sse3: -------------------------------------------------------------------------------- 1 | ## Copyright (c) 2024 Alex313031. 2 | 3 | ## .mozconfig for Mercury Browser (Linux) 4 | 5 | # Build only Mercury 6 | ac_add_options --enable-application=browser 7 | ac_add_options --disable-artifact-builds 8 | 9 | # Build for Linux 10 | ac_add_options --target=x86_64-pc-linux-gnu 11 | ac_add_options --enable-default-toolkit=cairo-gtk3-x11-wayland 12 | ac_add_options --enable-bootstrap 13 | export MOZ_INCLUDE_SOURCE_INFO=1 14 | 15 | # Optimization settings 16 | ac_add_options --enable-release 17 | ac_add_options --disable-debug 18 | ac_add_options --disable-debug-symbols 19 | ac_add_options --disable-debug-js-modules 20 | ac_add_options --disable-tests 21 | ac_add_options --enable-strip 22 | ac_add_options --enable-install-strip 23 | ac_add_options --enable-clang-plugin 24 | ac_add_options --disable-elf-hack 25 | ac_add_options --enable-lto 26 | ac_add_options --enable-jemalloc 27 | #ac_add_options --enable-wasm-avx 28 | ac_add_options --enable-optimize="-O3 -msse3" 29 | ac_add_options --enable-rust-simd 30 | ac_add_options --enable-hardening 31 | ac_add_options --disable-dmd 32 | ac_add_options --disable-gpsd 33 | ac_add_options --disable-necko-wifi 34 | #ac_add_options --disable-trace-logging 35 | mk_add_options MOZILLA_OFFICIAL=1 36 | MOZILLA_OFFICIAL=1 37 | export MOZILLA_OFFICIAL=1 38 | mk_add_options MOZ_OPTIMIZE=1 39 | MOZ_OPTIMIZE=1 40 | export MOZ_OPTIMIZE=1 41 | export STRIP_FLAGS="--strip-debug --strip-unneeded" 42 | 43 | # Media settings 44 | ac_add_options --enable-sandbox 45 | ac_add_options --enable-raw 46 | ac_add_options --enable-webrtc 47 | ac_add_options --enable-pulseaudio 48 | ac_add_options --enable-alsa 49 | ac_add_options --enable-jxl 50 | ac_add_options --enable-av1 51 | ac_add_options --enable-eme=widevine 52 | 53 | # Add-ons 54 | ac_add_options --allow-addon-sideload 55 | ac_add_options --with-unsigned-addon-scopes=app,system 56 | 57 | # Client settings 58 | ac_add_options --disable-parental-controls 59 | ac_add_options --disable-crashreporter 60 | ac_add_options --disable-updater 61 | ac_add_options --enable-geckodriver 62 | ac_add_options --without-wasm-sandboxed-libraries 63 | #ac_add_options --disable-default-browser-agent 64 | export MOZ_SOURCE_CHANGESET=${changeset} 65 | mk_add_options MOZ_CRASHREPORTER=0 66 | mk_add_options MOZ_DATA_REPORTING=0 67 | mk_add_options MOZ_SERVICES_HEALTHREPORT=0 68 | mk_add_options MOZ_TELEMETRY_REPORTING= 69 | export MOZ_CRASHREPORTER=0 70 | export MOZ_DATA_REPORTING=0 71 | export MOZ_REQUIRE_SIGNING= 72 | export MOZ_TELEMETRY_REPORTING= 73 | export MOZ_PACKAGE_JSSHELL=1 74 | 75 | # API Keys 76 | ac_add_options --with-google-location-service-api-keyfile=@TOPSRCDIR@/ga 77 | ac_add_options --with-google-safebrowsing-api-keyfile=@TOPSRCDIR@/ga 78 | 79 | # Branding 80 | ac_add_options --with-app-name=mercury 81 | ac_add_options --with-app-basename=Mercury 82 | ac_add_options --with-branding=browser/branding/mercury 83 | ac_add_options --with-l10n-base=$PWD/browser/locales/en-US 84 | ac_add_options --with-distribution-id=com.alex313031.mercury 85 | #-app=/home/alex/bin/Mercury/application.ini 86 | 87 | # Make flags (set to number of CPU cores) 88 | mk_add_options MOZ_MAKE_FLAGS="-j16" 89 | 90 | # Autoclobber 91 | mk_add_options AUTOCLOBBER=1 92 | export AUTOCLOBBER=1 93 | 94 | # Set -Copt-level=3 95 | export OPT_LEVEL="3" 96 | ac_add_options OPT_LEVEL="3" 97 | export RUSTC_OPT_LEVEL="3" 98 | ac_add_options RUSTC_OPT_LEVEL="3" 99 | 100 | # Enable PGO/LTO 101 | export MOZ_LTO=1 102 | ac_add_options MOZ_LTO=1 103 | export MOZ_PGO=1 104 | ac_add_options MOZ_PGO=1 105 | 106 | if test "$GEN_PGO"; then 107 | ac_add_options --enable-profile-generate 108 | elif test "$USE_PGO"; then 109 | ac_add_options --enable-profile-use=cross 110 | fi 111 | 112 | # Compiler, Linker, and Rust flags 113 | export CFLAGS="-O3 -msse3" 114 | export CPPFLAGS="-O3 -msse3" 115 | export CXXFLAGS="-O3 -msse3" 116 | export LDFLAGS="-Wl,-O3 -msse3" 117 | #export MOZ_LTO_LDFLAGS="-Wl,-mllvm,-polly" 118 | export RUSTFLAGS="-C target-feature=+sse3 -C codegen-units=1" 119 | export POLLY="-mllvm -polly -mllvm -polly-2nd-level-tiling -mllvm -polly-loopfusion-greedy -mllvm -polly-pattern-matching-based-opts -mllvm -polly-position=before-vectorizer -mllvm -polly-vectorizer=stripmine" 120 | export VERBOSE=1 121 | -------------------------------------------------------------------------------- /mozconfigs/mozconfig-sse4: -------------------------------------------------------------------------------- 1 | ## Copyright (c) 2024 Alex313031. 2 | 3 | ## .mozconfig for Mercury Browser (Linux) 4 | 5 | # Build only Mercury 6 | ac_add_options --enable-application=browser 7 | ac_add_options --disable-artifact-builds 8 | 9 | # Build for Linux 10 | ac_add_options --target=x86_64-pc-linux-gnu 11 | ac_add_options --enable-default-toolkit=cairo-gtk3-x11-wayland 12 | ac_add_options --enable-bootstrap 13 | export MOZ_INCLUDE_SOURCE_INFO=1 14 | 15 | # Optimization settings 16 | ac_add_options --enable-release 17 | ac_add_options --disable-debug 18 | ac_add_options --disable-debug-symbols 19 | ac_add_options --disable-debug-js-modules 20 | ac_add_options --disable-tests 21 | ac_add_options --enable-strip 22 | ac_add_options --enable-install-strip 23 | ac_add_options --enable-clang-plugin 24 | ac_add_options --disable-elf-hack 25 | ac_add_options --enable-lto 26 | ac_add_options --enable-jemalloc 27 | #ac_add_options --enable-wasm-avx 28 | ac_add_options --enable-optimize="-O3 -msse3 -mssse3 -msse4.1" 29 | ac_add_options --enable-rust-simd 30 | ac_add_options --enable-hardening 31 | ac_add_options --disable-dmd 32 | ac_add_options --disable-gpsd 33 | ac_add_options --disable-necko-wifi 34 | #ac_add_options --disable-trace-logging 35 | mk_add_options MOZILLA_OFFICIAL=1 36 | MOZILLA_OFFICIAL=1 37 | export MOZILLA_OFFICIAL=1 38 | mk_add_options MOZ_OPTIMIZE=1 39 | MOZ_OPTIMIZE=1 40 | export MOZ_OPTIMIZE=1 41 | export STRIP_FLAGS="--strip-debug --strip-unneeded" 42 | 43 | # Media settings 44 | ac_add_options --enable-sandbox 45 | ac_add_options --enable-raw 46 | ac_add_options --enable-webrtc 47 | ac_add_options --enable-pulseaudio 48 | ac_add_options --enable-alsa 49 | ac_add_options --enable-jxl 50 | ac_add_options --enable-av1 51 | ac_add_options --enable-eme=widevine 52 | 53 | # Add-ons 54 | ac_add_options --allow-addon-sideload 55 | ac_add_options --with-unsigned-addon-scopes=app,system 56 | 57 | # Client settings 58 | ac_add_options --disable-parental-controls 59 | ac_add_options --disable-crashreporter 60 | ac_add_options --disable-updater 61 | ac_add_options --enable-geckodriver 62 | ac_add_options --without-wasm-sandboxed-libraries 63 | #ac_add_options --disable-default-browser-agent 64 | export MOZ_SOURCE_CHANGESET=${changeset} 65 | mk_add_options MOZ_CRASHREPORTER=0 66 | mk_add_options MOZ_DATA_REPORTING=0 67 | mk_add_options MOZ_SERVICES_HEALTHREPORT=0 68 | mk_add_options MOZ_TELEMETRY_REPORTING= 69 | export MOZ_CRASHREPORTER=0 70 | export MOZ_DATA_REPORTING=0 71 | export MOZ_REQUIRE_SIGNING= 72 | export MOZ_TELEMETRY_REPORTING= 73 | export MOZ_PACKAGE_JSSHELL=1 74 | 75 | # API Keys 76 | ac_add_options --with-google-location-service-api-keyfile=@TOPSRCDIR@/ga 77 | ac_add_options --with-google-safebrowsing-api-keyfile=@TOPSRCDIR@/ga 78 | 79 | # Branding 80 | ac_add_options --with-app-name=mercury 81 | ac_add_options --with-app-basename=Mercury 82 | ac_add_options --with-branding=browser/branding/mercury 83 | ac_add_options --with-l10n-base=$PWD/browser/locales/en-US 84 | ac_add_options --with-distribution-id=com.alex313031.mercury 85 | #-app=/home/alex/bin/Mercury/application.ini 86 | 87 | # Make flags (set to number of CPU cores) 88 | mk_add_options MOZ_MAKE_FLAGS="-j16" 89 | 90 | # Autoclobber 91 | mk_add_options AUTOCLOBBER=1 92 | export AUTOCLOBBER=1 93 | 94 | # Set -Copt-level=3 95 | export OPT_LEVEL="3" 96 | ac_add_options OPT_LEVEL="3" 97 | export RUSTC_OPT_LEVEL="3" 98 | ac_add_options RUSTC_OPT_LEVEL="3" 99 | 100 | # Enable PGO/LTO 101 | export MOZ_LTO=1 102 | ac_add_options MOZ_LTO=1 103 | export MOZ_PGO=1 104 | ac_add_options MOZ_PGO=1 105 | 106 | if test "$GEN_PGO"; then 107 | ac_add_options --enable-profile-generate 108 | elif test "$USE_PGO"; then 109 | ac_add_options --enable-profile-use=cross 110 | fi 111 | 112 | # Compiler, Linker, and Rust flags 113 | export CFLAGS="-O3 -msse3 -mssse3 -msse4.1" 114 | export CPPFLAGS="-O3 -msse3 -mssse3 -msse4.1" 115 | export CXXFLAGS="-O3 -msse3 -mssse3 -msse4.1" 116 | export LDFLAGS="-Wl,-O3 -msse3 -mssse3 -msse4.1" 117 | #export MOZ_LTO_LDFLAGS="-Wl,-mllvm,-polly" 118 | export RUSTFLAGS="-C target-feature=+sse4.1 -C codegen-units=1" 119 | export POLLY="-mllvm -polly -mllvm -polly-2nd-level-tiling -mllvm -polly-loopfusion-greedy -mllvm -polly-pattern-matching-based-opts -mllvm -polly-position=before-vectorizer -mllvm -polly-vectorizer=stripmine" 120 | export VERBOSE=1 121 | -------------------------------------------------------------------------------- /mozconfigs/mozconfig-win: -------------------------------------------------------------------------------- 1 | ## Copyright (c) 2024 Alex313031. 2 | 3 | ## .mozconfig for compiling Mercury Browser for Windows natively 4 | 5 | # Build only Mercury 6 | ac_add_options --enable-application=browser 7 | ac_add_options --disable-artifact-builds 8 | 9 | # Build for Windows 10 | ac_add_options --enable-bootstrap 11 | ac_add_options --disable-update-agent 12 | #ac_add_options --disable-dmd 13 | #ac_add_options --disable-signmar 14 | #ac_add_options --disable-verify-mar 15 | 16 | CROSS_COMPILE=0 17 | export MOZ_INCLUDE_SOURCE_INFO=1 18 | 19 | # Optimization settings 20 | ac_add_options --enable-release 21 | ac_add_options --disable-debug 22 | ac_add_options --disable-debug-symbols 23 | ac_add_options --disable-debug-js-modules 24 | ac_add_options --disable-tests 25 | ac_add_options --enable-strip 26 | ac_add_options --enable-install-strip 27 | ac_add_options --enable-clang-plugin 28 | ac_add_options --enable-lto 29 | ac_add_options --enable-jemalloc 30 | ac_add_options --enable-wasm-avx 31 | ac_add_options --enable-optimize="-O2 -msse3 -mssse3 -msse4.1 -msse4.2 -mavx -maes -Xclang -O3" 32 | ac_add_options --enable-rust-simd 33 | ac_add_options --enable-hardening 34 | #ac_add_options --disable-trace-logging 35 | mk_add_options MOZILLA_OFFICIAL=1 36 | MOZILLA_OFFICIAL=1 37 | export MOZILLA_OFFICIAL=1 38 | mk_add_options MOZ_OPTIMIZE=1 39 | MOZ_OPTIMIZE=1 40 | export MOZ_OPTIMIZE=1 41 | export STRIP_FLAGS="--strip-debug --strip-unneeded" 42 | 43 | # Media settings 44 | ac_add_options --enable-sandbox 45 | ac_add_options --enable-raw 46 | ac_add_options --enable-webrtc 47 | ac_add_options --enable-jxl 48 | ac_add_options --enable-av1 49 | ac_add_options --enable-eme=widevine 50 | 51 | # Add-ons 52 | ac_add_options --allow-addon-sideload 53 | ac_add_options --with-unsigned-addon-scopes=app,system 54 | 55 | # Client settings 56 | ac_add_options --disable-parental-controls 57 | ac_add_options --disable-crashreporter 58 | ac_add_options --disable-updater 59 | ac_add_options --enable-geckodriver 60 | ac_add_options --disable-maintenance-service 61 | ac_add_options --without-wasm-sandboxed-libraries 62 | ac_add_options --disable-bits-download 63 | #ac_add_options --disable-default-browser-agent 64 | export MOZ_SOURCE_CHANGESET=${changeset} 65 | mk_add_options MOZ_CRASHREPORTER=0 66 | mk_add_options MOZ_DATA_REPORTING=0 67 | mk_add_options MOZ_SERVICES_HEALTHREPORT=0 68 | mk_add_options MOZ_TELEMETRY_REPORTING= 69 | export MOZ_CRASHREPORTER=0 70 | export MOZ_DATA_REPORTING=0 71 | export MOZ_REQUIRE_SIGNING= 72 | export MOZ_TELEMETRY_REPORTING= 73 | export MOZ_PACKAGE_JSSHELL=1 74 | 75 | # API Keys 76 | ac_add_options --with-google-location-service-api-keyfile=@TOPSRCDIR@/ga 77 | ac_add_options --with-google-safebrowsing-api-keyfile=@TOPSRCDIR@/ga 78 | 79 | # Branding 80 | ac_add_options --with-app-name=mercury 81 | ac_add_options --with-app-basename=Mercury 82 | ac_add_options --with-branding=browser/branding/mercury 83 | ac_add_options --with-l10n-base="C:\mozilla-source\mozilla-unified\browser\locales\en-US" 84 | ac_add_options --with-distribution-id=com.alex313031.mercury 85 | #-app=/home/alex/bin/Mercury/application.ini 86 | 87 | # Make flags (set to number of CPU cores) 88 | mk_add_options MOZ_MAKE_FLAGS="-j16" 89 | 90 | # Autoclobber 91 | mk_add_options AUTOCLOBBER=1 92 | export AUTOCLOBBER=1 93 | 94 | # Set -Copt-level=3 95 | export OPT_LEVEL="3" 96 | ac_add_options OPT_LEVEL="3" 97 | export RUSTC_OPT_LEVEL="3" 98 | ac_add_options RUSTC_OPT_LEVEL="3" 99 | 100 | # Enable PGO/LTO 101 | export MOZ_LTO=1 102 | ac_add_options MOZ_LTO=1 103 | export MOZ_PGO=1 104 | ac_add_options MOZ_PGO=1 105 | 106 | if test "$GEN_PGO"; then 107 | ac_add_options --enable-profile-generate 108 | elif test "$USE_PGO"; then 109 | ac_add_options --enable-profile-use=cross 110 | fi 111 | 112 | # Compiler, Linker, and Rust flags 113 | export CFLAGS="-O2 -msse3 -mssse3 -msse4.1 -msse4.2 -mavx -maes /clang:-O3 /arch:AVX" 114 | export CPPFLAGS="-O2 -msse3 -mssse3 -msse4.1 -msse4.2 -mavx -maes /clang:-O3 /arch:AVX" 115 | export CXXFLAGS="-O2 -msse3 -mssse3 -msse4.1 -msse4.2 -mavx -maes /clang:-O3 /arch:AVX" 116 | export LDFLAGS="-Wl,-O3 -msse3 -mssse3 -msse4.1 -msse4.2 -mavx -maes" 117 | export POLLY="-mllvm -polly -mllvm -polly-2nd-level-tiling -mllvm -polly-loopfusion-greedy -mllvm -polly-pattern-matching-based-opts -mllvm -polly-position=before-vectorizer -mllvm -polly-vectorizer=stripmine" 118 | export RUSTFLAGS="-C target-feature=+avx -C codegen-units=1" 119 | export VERBOSE=1 120 | -------------------------------------------------------------------------------- /mozconfigs/mozconfig-win-avx2: -------------------------------------------------------------------------------- 1 | ## Copyright (c) 2024 Alex313031. 2 | 3 | ## .mozconfig for compiling Mercury Browser for Windows natively 4 | 5 | # Build only Mercury 6 | ac_add_options --enable-application=browser 7 | ac_add_options --disable-artifact-builds 8 | 9 | # Build for Windows 10 | ac_add_options --enable-bootstrap 11 | ac_add_options --disable-update-agent 12 | # ac_add_options --disable-dmd 13 | # ac_add_options --disable-signmar 14 | # ac_add_options --disable-verify-mar 15 | 16 | CROSS_COMPILE=0 17 | export MOZ_INCLUDE_SOURCE_INFO=1 18 | 19 | # Optimization settings 20 | ac_add_options --enable-release 21 | ac_add_options --disable-debug 22 | ac_add_options --disable-debug-symbols 23 | ac_add_options --disable-debug-js-modules 24 | ac_add_options --disable-tests 25 | ac_add_options --enable-strip 26 | ac_add_options --enable-install-strip 27 | ac_add_options --enable-clang-plugin 28 | ac_add_options --enable-lto 29 | ac_add_options --enable-jemalloc 30 | ac_add_options --enable-wasm-avx 31 | ac_add_options --enable-optimize="-O2 -march=x86-64-v3 -Xclang -O3" 32 | ac_add_options --enable-rust-simd 33 | ac_add_options --enable-hardening 34 | #ac_add_options --disable-trace-logging 35 | mk_add_options MOZILLA_OFFICIAL=1 36 | MOZILLA_OFFICIAL=1 37 | export MOZILLA_OFFICIAL=1 38 | mk_add_options MOZ_OPTIMIZE=1 39 | MOZ_OPTIMIZE=1 40 | export MOZ_OPTIMIZE=1 41 | export STRIP_FLAGS="--strip-debug --strip-unneeded" 42 | 43 | # Media settings 44 | ac_add_options --enable-sandbox 45 | ac_add_options --enable-raw 46 | ac_add_options --enable-webrtc 47 | ac_add_options --enable-jxl 48 | ac_add_options --enable-av1 49 | ac_add_options --enable-eme=widevine 50 | 51 | # Add-ons 52 | ac_add_options --allow-addon-sideload 53 | ac_add_options --with-unsigned-addon-scopes=app,system 54 | 55 | # Client settings 56 | ac_add_options --disable-parental-controls 57 | ac_add_options --disable-crashreporter 58 | ac_add_options --disable-updater 59 | ac_add_options --enable-geckodriver 60 | ac_add_options --disable-maintenance-service 61 | ac_add_options --without-wasm-sandboxed-libraries 62 | ac_add_options --disable-bits-download 63 | #ac_add_options --disable-default-browser-agent 64 | export MOZ_SOURCE_CHANGESET=${changeset} 65 | mk_add_options MOZ_CRASHREPORTER=0 66 | mk_add_options MOZ_DATA_REPORTING=0 67 | mk_add_options MOZ_SERVICES_HEALTHREPORT=0 68 | mk_add_options MOZ_TELEMETRY_REPORTING= 69 | export MOZ_CRASHREPORTER=0 70 | export MOZ_DATA_REPORTING=0 71 | export MOZ_REQUIRE_SIGNING= 72 | export MOZ_TELEMETRY_REPORTING= 73 | export MOZ_PACKAGE_JSSHELL=1 74 | 75 | # API Keys 76 | ac_add_options --with-google-location-service-api-keyfile=@TOPSRCDIR@/ga 77 | ac_add_options --with-google-safebrowsing-api-keyfile=@TOPSRCDIR@/ga 78 | 79 | # Branding 80 | ac_add_options --with-app-name=mercury 81 | ac_add_options --with-app-basename=Mercury 82 | ac_add_options --with-branding=browser/branding/mercury 83 | ac_add_options --with-l10n-base="C:\mozilla-source\mozilla-unified\browser\locales\en-US" 84 | ac_add_options --with-distribution-id=com.alex313031.mercury 85 | #-app=/home/alex/bin/Mercury/application.ini 86 | 87 | # Make flags (set to number of CPU cores) 88 | mk_add_options MOZ_MAKE_FLAGS="-j16" 89 | 90 | # Autoclobber 91 | mk_add_options AUTOCLOBBER=1 92 | export AUTOCLOBBER=1 93 | 94 | # Set -Copt-level=3 95 | export OPT_LEVEL="3" 96 | ac_add_options OPT_LEVEL="3" 97 | export RUSTC_OPT_LEVEL="3" 98 | ac_add_options RUSTC_OPT_LEVEL="3" 99 | 100 | # Enable PGO/LTO 101 | export MOZ_LTO=1 102 | ac_add_options MOZ_LTO=1 103 | export MOZ_PGO=1 104 | ac_add_options MOZ_PGO=1 105 | 106 | if test "$GEN_PGO"; then 107 | ac_add_options --enable-profile-generate 108 | elif test "$USE_PGO"; then 109 | ac_add_options --enable-profile-use=cross 110 | fi 111 | 112 | # Compiler, Linker, and Rust flags 113 | export CFLAGS="-O2 -march=x86-64-v3 /clang:-O3 /clang:-ffp-contract=fast /arch:AVX2" 114 | export CPPFLAGS="-O2 -march=x86-64-v3 /clang:-O3 /clang:-ffp-contract=fast /arch:AVX2" 115 | export CXXFLAGS="-O2 -march=x86-64-v3 /clang:-O3 /clang:-ffp-contract=fast /arch:AVX2" 116 | export LDFLAGS="-Wl,-O3 -march=x86-64-v3" 117 | export POLLY="-mllvm -polly -mllvm -polly-2nd-level-tiling -mllvm -polly-loopfusion-greedy -mllvm -polly-pattern-matching-based-opts -mllvm -polly-position=before-vectorizer -mllvm -polly-vectorizer=stripmine" 118 | export RUSTFLAGS="-C target-cpu=haswell -C target-feature=+avx2 -C codegen-units=1" 119 | export VERBOSE=1 120 | -------------------------------------------------------------------------------- /mozconfigs/mozconfig-win-cross: -------------------------------------------------------------------------------- 1 | ## Copyright (c) 2024 Alex313031. 2 | 3 | ## .mozconfig for cross compiling Mercury Browser for Windows on Linux 4 | 5 | # Build only Mercury 6 | ac_add_options --enable-application=browser 7 | ac_add_options --disable-artifact-builds 8 | 9 | # Build for Windows on Linux 10 | ac_add_options --target=x86_64-pc-mingw32 11 | ac_add_options --with-toolchain-prefix=x86_64-pc-mingw32 12 | ac_add_options --enable-bootstrap 13 | #ac_add_options --enable-default-toolkit=cairo-windows 14 | #ac_add_options --with-clang-path="$CC" 15 | #ac_add_options --with-libclang-path="$TOOLTOOL_DIR/clang/lib" 16 | #ac_add_options --disable-update-agent 17 | #ac_add_options --disable-dmd 18 | #ac_add_options --disable-signmar 19 | #ac_add_options --disable-verify-mar 20 | 21 | CROSS_COMPILE=1 22 | export MOZ_INCLUDE_SOURCE_INFO=1 23 | export WINEDEBUG=-all 24 | export DISPLAY=:2 25 | 26 | # Optimization settings 27 | ac_add_options --enable-release 28 | ac_add_options --disable-debug 29 | ac_add_options --disable-debug-symbols 30 | ac_add_options --disable-debug-js-modules 31 | ac_add_options --disable-tests 32 | ac_add_options --enable-strip 33 | ac_add_options --enable-install-strip 34 | ac_add_options --enable-clang-plugin 35 | ac_add_options --enable-lto 36 | ac_add_options --enable-jemalloc 37 | ac_add_options --enable-wasm-avx 38 | ac_add_options --enable-optimize="-mavx -maes /O2 /clang:-O3 /arch:AVX" 39 | ac_add_options --enable-rust-simd 40 | ac_add_options --enable-hardening 41 | #ac_add_options --disable-trace-logging 42 | mk_add_options MOZILLA_OFFICIAL=1 43 | MOZILLA_OFFICIAL=1 44 | export MOZILLA_OFFICIAL=1 45 | mk_add_options MOZ_OPTIMIZE=1 46 | MOZ_OPTIMIZE=1 47 | export MOZ_OPTIMIZE=1 48 | export STRIP_FLAGS="--strip-debug --strip-unneeded" 49 | 50 | # Media settings 51 | ac_add_options --enable-sandbox 52 | ac_add_options --enable-raw 53 | ac_add_options --enable-webrtc 54 | ac_add_options --enable-jxl 55 | ac_add_options --enable-av1 56 | ac_add_options --enable-eme=widevine 57 | 58 | # Add-ons 59 | ac_add_options --allow-addon-sideload 60 | ac_add_options --with-unsigned-addon-scopes=app,system 61 | 62 | # Client settings 63 | ac_add_options --disable-parental-controls 64 | ac_add_options --disable-crashreporter 65 | ac_add_options --disable-updater 66 | ac_add_options --enable-geckodriver 67 | ac_add_options --disable-maintenance-service 68 | ac_add_options --without-wasm-sandboxed-libraries 69 | ac_add_options --disable-bits-download 70 | #ac_add_options --disable-default-browser-agent 71 | export MOZ_SOURCE_CHANGESET=${changeset} 72 | mk_add_options MOZ_CRASHREPORTER=0 73 | mk_add_options MOZ_DATA_REPORTING=0 74 | mk_add_options MOZ_SERVICES_HEALTHREPORT=0 75 | mk_add_options MOZ_TELEMETRY_REPORTING= 76 | export MOZ_CRASHREPORTER=0 77 | export MOZ_DATA_REPORTING=0 78 | export MOZ_REQUIRE_SIGNING= 79 | export MOZ_TELEMETRY_REPORTING= 80 | export MOZ_PACKAGE_JSSHELL=1 81 | 82 | # API Keys 83 | ac_add_options --with-google-location-service-api-keyfile=@TOPSRCDIR@/ga 84 | ac_add_options --with-google-safebrowsing-api-keyfile=@TOPSRCDIR@/ga 85 | 86 | # Branding 87 | ac_add_options --with-app-name=mercury 88 | ac_add_options --with-app-basename=Mercury 89 | ac_add_options --with-branding=browser/branding/mercury 90 | ac_add_options --with-l10n-base=$PWD/browser/locales/en-US 91 | ac_add_options --with-distribution-id=com.alex313031.mercury 92 | #-app=/home/alex/bin/Mercury/application.ini 93 | 94 | # Make flags (set to number of CPU cores) 95 | mk_add_options MOZ_MAKE_FLAGS="-j16" 96 | 97 | # Autoclobber 98 | mk_add_options AUTOCLOBBER=1 99 | export AUTOCLOBBER=1 100 | 101 | # Set -Copt-level=3 102 | export OPT_LEVEL="3" 103 | ac_add_options OPT_LEVEL="3" 104 | export RUSTC_OPT_LEVEL="3" 105 | ac_add_options RUSTC_OPT_LEVEL="3" 106 | 107 | # Enable PGO/LTO 108 | export MOZ_LTO=1 109 | ac_add_options MOZ_LTO=1 110 | #export MOZ_PGO=1 111 | #ac_add_options MOZ_PGO=1 112 | 113 | # Compiler, Linker, and Rust flags 114 | export CFLAGS="-mavx -maes /O2 /clang:-O3 /arch:AVX" 115 | export CPPFLAGS="-mavx -maes /O2 /clang:-O3 /arch:AVX" 116 | export CXXFLAGS="-mavx -maes /O2 /clang:-O3 /arch:AVX" 117 | export LDFLAGS="-Wl,-O3 -mavx -maes" 118 | #export MOZ_LTO_LDFLAGS="-Wl,-mllvm,-polly" 119 | export RUSTFLAGS="-C target-feature=+avx -C codegen-units=1" 120 | export POLLY="-mllvm -polly -mllvm -polly-2nd-level-tiling -mllvm -polly-loopfusion-greedy -mllvm -polly-pattern-matching-based-opts -mllvm -polly-position=before-vectorizer -mllvm -polly-vectorizer=stripmine" 121 | export VERBOSE=1 122 | -------------------------------------------------------------------------------- /mozconfigs/mozconfig-win-debug: -------------------------------------------------------------------------------- 1 | ## Copyright (c) 2024 Alex313031. 2 | 3 | ## .mozconfig for compiling Mercury Browser for Windows natively 4 | 5 | # Build only Mercury 6 | ac_add_options --enable-application=browser 7 | ac_add_options --disable-artifact-builds 8 | 9 | # Build for Windows 10 | ac_add_options --enable-bootstrap 11 | ac_add_options --disable-update-agent 12 | #ac_add_options --disable-dmd 13 | #ac_add_options --disable-signmar 14 | #ac_add_options --disable-verify-mar 15 | 16 | CROSS_COMPILE=0 17 | export MOZ_INCLUDE_SOURCE_INFO=1 18 | 19 | # Optimization settings 20 | ac_add_options --disable-tests 21 | ac_add_options --enable-clang-plugin 22 | ac_add_options --enable-wasm-avx 23 | ac_add_options --enable-optimize="-O2 -O3 -mavx -maes -Xclang -O3" 24 | ac_add_options --enable-rust-simd 25 | ac_add_options --enable-hardening 26 | #ac_add_options --disable-trace-logging 27 | 28 | # Media settings 29 | ac_add_options --enable-sandbox 30 | ac_add_options --enable-raw 31 | ac_add_options --enable-webrtc 32 | ac_add_options --enable-jxl 33 | ac_add_options --enable-av1 34 | ac_add_options --enable-eme=widevine 35 | 36 | # Add-ons 37 | ac_add_options --allow-addon-sideload 38 | ac_add_options --with-unsigned-addon-scopes=app,system 39 | 40 | # Client settings 41 | ac_add_options --disable-parental-controls 42 | ac_add_options --disable-crashreporter 43 | ac_add_options --disable-updater 44 | ac_add_options --disable-maintenance-service 45 | ac_add_options --without-wasm-sandboxed-libraries 46 | ac_add_options --disable-bits-download 47 | #ac_add_options --disable-default-browser-agent 48 | export MOZ_SOURCE_CHANGESET=${changeset} 49 | mk_add_options MOZ_CRASHREPORTER=0 50 | mk_add_options MOZ_DATA_REPORTING=0 51 | mk_add_options MOZ_SERVICES_HEALTHREPORT=0 52 | mk_add_options MOZ_TELEMETRY_REPORTING= 53 | export MOZ_CRASHREPORTER=0 54 | export MOZ_DATA_REPORTING=0 55 | export MOZ_REQUIRE_SIGNING= 56 | export MOZ_TELEMETRY_REPORTING= 57 | export MOZ_PACKAGE_JSSHELL=1 58 | 59 | # Installer 60 | export WIN32_REDIST_DIR="/c/Program Files/Microsoft Visual Studio/2022/Community/VC/Redist/MSVC/14.38.33130/x64/Microsoft.VC143.CRT" 61 | 62 | # API Keys 63 | ac_add_options --with-google-location-service-api-keyfile=@TOPSRCDIR@/ga 64 | ac_add_options --with-google-safebrowsing-api-keyfile=@TOPSRCDIR@/ga 65 | 66 | # Branding 67 | ac_add_options --with-app-name=mercury 68 | ac_add_options --with-app-basename=Mercury 69 | ac_add_options --with-branding=browser/branding/mercury 70 | ac_add_options --with-l10n-base="C:\mozilla-source\mozilla-unified\browser\locales\en-US" 71 | ac_add_options --with-distribution-id=com.alex313031.mercury 72 | #-app=/home/alex/bin/Mercury/application.ini 73 | 74 | # Make flags (set to number of CPU cores) 75 | mk_add_options MOZ_MAKE_FLAGS="-j16" 76 | 77 | # Autoclobber 78 | mk_add_options AUTOCLOBBER=1 79 | export AUTOCLOBBER=1 80 | 81 | # Compiler, Linker, and Rust flags 82 | export CFLAGS="-mavx -maes /clang:-Og /arch:AVX" 83 | export CPPFLAGS="-mavx -maes /clang:-Og /arch:AVX" 84 | export CXXFLAGS="-mavx -maes /clang:-Og /arch:AVX" 85 | export LDFLAGS="-Wl,-O0 -mavx -maes" 86 | #export MOZ_LTO_LDFLAGS="-mllvm:-polly" 87 | export RUSTFLAGS="-C target-feature=+avx" 88 | export VERBOSE=1 89 | -------------------------------------------------------------------------------- /mozconfigs/mozconfig-win-sse3: -------------------------------------------------------------------------------- 1 | ## Copyright (c) 2024 Alex313031. 2 | 3 | ## .mozconfig for compiling Mercury Browser for Windows natively 4 | 5 | # Build only Mercury 6 | ac_add_options --enable-application=browser 7 | ac_add_options --disable-artifact-builds 8 | 9 | # Build for Windows 10 | ac_add_options --enable-bootstrap 11 | ac_add_options --disable-update-agent 12 | #ac_add_options --disable-dmd 13 | #ac_add_options --disable-signmar 14 | #ac_add_options --disable-verify-mar 15 | 16 | CROSS_COMPILE=0 17 | export MOZ_INCLUDE_SOURCE_INFO=1 18 | 19 | # Optimization settings 20 | ac_add_options --enable-release 21 | ac_add_options --disable-debug 22 | ac_add_options --disable-debug-symbols 23 | ac_add_options --disable-debug-js-modules 24 | ac_add_options --disable-tests 25 | ac_add_options --enable-strip 26 | ac_add_options --enable-install-strip 27 | ac_add_options --enable-clang-plugin 28 | ac_add_options --enable-lto 29 | ac_add_options --enable-jemalloc 30 | #ac_add_options --enable-wasm-avx 31 | ac_add_options --enable-optimize="-O2 -msse3 -Xclang -O3" 32 | ac_add_options --enable-rust-simd 33 | ac_add_options --enable-hardening 34 | #ac_add_options --disable-trace-logging 35 | mk_add_options MOZILLA_OFFICIAL=1 36 | MOZILLA_OFFICIAL=1 37 | export MOZILLA_OFFICIAL=1 38 | mk_add_options MOZ_OPTIMIZE=1 39 | MOZ_OPTIMIZE=1 40 | export MOZ_OPTIMIZE=1 41 | export STRIP_FLAGS="--strip-debug --strip-unneeded" 42 | 43 | # Media settings 44 | ac_add_options --enable-sandbox 45 | ac_add_options --enable-raw 46 | ac_add_options --enable-webrtc 47 | ac_add_options --enable-jxl 48 | ac_add_options --enable-av1 49 | ac_add_options --enable-eme=widevine 50 | 51 | # Add-ons 52 | ac_add_options --allow-addon-sideload 53 | ac_add_options --with-unsigned-addon-scopes=app,system 54 | 55 | # Client settings 56 | ac_add_options --disable-parental-controls 57 | ac_add_options --disable-crashreporter 58 | ac_add_options --disable-updater 59 | ac_add_options --enable-geckodriver 60 | ac_add_options --disable-maintenance-service 61 | ac_add_options --without-wasm-sandboxed-libraries 62 | ac_add_options --disable-bits-download 63 | #ac_add_options --disable-default-browser-agent 64 | export MOZ_SOURCE_CHANGESET=${changeset} 65 | mk_add_options MOZ_CRASHREPORTER=0 66 | mk_add_options MOZ_DATA_REPORTING=0 67 | mk_add_options MOZ_SERVICES_HEALTHREPORT=0 68 | mk_add_options MOZ_TELEMETRY_REPORTING= 69 | export MOZ_CRASHREPORTER=0 70 | export MOZ_DATA_REPORTING=0 71 | export MOZ_REQUIRE_SIGNING= 72 | export MOZ_TELEMETRY_REPORTING= 73 | export MOZ_PACKAGE_JSSHELL=1 74 | 75 | # API Keys 76 | ac_add_options --with-google-location-service-api-keyfile=@TOPSRCDIR@/ga 77 | ac_add_options --with-google-safebrowsing-api-keyfile=@TOPSRCDIR@/ga 78 | 79 | # Branding 80 | ac_add_options --with-app-name=mercury 81 | ac_add_options --with-app-basename=Mercury 82 | ac_add_options --with-branding=browser/branding/mercury 83 | ac_add_options --with-l10n-base="C:\mozilla-source\mozilla-unified\browser\locales\en-US" 84 | ac_add_options --with-distribution-id=com.alex313031.mercury 85 | #-app=/home/alex/bin/Mercury/application.ini 86 | 87 | # Make flags (set to number of CPU cores) 88 | mk_add_options MOZ_MAKE_FLAGS="-j16" 89 | 90 | # Autoclobber 91 | mk_add_options AUTOCLOBBER=1 92 | export AUTOCLOBBER=1 93 | 94 | # Set -Copt-level=3 95 | export OPT_LEVEL="3" 96 | ac_add_options OPT_LEVEL="3" 97 | export RUSTC_OPT_LEVEL="3" 98 | ac_add_options RUSTC_OPT_LEVEL="3" 99 | 100 | # Enable PGO/LTO 101 | export MOZ_LTO=1 102 | ac_add_options MOZ_LTO=1 103 | export MOZ_PGO=1 104 | ac_add_options MOZ_PGO=1 105 | 106 | if test "$GEN_PGO"; then 107 | ac_add_options --enable-profile-generate 108 | elif test "$USE_PGO"; then 109 | ac_add_options --enable-profile-use=cross 110 | fi 111 | 112 | # Compiler, Linker, and Rust flags 113 | export CFLAGS="-O2 -msse3 /clang:-O3" 114 | export CPPFLAGS="-O2 -msse3 /clang:-O3" 115 | export CXXFLAGS="-O2 -msse3 /clang:-O3" 116 | export LDFLAGS="-Wl,-O3 -msse3" 117 | export POLLY="-mllvm -polly -mllvm -polly-2nd-level-tiling -mllvm -polly-loopfusion-greedy -mllvm -polly-pattern-matching-based-opts -mllvm -polly-position=before-vectorizer -mllvm -polly-vectorizer=stripmine" 118 | export RUSTFLAGS="-C target-feature=+sse3 -C codegen-units=1" 119 | export VERBOSE=1 120 | -------------------------------------------------------------------------------- /mozconfigs/mozconfig-win-sse4: -------------------------------------------------------------------------------- 1 | ## Copyright (c) 2024 Alex313031. 2 | 3 | ## .mozconfig for compiling Mercury Browser for Windows natively 4 | 5 | # Build only Mercury 6 | ac_add_options --enable-application=browser 7 | ac_add_options --disable-artifact-builds 8 | 9 | # Build for Windows 10 | ac_add_options --enable-bootstrap 11 | ac_add_options --disable-update-agent 12 | #ac_add_options --disable-dmd 13 | #ac_add_options --disable-signmar 14 | #ac_add_options --disable-verify-mar 15 | 16 | CROSS_COMPILE=0 17 | export MOZ_INCLUDE_SOURCE_INFO=1 18 | 19 | # Optimization settings 20 | ac_add_options --enable-release 21 | ac_add_options --disable-debug 22 | ac_add_options --disable-debug-symbols 23 | ac_add_options --disable-debug-js-modules 24 | ac_add_options --disable-tests 25 | ac_add_options --enable-strip 26 | ac_add_options --enable-install-strip 27 | ac_add_options --enable-clang-plugin 28 | ac_add_options --enable-lto 29 | ac_add_options --enable-jemalloc 30 | #ac_add_options --enable-wasm-avx 31 | ac_add_options --enable-optimize="-O2 -msse3 -mssse3 -msse4.1 -Xclang -O3" 32 | ac_add_options --enable-rust-simd 33 | ac_add_options --enable-hardening 34 | #ac_add_options --disable-trace-logging 35 | mk_add_options MOZILLA_OFFICIAL=1 36 | MOZILLA_OFFICIAL=1 37 | export MOZILLA_OFFICIAL=1 38 | mk_add_options MOZ_OPTIMIZE=1 39 | MOZ_OPTIMIZE=1 40 | export MOZ_OPTIMIZE=1 41 | export STRIP_FLAGS="--strip-debug --strip-unneeded" 42 | 43 | # Media settings 44 | ac_add_options --enable-sandbox 45 | ac_add_options --enable-raw 46 | ac_add_options --enable-webrtc 47 | ac_add_options --enable-jxl 48 | ac_add_options --enable-av1 49 | ac_add_options --enable-eme=widevine 50 | 51 | # Add-ons 52 | ac_add_options --allow-addon-sideload 53 | ac_add_options --with-unsigned-addon-scopes=app,system 54 | 55 | # Client settings 56 | ac_add_options --disable-parental-controls 57 | ac_add_options --disable-crashreporter 58 | ac_add_options --disable-updater 59 | ac_add_options --enable-geckodriver 60 | ac_add_options --disable-maintenance-service 61 | ac_add_options --without-wasm-sandboxed-libraries 62 | ac_add_options --disable-bits-download 63 | #ac_add_options --disable-default-browser-agent 64 | export MOZ_SOURCE_CHANGESET=${changeset} 65 | mk_add_options MOZ_CRASHREPORTER=0 66 | mk_add_options MOZ_DATA_REPORTING=0 67 | mk_add_options MOZ_SERVICES_HEALTHREPORT=0 68 | mk_add_options MOZ_TELEMETRY_REPORTING= 69 | export MOZ_CRASHREPORTER=0 70 | export MOZ_DATA_REPORTING=0 71 | export MOZ_REQUIRE_SIGNING= 72 | export MOZ_TELEMETRY_REPORTING= 73 | export MOZ_PACKAGE_JSSHELL=1 74 | 75 | # API Keys 76 | ac_add_options --with-google-location-service-api-keyfile=@TOPSRCDIR@/ga 77 | ac_add_options --with-google-safebrowsing-api-keyfile=@TOPSRCDIR@/ga 78 | 79 | # Branding 80 | ac_add_options --with-app-name=mercury 81 | ac_add_options --with-app-basename=Mercury 82 | ac_add_options --with-branding=browser/branding/mercury 83 | ac_add_options --with-l10n-base="C:\mozilla-source\mozilla-unified\browser\locales\en-US" 84 | ac_add_options --with-distribution-id=com.alex313031.mercury 85 | #-app=/home/alex/bin/Mercury/application.ini 86 | 87 | # Make flags (set to number of CPU cores) 88 | mk_add_options MOZ_MAKE_FLAGS="-j16" 89 | 90 | # Autoclobber 91 | mk_add_options AUTOCLOBBER=1 92 | export AUTOCLOBBER=1 93 | 94 | # Set -Copt-level=3 95 | export OPT_LEVEL="3" 96 | ac_add_options OPT_LEVEL="3" 97 | export RUSTC_OPT_LEVEL="3" 98 | ac_add_options RUSTC_OPT_LEVEL="3" 99 | 100 | # Enable PGO/LTO 101 | export MOZ_LTO=1 102 | ac_add_options MOZ_LTO=1 103 | export MOZ_PGO=1 104 | ac_add_options MOZ_PGO=1 105 | 106 | if test "$GEN_PGO"; then 107 | ac_add_options --enable-profile-generate 108 | elif test "$USE_PGO"; then 109 | ac_add_options --enable-profile-use=cross 110 | fi 111 | 112 | # Compiler, Linker, and Rust flags 113 | export CFLAGS="-O2 -msse3 -mssse3 -msse4.1 /clang:-O3" 114 | export CPPFLAGS="-O2 -msse3 -mssse3 -msse4.1 /clang:-O3" 115 | export CXXFLAGS="-O2 -msse3 -mssse3 -msse4.1 /clang:-O3" 116 | export LDFLAGS="-Wl,-O3 -msse3 -mssse3 -msse4.1" 117 | export POLLY="-mllvm -polly -mllvm -polly-2nd-level-tiling -mllvm -polly-loopfusion-greedy -mllvm -polly-pattern-matching-based-opts -mllvm -polly-position=before-vectorizer -mllvm -polly-vectorizer=stripmine" 118 | export RUSTFLAGS="-C target-feature=+sse4.1 -C codegen-units=1" 119 | export VERBOSE=1 120 | -------------------------------------------------------------------------------- /other-licenses/7zstub/firefox/7zSD.ARM64.sfx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/other-licenses/7zstub/firefox/7zSD.ARM64.sfx -------------------------------------------------------------------------------- /other-licenses/7zstub/firefox/7zSD.Win32.sfx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/other-licenses/7zstub/firefox/7zSD.Win32.sfx -------------------------------------------------------------------------------- /other-licenses/7zstub/firefox/resource.rc: -------------------------------------------------------------------------------- 1 | #include 2 | #include "../src/CPP/7zip/Bundles/SFXSetup/resource.h" 3 | #include "../src/C/7zVersion.rc" 4 | 5 | LANGUAGE 9, 1 6 | 1 VERSIONINFO 7 | FILEVERSION MY_VER 8 | PRODUCTVERSION MY_VER 9 | FILEFLAGSMASK MY_VS_FFI_FILEFLAGSMASK 10 | FILEFLAGS DBG_FL 11 | FILEOS MY_VOS_NT_WINDOWS32 12 | FILETYPE MY_VFT_APP 13 | FILESUBTYPE 0x0L 14 | BEGIN 15 | BLOCK "StringFileInfo" 16 | BEGIN 17 | BLOCK "040904b0" 18 | BEGIN 19 | VALUE "CompanyName", "Alex313031" 20 | VALUE "FileDescription", "Mercury Browser Installer" 21 | VALUE "FileVersion", MY_VERSION 22 | VALUE "InternalName", "7zSD.sfx" 23 | VALUE "LegalCopyright", "Alex313031" 24 | VALUE "OriginalFilename", "7zSD.sfx" 25 | VALUE "ProductName", "Mercury" 26 | VALUE "ProductVersion", MY_VERSION 27 | END 28 | END 29 | BLOCK "VarFileInfo" 30 | BEGIN 31 | VALUE "Translation", 0x409, 1200 32 | END 33 | END 34 | 35 | #ifdef _ARM64_ 36 | 1 RT_MANIFEST "7zSD.arm64.manifest" 37 | #else 38 | 1 RT_MANIFEST "7zSD.win32.manifest" 39 | #endif 40 | 41 | IDI_ICON ICON "setup.ico" 42 | 43 | STRINGTABLE 44 | BEGIN 45 | IDS_EXTRACTION_ERROR_TITLE "Extraction Failed" 46 | IDS_EXTRACTION_ERROR_MESSAGE "File is corrupt" 47 | IDS_CANNOT_CREATE_FOLDER "Cannot create folder '{0}'" 48 | IDS_PROGRESS_EXTRACTING "Extracting" 49 | IDS_MIN_OS_TITLE "Setup Error" 50 | IDS_MIN_OS_TEXT "Microsoft Windows 10 or newer is required." 51 | END 52 | 53 | #include "../src/CPP/7zip/UI/FileManager/ProgressDialog.rc" 54 | -------------------------------------------------------------------------------- /other-licenses/7zstub/firefox/setup.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/other-licenses/7zstub/firefox/setup.ico -------------------------------------------------------------------------------- /package.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Copyright (c) 2024 Alex313031. 4 | 5 | YEL='\033[1;33m' # Yellow 6 | CYA='\033[1;96m' # Cyan 7 | RED='\033[1;31m' # Red 8 | GRE='\033[1;32m' # Green 9 | c0='\033[0m' # Reset Text 10 | bold='\033[1m' # Bold Text 11 | underline='\033[4m' # Underline Text 12 | 13 | # Error handling 14 | yell() { echo "$0: $*" >&2; } 15 | die() { yell "$*"; exit 111; } 16 | try() { "$@" || die "${RED}Failed $*"; } 17 | 18 | # --help 19 | displayHelp () { 20 | printf "\n" && 21 | printf "${bold}${GRE}Script to package Mercury Browser.${c0}\n" && 22 | printf "${underline}${YEL}Usage:${c0} package.sh\n" && 23 | printf "You can also run ${CYA}export MOZ_MAKE_FLAGS=\"-j#\"${c0} where # is the number of jobs.\n" && 24 | printf "\n" 25 | } 26 | case $1 in 27 | --help) displayHelp; exit 0;; 28 | esac 29 | 30 | # mozilla source dir env variable 31 | if [ -z "${HG_SRC_DIR}" ]; then 32 | HG_SRC_DIR="$HOME/mozilla-unified" 33 | export HG_SRC_DIR 34 | else 35 | HG_SRC_DIR="${HG_SRC_DIR}" 36 | export HG_SRC_DIR 37 | fi 38 | 39 | printf "\n" && 40 | printf "${YEL}Packaging Mercury..\n" && 41 | printf "${GRE}\n" && 42 | 43 | cd ${HG_SRC_DIR} && 44 | 45 | ./mach package -v && 46 | 47 | printf "${GRE}${bold}Done. ${YEL}${bold}You can find a tarball package of the release in:\n" && 48 | printf "${PWD}/obj.../dist/Mercury....tar.bz2\n" && 49 | tput sgr0 50 | -------------------------------------------------------------------------------- /policies/moz.build: -------------------------------------------------------------------------------- 1 | 2 | # policies to install UBlock Origin 3 | 4 | FINAL_TARGET_FILES.distribution += [ 5 | "policies.json", 6 | ] 7 | 8 | -------------------------------------------------------------------------------- /policies/policies.json: -------------------------------------------------------------------------------- 1 | { 2 | "policies": { 3 | "HardwareAcceleration": true, 4 | "Extensions": { 5 | "Install": [ 6 | "https://addons.mozilla.org/firefox/downloads/file/4328681/ublock_origin-1.59.0.xpi" 7 | ], 8 | "Uninstall": [ 9 | "bing@search.mozilla.org", 10 | "amazondotcom@search.mozilla.org", 11 | "ebay@search.mozilla.org", 12 | "twitter@search.mozilla.org" 13 | ] 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /portable/MERCURY.BAT: -------------------------------------------------------------------------------- 1 | START "" "%cd%\mercury\mercury.exe" --profile "%~dp0%\USER_DATA" 2 | -------------------------------------------------------------------------------- /portable/MERCURY_PORTABLE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Alex313031/Mercury/21186f1213ffcbf805c2c14e47a7c265a66104fb/portable/MERCURY_PORTABLE -------------------------------------------------------------------------------- /portable/MERCURY_PORTABLE.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | mkdir -p ./USER_DATA && 4 | 5 | ./mercury/mercury --profile "${PWD}/USER_DATA" 6 | -------------------------------------------------------------------------------- /revert.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Copyright (c) 2024 Alex313031. 4 | 5 | YEL='\033[1;33m' # Yellow 6 | CYA='\033[1;96m' # Cyan 7 | RED='\033[1;31m' # Red 8 | GRE='\033[1;32m' # Green 9 | c0='\033[0m' # Reset Text 10 | bold='\033[1m' # Bold Text 11 | underline='\033[4m' # Underline Text 12 | 13 | # Error handling 14 | yell() { echo "$0: $*" >&2; } 15 | die() { yell "$*"; exit 111; } 16 | try() { "$@" || die "${RED}Failed $*"; } 17 | 18 | # --help 19 | displayHelp () { 20 | printf "\n" && 21 | printf "${bold}${GRE}Script to restore the Mozilla repo to a vanilla state.${c0}\n" && 22 | printf "${bold}${YEL}Useful for making changes without updating the Firefox version.${c0}\n" && 23 | printf "\n" 24 | } 25 | case $1 in 26 | --help) displayHelp; exit 0;; 27 | esac 28 | 29 | # mozilla source dir env variable 30 | if [ -z "${HG_SRC_DIR}" ]; then 31 | HG_SRC_DIR="$HOME/mozilla-unified" 32 | export HG_SRC_DIR 33 | else 34 | HG_SRC_DIR="${HG_SRC_DIR}" 35 | export HG_SRC_DIR 36 | fi 37 | 38 | printf "\n" && 39 | printf "${bold}${GRE}Script to restore the Mozilla repo to a vanilla state.${c0}\n" && 40 | printf "${bold}${YEL}Useful for making changes without updating the Firefox version.${c0}\n" && 41 | printf "\n" && 42 | printf "${YEL}Removing/reverting changes made by Mercury to the Mozilla repo...${c0}\n" && 43 | 44 | cd ${HG_SRC_DIR} && 45 | 46 | rm -r -f ./obj-* && 47 | 48 | hg purge && 49 | 50 | hg revert --all -C && 51 | 52 | printf "\n" && 53 | printf "${GRE}Done! ${YEL}You can now run ./setup.sh or make changes.\n" && 54 | tput sgr0 55 | -------------------------------------------------------------------------------- /run.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Copyright (c) 2024 Alex313031. 4 | 5 | YEL='\033[1;33m' # Yellow 6 | CYA='\033[1;96m' # Cyan 7 | RED='\033[1;31m' # Red 8 | GRE='\033[1;32m' # Green 9 | c0='\033[0m' # Reset Text 10 | bold='\033[1m' # Bold Text 11 | underline='\033[4m' # Underline Text 12 | 13 | # Error handling 14 | yell() { echo "$0: $*" >&2; } 15 | die() { yell "$*"; exit 111; } 16 | try() { "$@" || die "${RED}Failed $*"; } 17 | 18 | # --help 19 | displayHelp () { 20 | printf "\n" && 21 | printf "${bold}${GRE}Script to run Mercury in dev mode.${c0}\n" && 22 | printf "\n" 23 | } 24 | case $1 in 25 | --help) displayHelp; exit 0;; 26 | esac 27 | 28 | # mozilla source dir env variable 29 | if [ -z "${HG_SRC_DIR}" ]; then 30 | HG_SRC_DIR="$HOME/mozilla-unified" 31 | export HG_SRC_DIR 32 | else 33 | HG_SRC_DIR="${HG_SRC_DIR}" 34 | export HG_SRC_DIR 35 | fi 36 | 37 | printf "\n" && 38 | printf "${bold}${GRE}Script to run Mercury in dev mode.${c0}\n" && 39 | printf "\n" && 40 | tput sgr0 && 41 | 42 | cd ${HG_SRC_DIR} && 43 | 44 | ./mach run 45 | -------------------------------------------------------------------------------- /testing/profiles/profileserver/user.js: -------------------------------------------------------------------------------- 1 | /* This Source Code Form is subject to the terms of the Mozilla Public 2 | * License, v. 2.0. If a copy of the MPL was not distributed with this 3 | * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 4 | 5 | // Preferences file for profileserver. 6 | /* globals user_pref */ 7 | // Turn off budget throttling for the profile server 8 | user_pref("dom.timeout.enable_budget_timer_throttling", false); 9 | // Turn off update 10 | user_pref("app.update.disabledForTesting", true); 11 | // Alex313031: Fix PGO bug 12 | user_pref("gfx.webrender.software", true); 13 | -------------------------------------------------------------------------------- /tot.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Copyright (c) 2024 Alex313031. 4 | 5 | YEL='\033[1;33m' # Yellow 6 | CYA='\033[1;96m' # Cyan 7 | RED='\033[1;31m' # Red 8 | GRE='\033[1;32m' # Green 9 | c0='\033[0m' # Reset Text 10 | bold='\033[1m' # Bold Text 11 | underline='\033[4m' # Underline Text 12 | 13 | # Error handling 14 | yell() { echo "$0: $*" >&2; } 15 | die() { yell "$*"; exit 111; } 16 | try() { "$@" || die "${RED}Failed $*"; } 17 | 18 | # --help 19 | displayHelp () { 20 | printf "\n" && 21 | printf "${bold}${GRE}Script to Rebase/Sync the Mozilla repo.${c0}\n" && 22 | printf "\n" 23 | } 24 | case $1 in 25 | --help) displayHelp; exit 0;; 26 | esac 27 | 28 | # mozilla source dir env variable 29 | if [ -z "${HG_SRC_DIR}" ]; then 30 | HG_SRC_DIR="$HOME/mozilla-unified" 31 | export HG_SRC_DIR 32 | else 33 | HG_SRC_DIR="${HG_SRC_DIR}" 34 | export HG_SRC_DIR 35 | fi 36 | 37 | printf "\n" && 38 | printf "${bold}${GRE}Script to Rebase/Sync Mozilla repo.${c0}\n" && 39 | printf "\n" && 40 | printf "${YEL}Rebasing/Syncing with mozilla-unified Mercurial repository...${c0}\n" && 41 | 42 | MERCURY_BRANCH="central" 43 | export MERCURY_BRANCH && 44 | 45 | cd ${HG_SRC_DIR} && 46 | 47 | rm -r -f ./obj-* && 48 | 49 | hg purge && 50 | 51 | hg pull && 52 | 53 | printf "\n" && 54 | printf "${GRE}Checking out the ${MERCURY_BRANCH} branch...${c0}\n" && 55 | 56 | hg update --clean -C $MERCURY_BRANCH && 57 | 58 | printf "\n" && 59 | printf "${GRE}Running \`./mach bootstrap\`...${c0}\n" && 60 | 61 | ./mach bootstrap && 62 | 63 | printf "\n" && 64 | 65 | printf "${GRE}Done! ${YEL}You can now run ./setup.sh${c0}\n" && 66 | tput sgr0 67 | -------------------------------------------------------------------------------- /version.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Copyright (c) 2024 Alex313031. 4 | 5 | YEL='\033[1;33m' # Yellow 6 | CYA='\033[1;96m' # Cyan 7 | RED='\033[1;31m' # Red 8 | GRE='\033[1;32m' # Green 9 | c0='\033[0m' # Reset Text 10 | bold='\033[1m' # Bold Text 11 | underline='\033[4m' # Underline Text 12 | 13 | # Error handling 14 | yell() { echo "$0: $*" >&2; } 15 | die() { yell "$*"; exit 111; } 16 | try() { "$@" || die "${RED}Failed $*"; } 17 | 18 | # --help 19 | displayHelp () { 20 | printf "\n" && 21 | printf "${bold}${GRE}Script to Rebase/Sync the Mozilla repo.${c0}\n" && 22 | printf "\n" 23 | } 24 | case $1 in 25 | --help) displayHelp; exit 0;; 26 | esac 27 | 28 | # mozilla source dir env variable 29 | if [ -z "${HG_SRC_DIR}" ]; then 30 | HG_SRC_DIR="$HOME/mozilla-unified" 31 | export HG_SRC_DIR 32 | else 33 | HG_SRC_DIR="${HG_SRC_DIR}" 34 | export HG_SRC_DIR 35 | fi 36 | 37 | printf "\n" && 38 | printf "${bold}${GRE}Script to Rebase/Sync Mozilla repo.${c0}\n" && 39 | printf "\n" && 40 | printf "${YEL}Rebasing/Syncing with mozilla-unified Mercurial repository...${c0}\n" && 41 | 42 | MERCURY_BRANCH="c6f0209c79239408bef9b3c98e9c729dcf20ec0c" 43 | export MERCURY_BRANCH && 44 | 45 | cd ${HG_SRC_DIR} && 46 | 47 | rm -r -f ./obj-* && 48 | 49 | hg purge && 50 | 51 | hg pull && 52 | 53 | printf "\n" && 54 | printf "${GRE}Checking out the ${MERCURY_BRANCH} branch...${c0}\n" && 55 | 56 | hg update --clean -C $MERCURY_BRANCH && 57 | 58 | printf "\n" && 59 | printf "${GRE}Running \`./mach bootstrap\`...${c0}\n" && 60 | 61 | ./mach bootstrap && 62 | 63 | printf "\n" && 64 | printf "${GRE}Done! ${YEL}You can now run ./setup.sh\n" && 65 | tput sgr0 66 | --------------------------------------------------------------------------------