Build from source of rust 1.6.0 stable configured with
--enable-rpath --enable-llvm-static-stdcpp and
--target=x86_64-unknown-linux-gnu,i686-unknown-linux-gnu
so it supports -m32 builds, using the docker image at
https://github.com/rillian/rust-build on taskcluster.
The linux64 mulet build uses the linux64 mozconfig, but a separate
tooltool manifest. Provide the same rustc there so the mozconfig.rust
inclusion is satisfied.
The configure option has explicitly thrown an error for more than a year now,
and it happens that the remaining way to still forcefully use it has been
broken for more than 8 months.
The patch removes 455 occurrences of FAIL_ON_WARNINGS from moz.build files, and
adds 78 instances of ALLOW_COMPILER_WARNINGS. About half of those 78 are in
code we control and which should be removable with a little effort.
Some mozconfigs don't include mozconfig.linux*, and don't get gtk-related
definitions, so move them in a separate mozconfig. To avoid having two
files, one for 32-bit builds and one for 64-bit builds, rely on the
includer to set PKG_CONFIG_LIBDIR appropriately.
At the same time, move all the --enable-default-toolkit=cairo-gtk2 in that
new file in the case the gtk3 package wasn't pulled from tooltool.
'make check' is somewhat special in that we want to trigger testers
before it finishes. Since moving sendchange into mach is difficult and
'make check' may be going away in the future anyway, just pull it out
for now.
Also remove the MOZ_AUTOMATION_*_SENDCHANGE flags since we aren't using
them.
Due to the way preferences are read, we need to have firefox.js and
b2g.js to be living together in the same directory, as exposed in bug
1053185 comment 7. Doing so will ensure that the proper precedence is
given to the pref and in the end we ensure that the preferences we
redefine in b2g.js indeed overwrite those defined by firefox.js. To do
so, we need to define DIST_SUBDIR to browser for Mulet so that rules.mk
will pick up the proper preferences directory. We also have to make sure
that the B2G-specifics preferences are properly packaged otherwise the
redistribuable tarball will not boot Gaia at all.
Due to the way preferences are read, we need to have firefox.js and
b2g.js to be living together in the same directory, as exposed in bug
1053185 comment 7. Doing so will ensure that the proper precedence is
given to the pref and in the end we ensure that the preferences we
redefine in b2g.js indeed overwrite those defined by firefox.js. To do
so, we need to define DIST_SUBDIR to browser for Mulet so that rules.mk
will pick up the proper preferences directory. We also have to make sure
that the B2G-specifics preferences are properly packaged otherwise the
redistribuable tarball will not boot Gaia at all.
Due to the way preferences are read, we need to have firefox.js and
b2g.js to be living together in the same directory, as exposed in bug
1053185 comment 7. Doing so will ensure that the proper precedence is
given to the pref and in the end we ensure that the preferences we
redefine in b2g.js indeed overwrite those defined by firefox.js. To do
so, we need to define DIST_SUBDIR to browser for Mulet so that rules.mk
will pick up the proper preferences directory.