Commit graph

784 commits

Author SHA1 Message Date
Andi-Bogdan Postelnicu
d4f5769a01 Bug 1746462 - add support for --enable-linker=mold on linux. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D134330
2022-09-09 11:01:50 +00:00
Paul Adenot
99c3dd87bd Bug 1765480 - Regenerate config* files for ffvpx on all platforms needed, splitting off config_components.h. r=alwu
Depends on D150971

Differential Revision: https://phabricator.services.mozilla.com/D150972
2022-08-23 14:19:24 +00:00
Marian-Vasile Laza
857f78b411 Backed out 7 changesets (bug 1765480) for causing build bustages on config.h. CLOSED TREE
Backed out changeset 5403acde30c2 (bug 1765480)
Backed out changeset 7176e2a3b1a0 (bug 1765480)
Backed out changeset a54225be60ac (bug 1765480)
Backed out changeset 50b0534f07a5 (bug 1765480)
Backed out changeset 104a811c42e5 (bug 1765480)
Backed out changeset 7e2ce67588d3 (bug 1765480)
Backed out changeset 6077ae857148 (bug 1765480)
2022-08-17 20:53:08 +03:00
Paul Adenot
e53a91d5e3 Bug 1765480 - Regenerate config* files for ffvpx on all platforms needed, splitting off config_components.h. r=alwu
Depends on D150971

Differential Revision: https://phabricator.services.mozilla.com/D150972
2022-08-17 16:29:32 +00:00
Pier Angelo Vendrame
83aafd9331 Bug 1769030: Add a configure flag to load policies only from the local policies.json file r=mkaply,glandium
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
2022-08-16 14:42:20 +00:00
Ben Dean-Kawamura
e965ed0056 Bug 1766045 - Adding mach command to generate UniFFI files r=glandium
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
2022-08-03 18:59:36 +00:00
Ben Dean-Kawamura
fd4cfd1807 Bug 1766045 - Vendoring in Rust code for uniffi-bindgen-gecko-js r=glandium,supply-chain-reviewers
- 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
2022-08-03 18:59:36 +00:00
Butkovits Atila
a8ad39a288 Backed out 6 changesets (bug 1766045) for causing build bustages. CLOSED TREE
Backed out changeset 113593df6272 (bug 1766045)
Backed out changeset f137315bb6af (bug 1766045)
Backed out changeset d86ad195a9a0 (bug 1766045)
Backed out changeset e8bc2ec40cff (bug 1766045)
Backed out changeset 2d33e41ac507 (bug 1766045)
Backed out changeset 4d5874e16302 (bug 1766045)
2022-08-03 17:40:30 +03:00
Ben Dean-Kawamura
86a582c07a Bug 1766045 - Adding mach command to generate UniFFI files r=glandium
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
2022-08-03 13:48:28 +00:00
Ben Dean-Kawamura
760c603bcb Bug 1766045 - Vendoring in Rust code for uniffi-bindgen-gecko-js r=glandium,supply-chain-reviewers
- 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
2022-08-03 13:48:27 +00:00
criss
04616ca52e Backed out 2 changesets (bug 1766045) for causing Bp-hybrid failures on UniFFIGeneratedScaffolding.cpp
Backed out changeset 5708672d0e83 (bug 1766045)
Backed out changeset cc77fd5ec7a8 (bug 1766045)
2022-08-03 00:01:58 +03:00
Ben Dean-Kawamura
fb5bfb756d Bug 1766045 - Vendoring in Rust code for uniffi-bindgen-gecko-js r=glandium,supply-chain-reviewers
- 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
2022-08-02 19:51:48 +00:00
Butkovits Atila
faa5640935 Backed out 7 changesets (bug 1765480) for causing build bustages. CLOSED TREE
Backed out changeset ed10a546db4f (bug 1765480)
Backed out changeset 3a362936969a (bug 1765480)
Backed out changeset c0efff24b361 (bug 1765480)
Backed out changeset e393cf609b9b (bug 1765480)
Backed out changeset 2979c28076f7 (bug 1765480)
Backed out changeset 37cfee2c325e (bug 1765480)
Backed out changeset e3017c8a70af (bug 1765480)
2022-07-21 20:03:32 +03:00
Paul Adenot
83e8e46967 Bug 1765480 - Regenerate config* files for ffvpx on all platforms needed, splitting off config_components.h. r=alwu
Depends on D150971

Differential Revision: https://phabricator.services.mozilla.com/D150972
2022-07-21 16:19:27 +00:00
Gerald Squelart
3a965409ce Bug 1480331 - Compile and build JsonCpp without exception handling - r=glandium
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
2022-07-08 13:32:37 +00:00
alwu
9f4133b91f Bug 1758789 - part18 : disable the media engine feature on MinGW. r=media-playback-reviewers,firefox-build-system-reviewers,jolin,ahochheiden
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
2022-06-30 22:34:22 +00:00
smolnar
50d8d18c90 Backed out 18 changesets (bug 1758789) for causing win AArch64 build bustages. CLOSED TREE
Backed out changeset e3f1d216b7b0 (bug 1758789)
Backed out changeset 737731f1056d (bug 1758789)
Backed out changeset 76a2ae95718a (bug 1758789)
Backed out changeset c134ab07a603 (bug 1758789)
Backed out changeset 84f574f95348 (bug 1758789)
Backed out changeset 7dae17111210 (bug 1758789)
Backed out changeset cdec8c010960 (bug 1758789)
Backed out changeset a1976aeac84e (bug 1758789)
Backed out changeset 6aac8720ffa5 (bug 1758789)
Backed out changeset 48b798f102e5 (bug 1758789)
Backed out changeset 310e551d433b (bug 1758789)
Backed out changeset b3d6df1153c1 (bug 1758789)
Backed out changeset 61775207f73b (bug 1758789)
Backed out changeset f0c28aea2f4b (bug 1758789)
Backed out changeset 0a65ff00244a (bug 1758789)
Backed out changeset 0b747e748709 (bug 1758789)
Backed out changeset cdf4acea8c87 (bug 1758789)
Backed out changeset 0c4009da7d1e (bug 1758789)
2022-06-30 23:54:23 +03:00
alwu
1368dec887 Bug 1758789 - part18 : disable the media engine feature on MinGW. r=media-playback-reviewers,firefox-build-system-reviewers,jolin,ahochheiden
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
2022-06-30 18:14:50 +00:00
Norisz Fay
98d1dd78eb Bug 1776429 - Fix lint failure r=fix CLOSED TREE 2022-06-29 13:14:03 +03:00
Paul Adenot
dbb13352c1 Bug 1776429 - Compile and use ffvpx video decoder/fft code on Apple Silicon Macs. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D150250
2022-06-29 09:55:59 +00:00
Mike Hommey
39d1429e79 Bug 1776812 - Don't check for GN in configure. r=firefox-build-system-reviewers,andi
Bug 1773223 made it unnecessary.

Differential Revision: https://phabricator.services.mozilla.com/D150445
2022-06-29 05:04:13 +00:00
ganguin
e2f88e166b Bug 1661450 - 1/2 Make webrtc depend on MOZ_X11 r=ng
1. add the MOZ_X11 config flag in build/gn.mozbuild and set the gn_vars
accordingly.

2. create the new gn-config/mozconfig files and delete previous ones
dom/media/webrtc/third_party_build/gn-configs/**.mozconfig with
--enable-default-toolkit=cairo-gtk3-wayland-only for the non X11 version.
New toolkit nmae is required to force disable X11 detection as
cairo-gtk3-wayland will auto-detect X11 and make generate-gn-build-files.sh
fail.

3. Add the MOZ_X11 config flag in python/mozbuild/mozbuild/gn_processor.py

Then run
dom/media/webrtc/third_party_build/gn-configs/generate-gn-build-files.sh

Differential Revision: https://phabricator.services.mozilla.com/D142904
2022-04-20 09:32:10 +00:00
ganguin
df23203d4e Bug 1661450 - 8/8 Allow builds without MOZ_X11 r=glandium,stransky
Allow builds without MOZ_X11 when toolkit is cairo-gtk3-wayland and X11
dependencies are missing.

Depends on D139533

Differential Revision: https://phabricator.services.mozilla.com/D139534
2022-04-20 09:32:09 +00:00
criss
8d62d22b30 Backed out 10 changesets (bug 1661450) for causing build bustages on nsWindow.cpp. CLOSED TREE
Backed out changeset 2c41d82de0c5 (bug 1661450)
Backed out changeset 5f58fcd7ac0b (bug 1661450)
Backed out changeset 62e56a6dcd22 (bug 1661450)
Backed out changeset 4b422ffa729f (bug 1661450)
Backed out changeset 6ca4705772da (bug 1661450)
Backed out changeset 031a6313459f (bug 1661450)
Backed out changeset 06ddf05e97d6 (bug 1661450)
Backed out changeset 4388b1b9aafd (bug 1661450)
Backed out changeset 600f9fd09fa6 (bug 1661450)
Backed out changeset cc5e8efe3ebf (bug 1661450)
2022-04-19 12:25:14 +03:00
ganguin
d87231be26 Bug 1661450 - 1/2 Make webrtc depend on MOZ_X11 r=ng
1. add the MOZ_X11 config flag in build/gn.mozbuild and set the gn_vars
accordingly.

2. create the new gn-config/mozconfig files and delete previous ones
dom/media/webrtc/third_party_build/gn-configs/**.mozconfig with
--enable-default-toolkit=cairo-gtk3-wayland-only for the non X11 version.
New toolkit nmae is required to force disable X11 detection as
cairo-gtk3-wayland will auto-detect X11 and make generate-gn-build-files.sh
fail.

3. Add the MOZ_X11 config flag in python/mozbuild/mozbuild/gn_processor.py

Then run
dom/media/webrtc/third_party_build/gn-configs/generate-gn-build-files.sh

Differential Revision: https://phabricator.services.mozilla.com/D142904
2022-04-19 08:35:29 +00:00
ganguin
a6f7d5578e Bug 1661450 - 8/8 Allow builds without MOZ_X11 r=glandium,stransky
Allow builds without MOZ_X11 when toolkit is cairo-gtk3-wayland and X11
dependencies are missing.

Depends on D139533

Differential Revision: https://phabricator.services.mozilla.com/D139534
2022-04-19 08:35:28 +00:00
Matthew Gaudet
d07e459e7b Bug 1757241 - Remove !MOZ_DOM_STREAMS code from most files r=smaug
I've also tested to verify that JS Streams remains enabled in the JS Shell package

Differential Revision: https://phabricator.services.mozilla.com/D142620
2022-04-13 18:57:48 +00:00
Mike Hommey
7b07cf0b4c Bug 1289641 - Allow spaces in MIDL and FXC paths. r=firefox-build-system-reviewers,nalexander
On CI, 8.3 filenames are not generated, so the canonicalization of
program paths in `windows kits` doesn't work. But the build system can
actually deal with spaces in the specific case of MIDL and FXC.

Differential Revision: https://phabricator.services.mozilla.com/D143258
2022-04-12 22:52:54 +00:00
Butkovits Atila
59ebe1ff72 Backed out 7 changesets (bug 1289641) for causing Python failures. CLOSED TREE
Backed out changeset 0c1cedebf915 (bug 1289641)
Backed out changeset 575732020bd2 (bug 1289641)
Backed out changeset 55b68a71e03a (bug 1289641)
Backed out changeset 0b16a05aa405 (bug 1289641)
Backed out changeset acbff13b91b3 (bug 1289641)
Backed out changeset 2645367da7cb (bug 1289641)
Backed out changeset 8b22a8ec44fe (bug 1289641)
2022-04-12 22:23:27 +03:00
Mike Hommey
9d89241f64 Bug 1289641 - Allow spaces in MIDL and FXC paths. r=firefox-build-system-reviewers,nalexander
On CI, 8.3 filenames are not generated, so the canonicalization of
program paths in `windows kits` doesn't work. But the build system can
actually deal with spaces in the specific case of MIDL and FXC.

Differential Revision: https://phabricator.services.mozilla.com/D143258
2022-04-11 23:00:10 +00:00
Mike Hommey
74bb3ccbd4 Bug 1762547 - Make --enable-gpsd a system_lib_option. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D143110
2022-04-07 01:54:31 +00:00
Nordin Abouzahra
82b9d72e94 Bug 1351378 - Add an --enable-audio-backends option. r=mhentges
This addresses the original intent of the bug report which asks for allowing
sndio to be built on more than just OpenBSD. In addition of modifying the
existing --enable-sndio to support this request, the option
--enable-audio-backends was added which takes a list of possible backends to
support per discussion in the bug report.

For example specifying --enable-audio-backends=alsa,jack,pulseaudio,sndio
allows for runtime selection of those four cubeb backends. If all four backends
are available the user can specify `media.cubeb.backend` in `about:config` to
force a specific backend.

Removed superfluous set_define()s as libcubeb's moz.build does the necessary
`DEFINES['...']` assignments for each backend.

In addition logic for finer control of audio backend selection on Android was
added. One can now specify aaudio, opensl or both (which is the default).

Differential Revision: https://phabricator.services.mozilla.com/D141450
2022-03-28 20:48:52 +00:00
Iulian Moraru
866f261a7d Backed out changeset c25c591841cd (bug 1351378) for causing multiple failures. CLOSED TREE 2022-03-22 19:37:46 +02:00
Nordin Abouzahra
2b0b1c90db Bug 1351378 - Add an --enable-audio-backends option. r=mhentges
This addresses the original intent of the bug report which asks for allowing
sndio to be built on more than just OpenBSD. In addition of modifying the
existing --enable-sndio to support this request, the option
--enable-audio-backends was added which takes a list of possible backends to
support per discussion in the bug report.

For example specifying --enable-audio-backends=alsa,jack,pulseaudio,sndio
allows for runtime selection of those four cubeb backends. If all four backends
are available the user can specify `media.cubeb.backend` in `about:config` to
force a specific backend.

***
Bug 1351378 - Address linter error. r?mhentges,glandium

***
Bug 1351378 - Remove superfluous set_define(). r?mhentges,glandium

libcubeb's moz.build does the necessary `DEFINES['...']` assignments for each
backend. Remove superfluous set_define().

Differential Revision: https://phabricator.services.mozilla.com/D141450
2022-03-22 17:02:05 +00:00
Nick Alexander
f0a577a014 Bug 1752968 - Pre: Convert MOZ_PACKAGER_MINIFY{_JS} to moz.configure. r=firefox-build-system-reviewers,mhentges
There's no current use for setting `JS_BINARY` in `packager.mk`, so
remove it while we're here.  I elected to make it easy to add new file
types to minify rather than to make it easy to specify `JS_BINARY`,
since the latter mechanism is strictly more general and could be used
in future for things other than minification.

Differential Revision: https://phabricator.services.mozilla.com/D138364
2022-03-02 17:43:47 +00:00
Nika Layzell
2f62d8c857 Bug 1751948 - Part 6: Add basic support for running IPDL unit tests during gtest, r=ipc-reviewers,andi,handyman
This patch introduces a new system for building IPDL unit tests, which is
roughly inspired by the old cxx unit test design, however designed to work with
gtest. It re-uses the existing IPDLUnitTest process type, using static
constructors only present in xul-gtest to register child actor constructors and
ProcessChild implementations to avoid bloating xul.

The IPDLUnitTest actor is used as a backchannel to communicate test failures
from the child process back to the parent process, and manage the test's async
lifecycle more reliably.

The IPDLUnitTest process also needed to have various properties about how it was
initialized adjusted:

* The IPDLUnitTest process should now always load xul-gtest when running
  gtests, by using the "Self" process type and adding a DYLD_LIBRARY_PATH override
  on macOS where the "Self" process type cannot be used.
* The IPDLUnitTest process now initializes minimal XPCOM, and runs a
  frankeneventloop to allow it to use XPCOM event loop structures such as
  SpinEventLoopUntil in tests.
* Support for creating IPDLUnitTest processes on Android was added, as these
  tests had never run on android before.

Differential Revision: https://phabricator.services.mozilla.com/D137170
2022-02-28 21:01:49 +00:00
Matthew Gaudet
b1106b847a Bug 1752206 - Enable DOM Streams by default r=smaug,firefox-build-system-reviewers,nalexander
Differential Revision: https://phabricator.services.mozilla.com/D137771
2022-02-10 19:01:35 +00:00
Cosmin Sabou
3a5e7ade87 Backed out 2 changesets (bug 1752206) for causing Bp-hybrid bustages on WritableStream.cpp. CLOSED TREE
Backed out changeset bc0d7fc3a472 (bug 1752206)
Backed out changeset 5c89f3f10d0e (bug 1752206)
2022-02-10 20:16:51 +02:00
Matthew Gaudet
14c0324930 Bug 1752206 - Enable DOM Streams by default r=smaug,firefox-build-system-reviewers,nalexander
Differential Revision: https://phabricator.services.mozilla.com/D137771
2022-02-10 17:06:09 +00:00
criss
00c2091ed9 Backed out 3 changesets (bug 1752206, bug 1754088) for causing failures on testReadableStream.cpp
Backed out changeset bf7e7a03d4bb (bug 1752206)
Backed out changeset e53660b82b9a (bug 1752206)
Backed out changeset 2f006f71ce1e (bug 1754088)
2022-02-08 19:44:43 +02:00
Matthew Gaudet
8ced363a3e Bug 1752206 - Enable DOM Streams by default r=smaug,firefox-build-system-reviewers,nalexander
Differential Revision: https://phabricator.services.mozilla.com/D137771
2022-02-08 15:23:52 +00:00
Norisz Fay
49e64d1733 Backed out 2 changesets (bug 1752206) for causing build bustages on ReadableByteStreamController.cpp CLOSED TREE
Backed out changeset 455cd9209987 (bug 1752206)
Backed out changeset a6cc91b823c3 (bug 1752206)
2022-02-08 00:09:17 +02:00
Matthew Gaudet
c7dcf9335d Bug 1752206 - Enable DOM Streams by default r=smaug,firefox-build-system-reviewers,nalexander
Depends on D137770

Differential Revision: https://phabricator.services.mozilla.com/D137771
2022-02-07 18:46:58 +00:00
Agi Sferro
1619bba273 Bug 1728226 - Always enable crashreporter on artifact builds. r=nalexander
We don't actually support building artifacts with no crashreporter so we should
set a sensible default.

Differential Revision: https://phabricator.services.mozilla.com/D137191
2022-01-28 16:33:39 +00:00
Emilio Cobos Álvarez
68917db361 Bug 1752418 - Make default remoting name depend on update channel. r=glandium
Aurora already does this via configure.sh.

Differential Revision: https://phabricator.services.mozilla.com/D137204
2022-01-28 08:00:27 +00:00
Nick Alexander
dcb7a55968 Bug 1717683 - Make ZIP packages and l10n repacks deterministic by using zip.py instead of make_zip.py. r=firefox-build-system-reviewers,glandium
The compression options appear to be the same: `mozjar` defaults to
level 9 compression.  The `mozjar` code is definitely slower than the
native ZIP executable, but not, I think, by enough to not do this.

This is the sole consumer of `make_zip.py` in the tree, so we remove
the file entirely.

Differential Revision: https://phabricator.services.mozilla.com/D118528
2022-01-28 04:00:20 +00:00
Mike Hommey
e83738f7d8 Bug 1629184 - Preprocess MIDL inputs manually. r=firefox-build-system-reviewers,nalexander
This avoids needing clang-cl.exe on cross compilations. We could keep
Windows builds on having MIDL do the preprocessing, but that would be
a difference between native and cross builds, and it's better to avoid
that.

Differential Revision: https://phabricator.services.mozilla.com/D136831
2022-01-25 22:43:56 +00:00
Mike Hommey
77ef469247 Bug 1752004 - Remove usage of six in python configure. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D136946
2022-01-25 21:38:47 +00:00
Mike Hommey
773fa3be25 Bug 1751817 - Pass --rtlib=libgcc to clang when building for Android. r=firefox-build-system-reviewers,andi
Instead of forcing it via a patch to clang itself (which now conflicts
with other changes on clang trunk, although the conflict is benign).

Because of https://github.com/llvm/llvm-project/issues/53397 we need to
narrow down the warnings that trigger errors in the check for
`pthread_cond_timedwait_monotonic_np`.

Differential Revision: https://phabricator.services.mozilla.com/D136850
2022-01-25 09:17:39 +00:00
Emilio Cobos Álvarez
91bea3f4fb Bug 1750395 - Use mozshowdropdown events to show select dropdown. r=agi
After bug 1744009 Gecko will consistently fire these events. This allows
activating stuff via keyboard on Android like in every other OS (if you
have a keyboard attached of course) and is generally more consistent.

We remove MOZ_USE_NATIVE_POPUP_WINDOWS since it's unused.

Differential Revision: https://phabricator.services.mozilla.com/D136073
2022-01-21 11:08:38 +00:00