On e.g. Debian unstable, the wasi SDK is available via packages in a
multiarch fashion, which doesn't require the --sysroot flag being passed
to the compiler.
Differential Revision: https://phabricator.services.mozilla.com/D166978
On e.g. Debian unstable, the wasi SDK is available via packages in a
multiarch fashion, which doesn't require the --sysroot flag being passed
to the compiler.
Differential Revision: https://phabricator.services.mozilla.com/D166978
Earlier in bug 1351378 some superfluous set_define()s were removed. However,
some were accidentally removed despite having purpose. This commit restores
the MOZ_ALSA and MOZ_PULSEAUDIO defines, the former being used in
Sandbox{Filter,BrokerPolicyFactory,Launch}.cpp and the latter used in setting
the preference media.forcestereo.enabled to false which fixes the primary
concern of bug report.
Differential Revision: https://phabricator.services.mozilla.com/D158966
Just disable in the build config for now. It is unlikely that any issues will
come up since this is disabled in release but just in case this will allow us
to re-enable it quickly.
Differential Revision: https://phabricator.services.mozilla.com/D164565
Just disable in the build config for now. It is unlikely that any issues will
come up since this is disabled in release but just in case this will allow us
to re-enable it quickly.
Differential Revision: https://phabricator.services.mozilla.com/D164565
Just disable in the build config for now. It is unlikely that any issues will
come up since this is disabled in release but just in case this will allow us
to re-enable it quickly.
Differential Revision: https://phabricator.services.mozilla.com/D164565
Just disable in the build config for now. It is unlikely that any issues will
come up since this is disabled in release but just in case this will allow us
to re-enable it quickly.
Differential Revision: https://phabricator.services.mozilla.com/D164565
We don't check for pkg-config on some platforms (Windows, OSX, Android).
On those platforms, calling 'pkg_check_modules' will not work. Adding
the same 'when' used for the 'pkg_config' check to all the options that
end up calling 'pkg_check_modules' effectively disables them, and prevents
'pkg_check_modules' from being called.
Differential Revision: https://phabricator.services.mozilla.com/D150649
To avoid the confusion with target_is_linux meaning linux+android, we
rename target_is_linux to target_has_linux_kernel.
Naming is hard.
Differential Revision: https://phabricator.services.mozilla.com/D162913
MOZ_BACKGROUNDTASKS should be undefined when the feature is disabled.
Add some more tests for `when` parameter of set_config() and set_define().
Differential Revision: https://phabricator.services.mozilla.com/D161400
Before bug 1289641, we didn't have pdbstr in the VS artifact, but we now
do as a side effect of using vsdownload. So instead of exfiltrating the
file from a Windows worker, we can just use the one from VS.
Differential Revision: https://phabricator.services.mozilla.com/D159659
While we're here, make the setup more consistent across host/target
c/c++, and remove the C compiler warning flags from the C linker flags,
where they are irrelevant.
Differential Revision: https://phabricator.services.mozilla.com/D159358
In one place, we specifically check for softfp and do the right thing,
while in another we omit doing it, while at the same time we already
have a check in arm.configure that gives us (mostly) the flags we want.
Differential Revision: https://phabricator.services.mozilla.com/D157687
Actually, the midir in mozilla-central isn't able to built for Linux/riscv64.
Although upstreamed midir supports Linux/riscv64 by [*1], our tree version is
old and we cannot update it due to bug 1773189. So we should disable it on
Linux/riscv64.
*1 https://github.com/Boddlnagg/midir/pull/101
Differential Revision: https://phabricator.services.mozilla.com/D157319
Add a configuration flag to make Enterprise Policies mechanism only
consult a policies.json file (avoiding the Windows Registry, macOS's
file system attributes, and /etc/firefox/policies/policies.json on
other OS).
Differential Revision: https://phabricator.services.mozilla.com/D146300
Added `mach uniffi generate` which executes `uniffi-bindgen-gecko-js` to
generate UniFFI bindings. It's unfortunate that we need to check these
files in, but I couldn't figure out a way to auto-generate them as part
of the build process.
Adding `#include "nsIContent.h"` to dom/base/nsINodeList.h. I think
that should have been present before, but things built okay because of
the way things got combined in the uniffied .cpp files. Adding these new
webIDL files bumped `NodeListBinding.cpp` to a new uniffied .cpp file
which caused the build to fail.
Differential Revision: https://phabricator.services.mozilla.com/D144468
- Added `--enable-uniffi-fixtures` flag. When set, we will compile in
the UniFFI test fixtures into our shared Rust crate and eventually
into `libxul`.
- Vendoring in the Rust crates needed for `uniffi-bindgen-gecko-js`
Differential Revision: https://phabricator.services.mozilla.com/D144467
Added `mach uniffi generate` which executes `uniffi-bindgen-gecko-js` to
generate UniFFI bindings. It's unfortunate that we need to check these
files in, but I couldn't figure out a way to auto-generate them as part
of the build process.
Adding `#include "nsIContent.h"` to dom/base/nsINodeList.h. I think
that should have been present before, but things built okay because of
the way things got combined in the uniffied .cpp files. Adding these new
webIDL files bumped `NodeListBinding.cpp` to a new uniffied .cpp file
which caused the build to fail.
Differential Revision: https://phabricator.services.mozilla.com/D144468
- Added `--enable-uniffi-fixtures` flag. When set, we will compile in
the UniFFI test fixtures into our shared Rust crate and eventually
into `libxul`.
- Vendoring in the Rust crates needed for `uniffi-bindgen-gecko-js`
Differential Revision: https://phabricator.services.mozilla.com/D144467
- Added `--enable-uniffi-fixtures` flag. When set, we will compile in
the UniFFI test fixtures into our shared Rust crate and eventually
into `libxul`.
- Vendoring in the Rust crates needed for `uniffi-bindgen-gecko-js`
Differential Revision: https://phabricator.services.mozilla.com/D144467
JsonCpp is used in different places around Firefox, which is normally built
without exception handling, so we don't want JsonCpp to `throw`.
Because we don't want to modify the JsonCpp files themselves (to ease future
update from the source), and some of its headers are directly included around
Firefox, we need to define `JSON_USE_EXCEPTION` to be 0 everywhere, which can
be done through moz.configure.
JsonCpp replaces its exception-triggering code with C asserts and aborts.
Differential Revision: https://phabricator.services.mozilla.com/D151190
On MinGW, it lacks of the headers for RunTimeClass and we have trouble to make it work. This patch adds a new config for Media Engine in order not to build related files on MinGW environment.
In addition, MinGW build version of Firefox is only used for Tor browser and it's ok to disable this feature for them for now. If they want to port this feature in the future as well, then we can see if we can fix the build problems at that time.
Differential Revision: https://phabricator.services.mozilla.com/D150660
On MinGW, it lacks of the headers for RunTimeClass and we have trouble to make it work. This patch adds a new config for Media Engine in order not to build related files on MinGW environment.
In addition, MinGW build version of Firefox is only used for Tor browser and it's ok to disable this feature for them for now. If they want to port this feature in the future as well, then we can see if we can fix the build problems at that time.
Differential Revision: https://phabricator.services.mozilla.com/D150660