├── .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 |
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 |
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 |
11 |
--------------------------------------------------------------------------------
/devtools/client/themes/images/aboutdebugging-fenix.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
11 |
--------------------------------------------------------------------------------
/devtools/client/themes/images/aboutdebugging-firefox-aurora.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
11 |
--------------------------------------------------------------------------------
/devtools/client/themes/images/aboutdebugging-firefox-beta.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
11 |
--------------------------------------------------------------------------------
/devtools/client/themes/images/aboutdebugging-firefox-logo.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
11 |
--------------------------------------------------------------------------------
/devtools/client/themes/images/aboutdebugging-firefox-nightly.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
11 |
--------------------------------------------------------------------------------
/devtools/client/themes/images/aboutdebugging-firefox-release.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
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 |
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 |
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 |
11 |
--------------------------------------------------------------------------------
/logos/bug.svg:
--------------------------------------------------------------------------------
1 |
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 |
--------------------------------------------------------------------------------