I am pleased to announce the final release of MozillaBuild 3.0! Sorry in
advance for the length of this message, but there's a lot of changes in
this release worth calling out.
https://ftp.mozilla.org/pub/mozilla/libraries/win32/MozillaBuildSetup-Latest.exe
<
http://ftp.mozilla.org/pub/mozilla/libraries/win32/MozillaBuildSetup-Latest.exe>
Important changes since version 2.2.0:
-
MozillaBuild now requires Windows 7+ 64-bit to install.
-
Removed the start-shell-msvc*.bat files. See below for more information
on this change.
-
Updated Python to version 2.7.13 and switched to the 64-bit version.
-
Added Python 3.6.2.
-
Added nodejs 8.1.4 & npm 5.3.0.
-
ESLint is now a first-class citizen on Windows! Things should Just
Work when using the |./mach eslint| command.
-
Other updates to various included components.
-
Mercurial updated to version 4.2.2.
-
NSIS updated to version 3.01 (and older versions removed).
-
Some MSYS components were updated.
-
Behind the scenes, MozillaBuild packaging was completely overhauled so
that anyone can now generate an installer package simply by running the
packageit.py script from the source checkout. This should in turn make it
much easier for new contributors to test their work.
Full changelog:
https://hg.mozilla.org/mozilla-build/pushloghtml?fromchange=MOZILLABUILD_2_2_0_RELEASE&tochange=MOZILLABUILD_3_0_0_RELEASE
<
http://hg.mozilla.org/mozilla-build/pushloghtml?fromchange=MOZILLABUILD_2_2_0_RELEASE&tochange=MOZILLABUILD_3_0_0_RELEASE>
It is strongly advised that you not install this over a previous
installation!
Upgrade instructions:
1.
Pull down and update to a modern revision of any trunk repo
(mozilla-central, inbound, or autoland).
2.
Run |./mach mercurial-setup --update-only| to ensure the
version-control-tools repository is current. Extension bustage after
upgrade is likely if you don’t do this.
3.
Run |./mach clobber| to remove the object directory of any trees you
have. Build errors are pretty much guaranteed to occur otherwise.
4.
Assuming you’ve previously installed Rust via |./mach bootstrap|, backup
msys/etc/profile.d/profile-rustup.sh from your current MozillaBuild
installation.
5.
Remove your current installation. If you can't remove the existing
installation, you probably have a terminal open or ssh-agent running.
Terminate it and try again.
6.
Install MozillaBuild 3.0.
7.
Copy profile-rustup.sh to your new msys/etc/profile.d directory. You can
also just re-run |./mach bootstrap| if you don’t want to deal with copying
files around.
8.
If you previously enabled minTTY, you will need to do so again by
setting USE_MINTTY=1 at the top of start-shell.bat.
Please file any problems you come across in mozilla.org::MozillaBuild.
Where did start-shell-msvc*.bat go?
Since the release of MozillaBuild 2.2.0, much has changed with how we build
Firefox and in how Microsoft distributes their compiler and SDK toolchains.
In order to make things more flexible for both our build automation as well
as people building locally, MSVC and Platform SDK detection was moved into
the build system where it’s now detected when configure runs. Both MSVC
2015 and 2017 detection is supported, as well as Windows SDK 8.1+.
If you have both MSVC 2015 and 2017 installed, 2017 will be chosen by
default. This can be overridden by adding the following line to your
mozconfig
<
https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Build_Instructions/Configuring_Build_Options>
:
ac_add_options --with-visual-studio-version=2015
Windows builds currently default to 32-bit. This can cause problems with a
mismatched Rust toolchain because it’ll try to use the 64-bit one by
default and then error out. To create a 64-bit build instead, add the
following two lines to your mozconfig:
ac_add_options --host=x86_64-pc-mingw32
ac_add_options --target=x86_64-pc-mingw32
Otherwise, you’ll need to manually install the i686 toolchain by running
the |rustup install stable-i686-pc-windows-msvc| command.
If you run into any problems with MSVC or Windows SDK detection, please
file a bug in Core::Build Config.
Thanks for reading and enjoy!
-Ryan