Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

PSA: Building Firefox for arm64 windows got a lot easier

112 views
Skip to first unread message

Mike Hommey

unread,
Jan 10, 2019, 7:24:38 PM1/10/19
to dev-pl...@lists.mozilla.org
Hi,

Usual disclaimer: the following assumes this all sticks.

I just landed bug 1515528 to autoland, which simplifies drastically how
to build Firefox for arm64 windows, from a x86/x86_64 windows machine.

At the moment, this requires some extra manual steps over mach
bootstrap, because this doesn't work with clang-cl yet, and requires
some extra MSVC components.

In the MSVC installer, choose the following extra components:
- Visual Studio C++ compiler and libraries for ARM64
- Visual C++ ATL for ARM64
- Visual C++ MFC for ARM64

(apologies if the names above don't match exactly what the installer
shows, I translated them from my Japanese installer)

While we're here, you might find it useful to know that the build system
supports using Visual Studio Build Tools 2017, which is has a smaller
footprint than e.g. Visual Studio Community 2017.

With all the above MSVC components installed, edit a mozconfig with the
following content:
ac_add_options --target=aarch64

(yes, that's all) and run `./mach build`.

Once the build is finished, you can run `./mach package`, and copy the
resulting obj-aarch64/dist/firefox*.zip file to your arm64 machine.

Cheers,

Mike

Mike Hommey

unread,
Jan 10, 2019, 7:42:34 PM1/10/19
to dev-pl...@lists.mozilla.org
On Fri, Jan 11, 2019 at 09:24:25AM +0900, Mike Hommey wrote:
> Hi,
>
> Usual disclaimer: the following assumes this all sticks.
>
> I just landed bug 1515528 to autoland, which simplifies drastically how
> to build Firefox for arm64 windows, from a x86/x86_64 windows machine.
>
> At the moment, this requires some extra manual steps over mach
> bootstrap, because this doesn't work with clang-cl yet, and requires
> some extra MSVC components.
>
> In the MSVC installer, choose the following extra components:
> - Visual Studio C++ compiler and libraries for ARM64
> - Visual C++ ATL for ARM64
> - Visual C++ MFC for ARM64
>
> (apologies if the names above don't match exactly what the installer
> shows, I translated them from my Japanese installer)
>
> While we're here, you might find it useful to know that the build system
> supports using Visual Studio Build Tools 2017, which is has a smaller
> footprint than e.g. Visual Studio Community 2017.
>
> With all the above MSVC components installed, edit a mozconfig with the
> following content:
> ac_add_options --target=aarch64

Oh, forgot one more detail: you need to use nightly rust, and install
the aarch64 rust target:

rustup default nightly
rustup target add aarch64-pc-windows-msvc

Mike

Gabriele Svelto

unread,
Jan 11, 2019, 12:20:58 PM1/11/19
to Mike Hommey, dev-pl...@lists.mozilla.org
Hi all,

On 11/01/2019 01.24, Mike Hommey wrote:
> In the MSVC installer, choose the following extra components:
> - Visual Studio C++ compiler and libraries for ARM64
> - Visual C++ ATL for ARM64
> - Visual C++ MFC for ARM64

I don't have the MFC for ARM64 libraries installed and I didn't
encounter problems during the build. I guess they're not needed? I'm
still building with WebRTC disabled though, not sure if it might require
them.

Gabriele

signature.asc
0 new messages