Build Pale Moon on macOS

macOS support is experimental! You can read about it in this forum.

Prerequisites

  • Mac OS X 10.7 or higher
  • Developers Tools (install with xcode-select --install)
  • Homebrew (see https://brew.sh/) or MacPorts (https://www.macports.org/)
  • Exactly Autoconf 2.13 (see below)

Starting with macOS 10.12 (Sierra), python2.7 comes preinstalled. For earlier versions of OS X, you may need to install this version of Python to be able to build Pale Moon.

Get the source

The source code is available on GitHub:

git clone https://github.com/MoonchildProductions/UXP.git
cd UXP/

For a build corresponding to a release of Pale Moon, switch to the release branch, Pale_Moon-release. Final releases will be tagged on GitHub.

For Pale Moon 27 and earlier, the source code can be found at https://github.com/MoonchildProductions/Pale-Moon.git, and the release branches are named in the format X.x_RelBranch.

Install Autoconf

Use homebrew to install autoconf 2.13

brew install autoconf@2.13

Configuring build options

In the source directory, create a file called either mozconfig or .mozconfig. Make sure it's not something like .mozconfig.txt; macOS might hide the file extension. For a build similar to official Pale Moon releases, your mozconfig should look like this:

ac_add_options --disable-debug
ac_add_options --disable-necko-wifi
ac_add_options --enable-strip
ac_add_options --enable-application=application/palemoon
ac_add_options --enable-optimize=-O2

In general, the default configuration is the best, and you shouldn't change it unless you know what you're doing.

This configuration is for Pale Moon 28.

XCode will come with at least one macOS SDK. Builds using a particular SDK should run on newer versions of macOS, but not always older ones. If you want your build to run on versions of macOS older than the one you're building on, you can obtain an older SDK from an older version of XCode or somewhere like https://github.com/phracker/MacOSX-SDKs and specify which SDK to use by adding a line like this to your mozconfig:

ac_add_options --with-macos-sdk=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk

To get XCode to use an SDK, place (or symlink) it in /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/. To get XCode 7.3+ to recognize an SDK older than what it came with, lower MinimumSDKVersion in /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Info.plist.

Official builds of Pale Moon will use the 10.7 SDK.

Building

./mach build

It will take a little while! Be patient. When the build finishes, you can test it with ./mach run.

To package the build, use:

./mach package

Then a dmg will be available in obj-x86_64-apple-darwin*/dist/.

Firefox, Mozilla Firefox and Mozilla are registered trademarks of the Mozilla Corporation.
Site design and Branding © 2016 Moonchild Productions - All rights reserved
Any other content is copyright or trademark to their respective owners.
This site uses Cookies - Your usage indicates your consent to their use.

The Pale Moon Developer Wiki is powered by Enano