Граф коммитов

10414 Коммитов

Автор SHA1 Сообщение Дата
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
Mike Hommey f82f54685f Bug 1765443 - Fixup after bug 1763937. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D144068
2022-04-20 03:45:30 +00:00
Narcis Beleuzu 0fd7ae053e Backed out 2 changesets (bug 1758780) for jsreftest failure on fp-evaluation-order.js . CLOSED TREE
Backed out changeset 10e2414392ae (bug 1758780)
Backed out changeset 481062597411 (bug 1758780)
2022-04-20 03:03:26 +03:00
Emilio Cobos Álvarez 65a2664032 Bug 1765291 - Update cbindgen to 0.22.0. r=layout-reviewers,boris
This will allow generating flags with complex expressions like:

  https://searchfox.org/mozilla-central/rev/4b3039b48c3cb67774270ebcc2a7d8624d888092/servo/components/style/values/specified/box.rs#1281-1285

Which now generates:

  inline const StyleContain StyleContain::STRICT = StyleContain{ /* .bits = */ (uint8_t)((((1 << 3) | (StyleContain::LAYOUT).bits) | (StyleContain::PAINT).bits) | (StyleContain::SIZE).bits) };

and a number of other improvements.

Differential Revision: https://phabricator.services.mozilla.com/D143980
2022-04-19 18:28:06 +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
Andi-Bogdan Postelnicu f84172d14d Bug 1763937 - fix `clang-trunk` toolchain. r=firefox-build-system-reviewers,glandium
Differential Revision: https://phabricator.services.mozilla.com/D143379
2022-04-19 09:01:27 +00: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
Mike Hommey e778621ee4 Bug 1758780 - Update builders to clang 14. r=firefox-build-system-reviewers,mhentges,andi
Differential Revision: https://phabricator.services.mozilla.com/D143175
2022-04-19 08:08:45 +00:00
Mitchell Hentges 97b39cb317 Bug 1764711: Move boto3 to requirement file r=ahal
The `upload_geneated_sources.py` script needs `boto3`, but was:
* Running in CI with Mach having a site-packages-source of `None`
* Using the `common` site (which inherits Mach's site-packages-source)
* Installing `boto3` outside of the knowledge of the centralized
  dependency system.

Make a `upload-generated-sources` site, and move `boto3` to it.

Differential Revision: https://phabricator.services.mozilla.com/D143715
2022-04-14 18:00:30 +00:00
Noemi Erli dff8ae5ed1 Backed out 2 changesets (bug 1758780) for causing OSX failures
Backed out changeset 2a3c0204b519 (bug 1758780)
Backed out changeset 330065f83d19 (bug 1758780)
2022-04-13 14:08:51 +03:00
Mike Hommey 72f2af9431 Bug 1758780 - Update builders to clang 14. r=firefox-build-system-reviewers,mhentges,andi
Differential Revision: https://phabricator.services.mozilla.com/D143175
2022-04-13 05:09:09 +00:00
Butkovits Atila 3ce125b3f7 Backed out 2 changesets (bug 1758780) as per request by dev. CLOSED TREE
Backed out changeset 0f6aff1f340e (bug 1758780)
Backed out changeset e390fac06dae (bug 1758780)
2022-04-13 07:53:43 +03:00
Mike Hommey d0e55e7fec Bug 1758780 - Update builders to clang 14. r=firefox-build-system-reviewers,mhentges,andi
Differential Revision: https://phabricator.services.mozilla.com/D143175
2022-04-13 04:35:11 +00:00
Mike Hommey ab789e51e7 Bug 1758780 - Add a toolchain for Visual Studio 2019. r=firefox-build-system-reviewers,mhentges
We're going to need it to bootstrap LLVM 14.

Differential Revision: https://phabricator.services.mozilla.com/D143174
2022-04-13 03:02:25 +00:00
Mike Hommey 752b35b2cf Bug 1758780 - Avoid linking libclang both statically and dynamically. r=firefox-build-system-reviewers,andi
This applies the same as https://reviews.llvm.org/D81967 to our
CMakeLists.txt. Interestingly, the upstream change landed in LLVM 11,
but not applying the same on our end doesn't cause problems until LLVM
14.

Differential Revision: https://phabricator.services.mozilla.com/D143172
2022-04-13 03:02:24 +00:00
Mike Hommey 557b38098e Bug 1289641 - Replace uses of the vs2017-15.9 tooltool manifest. r=firefox-build-system-reviewers,mhentges
Now that we have a toolchain artifact with the same function, we can use
that instead.

Differential Revision: https://phabricator.services.mozilla.com/D143127
2022-04-12 22:52:54 +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
Mike Hommey 5ed622ab77 Bug 1289641 - Setup a taskcluster task to build the vs2017 toolchain. r=firefox-build-system-reviewers,mhentges
Its layout differs from the one in the tooltool archive for forward
compatibility with the upcoming (clang 15) -winsysroot flag.

There is probably more filtering we can do to somehow match what
windows_toolchain.py used to do, but we'll keep that for later.

Differential Revision: https://phabricator.services.mozilla.com/D143126
2022-04-12 22:52:53 +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 f407aee2df Bug 1758780 - Take the ms-compat version used to build clang from a LLVM cmake file. r=firefox-build-system-reviewers,mhentges
While the llvm/cmake/platforms/WinMsvc.cmake file only supports
cross-compiles, it contains the right -fms-compatibility-version
to use to build clang/llvm (modulo when upstream forgets to update it).

It's better to rely on that, than to keep a version in build-clang.py
that would possibly need to cover multiple versions of clang.

Differential Revision: https://phabricator.services.mozilla.com/D143133
2022-04-12 01:30:54 +00:00
Mike Hommey ddf7fb3a88 Bug 1758780 - Use LLVM's lib and link tools when building clang with clang. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D143132
2022-04-12 01:30:54 +00:00
Mike Hommey 6f6aa13882 Bug 1758780 - Don't build tests when building clang. r=firefox-build-system-reviewers,mhentges
We never run them, so there's no point building them.

Differential Revision: https://phabricator.services.mozilla.com/D143131
2022-04-12 01:30:54 +00:00
Molnar Sandor e1dca6f382 Bug 1289641 - Fix lint failure. a=fix CLOSED TREE 2022-04-12 02:15:53 +03:00
Mike Hommey 7214f090f8 Bug 1289641 - Replace uses of the vs2017-15.9 tooltool manifest. r=firefox-build-system-reviewers,mhentges
Now that we have a toolchain artifact with the same function, we can use
that instead.

Differential Revision: https://phabricator.services.mozilla.com/D143127
2022-04-11 23:00:10 +00: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 d1119528d0 Bug 1289641 - Setup a taskcluster task to build the vs2017 toolchain. r=firefox-build-system-reviewers,mhentges
Its layout differs from the one in the tooltool archive for forward
compatibility with the upcoming (clang 15) -winsysroot flag.

There is probably more filtering we can do to somehow match what
windows_toolchain.py used to do, but we'll keep that for later.

Differential Revision: https://phabricator.services.mozilla.com/D143126
2022-04-11 23:00:09 +00:00
Shazib Summar 20cb0cdcb7 Bug 1617283 - Shifted AudioSession to MTA and removed COM violations r=handyman
Cleans up the interface to AudioSession and brings in line with COM best practices.  Uses background threads that are implicitly MTA and asserts proper thread behavior.  This also removes AudioSession's Co[Un]Initialize static analysis violations.

Differential Revision: https://phabricator.services.mozilla.com/D140741
2022-04-07 18:39:49 +00:00
Jonathan Kew d0a867d0e1 Bug 1748520 - Add valgrind suppression for the leak of a dynamic atom created by language lookup. r=jseward
Differential Revision: https://phabricator.services.mozilla.com/D142168
2022-03-29 13:05:10 +00:00
Mitchell Hentges 23cbe80fd0 Bug 1724274: Move virtualenv dependency manifests to python/virtualenvs r=ahal
This is needed for a few reasons:
* All mach commands can use virtualenvs, not just `build`-related
  commands, so the files don't make sense to be in `build/`.
* When locking is added, more files associated with virtualenvs will be
  added, and this will change will ease the related directory structure
  setup.
* This removes the need for a redundant "_virtualenv_packages" keyword
  as part of the manifest filenames.

Differential Revision: https://phabricator.services.mozilla.com/D140382
2022-03-24 14:04:34 +00:00
Agi Sferro 31cdbe04d0 Bug 1761011 - Don't require tools directory in Android SDK. r=mhentges
This package is obsolete and we don't use it anymore.

Differential Revision: https://phabricator.services.mozilla.com/D141865
2022-03-23 15:48:06 +00:00
Mitchell Hentges 2ff00d22be Bug 1759681: Conditionally add each MozillaBuild path r=ahochheiden
When using Mach outside of MozillaBuild, rather than avoiding adding
paths entirely if any part of MozillaBuild is already in the `PATH`,
instead conditionally add each one if it doesn't exist already.

This ensures no duplication of paths, while also correctly handling the
not-uncommon case of developers manually adding MozillaBuild's Python to
their Windows `PATH`.

Differential Revision: https://phabricator.services.mozilla.com/D141377
2022-03-23 14:48:57 +00:00
Mitchell Hentges 83f95f6c5d Bug 1723237: Move low-hanging fruit commands to centralized Python dep system r=ahal
Creates/updates virtualenvs for some mach commands, replacing
their ad-hoc usage of `install_pip_package()`, `pip install`,
and `sys.path` modifications.

Note: The `docs` virtualenv has `Sphinx==1.1.3` installed, even
though a more modern version of `Sphinx` is used when
`./mach doc` is run. This is ok for now, since `./mach doc` will
just install the newer `Sphinx` over top of the old one. Secondarily,
when we port `./mach doc` to use the centralized system, we'll
be incentivized to make the different `doc` commands use synchonized
versions of the same packages. Success!

Also, note that manual installation of `html5lib` and `requests`
isn't ported to the `wpt` site: this is because they're already
provided by the inherited Mach site.

Differential Revision: https://phabricator.services.mozilla.com/D122902
2022-03-22 20:49:42 +00:00
Randell Jesup 4ed7155770 Bug 1759501: turn on clang thread-safety checking r=firefox-build-system-reviewers,mhentges,andi
Differential Revision: https://phabricator.services.mozilla.com/D140973
2022-03-18 10:48:12 +00:00
smolnar 0b222551dc Backed out changeset 64ec4c736bb4 (bug 1759501) for causing build bustages in dom/base/BodyStream.cpp CLOSED TREE 2022-03-18 02:19:11 +02:00
Randell Jesup b535ed97f5 Bug 1759501: turn on clang thread-safety checking r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D140973
2022-03-17 21:56:51 +00:00
Narcis Beleuzu c4cce6ea63 Backed out changeset 6fd4b72c9a6c (bug 1617283) for dt failure on browser_dbg-backgroundtask-debugging.js . CLOSED TREE 2022-03-16 02:26:38 +02:00
Shazib Summar d3f3302860 Bug 1617283 - Shifted AudioSession to MTA and removed COM violations r=handyman
Pointer to AudioSession object is made std::atomic to resolve crashes (bug 1755700) by atomically modifying/reading the pointer as an effort to make sure any update to the pointer is seen across other threads immediately while not using locks to maintain such concurrency and avoiding dataraces.

This patch is built upon the work done in D136377.

Differential Revision: https://phabricator.services.mozilla.com/D140741
2022-03-15 19:48:43 +00:00
Mike Hommey 03e9935f48 Bug 1758782 - Force-use DWARF-4 debug info. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D140795
2022-03-15 00:24:25 +00:00
Mitchell Hentges f04ccd7a53 Bug 1759256: Update all PATH-munging to use os.pathsep r=webdriver-reviewers,ahochheiden,jgraham
Windows uses `;` as the path separator, Unix-based systems use `:`.
`os.pathsep` conveniently represents the current system's separator.

All OS-specific path separators have been replaced with `os.pathsep`
except for some explicitly Windows-specific mozharness configs.

Differential Revision: https://phabricator.services.mozilla.com/D140981
2022-03-14 18:41:49 +00:00
Mitchell Hentges 23226da5f7 Bug 1755516: Explicitly use system Python packages for Firefox build CI r=ahal
Updates all build-related jobs (`artifact-build`, `build` and
`instrumented-build`) tasks to explicitly set
`MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=system`. This allows them
to consume `psutil` (if installed on the system) without needing
to hit PyPI.org.

Modifies `build-l10n.sh` and `build-linux.sh` to no longer
explicitly fetch `psutil` from PyPI
(`./mach python --virtualenv psutil`), since that is replaced
by Mach's "native package source" behaviour.

Differential Revision: https://phabricator.services.mozilla.com/D140257
2022-03-11 18:34:13 +00:00
Mike Hommey d6e5f60dce Bug 1758781 - Remove now unnecessary patch to link llvm-symbolizer statically. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D140712
2022-03-11 04:10:49 +00:00
Mike Hommey 3885f30dfb Bug 1758781 - Build llvm-symbolizer separately. r=firefox-build-system-reviewers,mhentges
The llvm-symbolizer tasks currently extract a llvm-symbolizer from clang
tasks. Changes in clang 14 make the hack that we have in place to keep
llvm-symbolizer statically linked to libllvm while clang uses a dynamic
libllvm not work anymore, so it's time to bite the bullet and build
llvm-symbolizer separately.

We share most of the build setup with the compiler-rt build.

Differential Revision: https://phabricator.services.mozilla.com/D140711
2022-03-11 04:10:49 +00:00
Chris Peterson 13de2f98de Bug 1758608 - Enable some Objective-C/C++ diagnostics that are currently warning-free. r=firefox-build-system-reviewers,andi
Only enable them when building on macOS or cross-compiling for macOS on Linux.

# catch redeclaration of ObjC method parameter name
-Wduplicate-method-arg

# catch multiple declarations of ObjC method found
-Wduplicate-method-match

# catch ObjC method with no return type specified
-Wmissing-method-return-type

# catch implicit conversions between ObjC BOOL and int
-Wobjc-signed-char-bool

# catch semicolon before ObjC method body
-Wsemicolon-before-method-body

# catch ObjC method parameter type not matching super class method
-Wsuper-class-method-mismatch

https://clang.llvm.org/docs/DiagnosticsReference.html

Differential Revision: https://phabricator.services.mozilla.com/D140598
2022-03-10 03:19:59 +00:00
Mike Hommey dcb88b4ebb Bug 1758617 - Make Firefox abort in case of content crash during PGO run. r=firefox-build-system-reviewers,mhentges
The expected behavior during a PGO run is that a browser is started and
exited once, and then it is started again on a page that runs various
workloads and once finished, exits.
When workload happens to crash the content process, the browser is left
running indefinitely, until the taskcluster task itself times out. This
leaves us with no possibility of knowing what actually went wrong during
the run, which is about the worst thing that can happen.
With the browser shutting down on its own in case of crash, the harness
can find the minidumps and report the crash, which is more useful.

Differential Revision: https://phabricator.services.mozilla.com/D140678
2022-03-09 21:46:18 +00:00
Alexis Beingessner ec10d290e7 Bug 1755602 - consistently use minidump-stackwalk instead of minidump_stackwalk. r=glandium
Inconsistency confuses some of our tools. As part of this, I:

* Updated some docs to point to rust-minidump
* Added a fallback to mozcrash.py to try both versions
* Make mozcrash.py use --brief output when the local mdsw is used
* Remove the renaming hack from build-minidump-stackwalk.sh

This isn't as simple as a sed because we still have breakpad in tree
for minidump-analyzer. I did my best to replace the right strings.

Differential Revision: https://phabricator.services.mozilla.com/D138971
2022-03-09 16:44:42 +00:00
mvollmer 96c7648608 Bug 1755305 - Fix invalid mach command for Visual Studio clean target r=mhentges DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D139595
2022-03-03 14:17:59 +00:00
Mitchell Hentges b48f6cf7dc Bug 1757813: Detect "MSYS" unames as `msyshost`s r=firefox-build-system-reviewers,nalexander
MozillaBuild 3.4's kernel name was `MINGW32_NT-6.2`, but the new
MozillaBuild's kernel name looks like `MSYS_NT-10.0-19044`.

Update existing first-party detection code to properly handle the modern
MSYS "kernel name" format.

Differential Revision: https://phabricator.services.mozilla.com/D140096
2022-03-02 21:01:07 +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