Commit Graph

9987 Commits

Author SHA1 Message Date
Mike Hommey
4dbe34f810 Bug 1730825 - Build NSIS as a relocatable binary. r=firefox-build-system-reviewers,andi
The reason the error mentioned in build-mingw32-nsis.sh happens is that
the default mode NSIS builds in is a fully-installed mode, where it
hardcodes the locations of its data files. This is why nsis needs to
be used from the same place it's built for. But there's another mode,
enabled with NSIS_CONFIG_CONST_DATA_PATH=no, that makes it relocatable,
and makes it find its data files relatively to the nsis binary.

However, there's a bug in the nsis build scripts, which makes the nsis
binary installed in the destination directory instead of a bin/
subdirectory, while the source code itself looks for data files relative
to the parent directory of the directory that contains the executable.
So we need to set PREFIX_BIN to force the executable to be installed in
a bin/ subdirectory.

There is also an issue in nsis itself when it's executed by anything
other than a shell, which we patch out.

Differential Revision: https://phabricator.services.mozilla.com/D125638
2021-09-15 08:33:06 +00:00
Chris Peterson
339c7d8961 Bug 1729598 - Remove now-unused MustUseChecker and MOZ_MUST_USE_TYPE attribute. r=static-analysis-reviewers,andi
Depends on D125504

Differential Revision: https://phabricator.services.mozilla.com/D125505
2021-09-15 05:10:51 +00:00
Mike Hommey
cfaeef1efd Bug 1730078 - Build clang stage 1 with system gcc. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D125162
2021-09-15 02:39:53 +00:00
Mike Hommey
41711584ee Bug 1730078 - Only use the sysroot for the final stage of the clang compilation. r=firefox-build-system-reviewers,andi
Using the sysroot with GCC requires some unnecessary complication, and
we don't really care if the first stages are not using the sysroot.

Differential Revision: https://phabricator.services.mozilla.com/D125161
2021-09-15 02:39:53 +00:00
Mike Hommey
d03a4d2efb Bug 1730078 - Don't build some things during early stages of the clang compilation. r=firefox-build-system-reviewers,andi,mhentges
Building sanitizers in older versions of clang emit errors when built with
newer GCC because of some narrowing conversions. We only really need the
sanitizers in the final stage anyways, so we force-disable them (and
everything else that might enable "sanitizer-common") in early stages.

Building the lli tool (also used in tests) fails as well, and we don't
need it until the final stage (where we need it to ship it).

Differential Revision: https://phabricator.services.mozilla.com/D125159
2021-09-15 02:39:52 +00:00
Mike Hommey
3631977b63 Bug 1730078 - Build clang-tidy with clang. r=firefox-build-system-reviewers,andi
There are complications with building a 1-stage clang with gcc, so just
use clang. Eventually, the clang-tidy toolchains will be removed in
favor of providing clang-tidy from the clang toolchain itself anyways.

Differential Revision: https://phabricator.services.mozilla.com/D125158
2021-09-15 02:39:52 +00:00
Mike Hommey
da41cd5a40 Bug 1730078 - Build binutils with system gcc. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D125156
2021-09-15 02:39:51 +00:00
Mitchell Hentges
451716c8fc Bug 1717104: VirtualenvManager should not allow mixing pythons r=ahal
Tweak the `VirtualenvManager` API to accept a single base "python"
executable during initialization, then to consistently use it for
up-to-date checking, construction, etc.

This constraint allows future simplification for behaviour involving
the "base" python.

Differential Revision: https://phabricator.services.mozilla.com/D124516
2021-09-13 15:42:54 +00:00
Mitchell Hentges
75d14b24c3 Bug 1717104: Align virtualenv_name with requirements definition r=ahal
Maps virtualenvs one-to-one with their associated requirements
definition.

For example:
```
Name: "docs"
Virtualenv location: <snip>/_virtualenvs/docs
Requirements location: $topsrcdir/build/docs_virtualenv_packages.txt
```

An issue to be resolved in the future is that it's tricky to know that,
when you define a new virtualenv, you have to *know* that a requirements
definition needs to exist in `build/`.

As part of this change, the default virtualenv ("common") was
split from the build virtualenv ("build").
This required changes to the python-test virtualenv since
python-tests depend on `glean_parser`, but were getting it
implicitly from the "build" virtualenv's requirements.
This addition to the `python-test` virtualenv is temporary and
will be removed when bug 1724273 is resolved.

Differential Revision: https://phabricator.services.mozilla.com/D122891
2021-09-13 15:42:53 +00:00
Mitchell Hentges
b253caafb5 Bug 1724274: Don't allow Thunderbird requirements to include PyPI pkgs r=ahal
Thunderbird can't currently define its own Mach commands, which means
that it doesn't define its own virtualenvs.

However, it does add some tweaks to the `common` virtualenv requirements
(for build scripts, I believe).

So, we should allow it to continue making those tweaks, but we should
remove the capability of specifying PyPI packages. This is needed for
lockfile-generation, since lockfiles are created and placed in the
Mozilla repo, and we don't want "conditional lockfiles" based on the
existence of a "comm" repo.

This will not regress existing Thunderbird expectations.

Differential Revision: https://phabricator.services.mozilla.com/D124515
2021-09-13 15:42:52 +00:00
Emilio Cobos Álvarez
8d7ad39477 Bug 1730022 - Improve debuggability of nsIContent. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D125192
2021-09-10 16:39:15 +00:00
Tetsuharu Ohzeki
10e5da36a7 Bug 1729820 - Remove unused Compositor::DrawDiagnostics(). r=gfx-reviewers,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D125137
2021-09-10 02:17:49 +00:00
Kris Wright
b860b327ea Bug 1576515 - Enable PHC on Mac r=glandium
Note that we don't appear to support 32-bit on mac so it'd be redundant to check for it.

Differential Revision: https://phabricator.services.mozilla.com/D124919
2021-09-10 01:08:53 +00:00
Marian-Vasile Laza
11a8d20a02 Backed out 2 changesets (bug 1576515) for causing build bustages.
Backed out changeset f5b0cc430e66 (bug 1576515)
Backed out changeset 7f3162bc43b8 (bug 1576515)
2021-09-10 03:45:58 +03:00
Mitchell Hentges
a1ee478054 Bug 1725708: Move all possible vendored deps to centralized system r=ahal
Note that, as part of adding this packages to the automated vendoring
system, some dependencies were automatically added - most notably,
dependencies of `taskcluster` that become visible with Python 3.6+.

Also, adds `**/.git` to the exclusions because:
* `.git` is part of our `.hgignore`, but
* `.git` is part of the `aiohttp` `tar.gz` file.

Since the file isn't needed for `pip install`-ing `aiohttp`,
and since we want `./mach vendor python` to be a no-op when there's
no requirement changes, we exclude it.

Differential Revision: https://phabricator.services.mozilla.com/D123122
2021-09-09 18:18:51 +00:00
Mitchell Hentges
da7ec2035a Bug 1725708: Remove unused "pep487" vendored package r=ahal
There's no usages of the `pep487` module.

Differential Revision: https://phabricator.services.mozilla.com/D123121
2021-09-09 18:18:45 +00:00
Mitchell Hentges
a16f941f30 Bug 1712151: Use compatible version of pyasn1-modules r=ahal
The existing version of `pyasn1-modules` (`0.1.5`) is incompatible with
our version of `pyasn1` (`0.4.8`).

By bumping `pyasn1-modules` to `0.2.8`, we now meet its compatibility
requirements.

Differential Revision: https://phabricator.services.mozilla.com/D122897
2021-09-09 18:18:44 +00:00
Andreea Pavel
3307ea0a87 Bug 1576515 - remove PHC on arm r=bustage-fix on a CLOSED TREE 2021-09-09 22:27:27 +03:00
Kris Wright
cb5e16a975 Bug 1576515 - Enable PHC on Mac r=glandium
Note that we don't appear to support 32-bit on mac so it'd be redundant to check for it.

Differential Revision: https://phabricator.services.mozilla.com/D124919
2021-09-09 15:28:59 +00:00
Tetsuharu Ohzeki
34efa74406 Bug 1729816 - part 1: Remove unused gfxPlatform::GetLayerDiagnosticTypes() and related prefs. r=gfx-reviewers,mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D125003
2021-09-09 02:02:10 +00:00
Mike Hommey
b2dd8f3c30 Bug 1729611 - Remove the separate llvm-dsymutil toolchain. r=firefox-build-system-reviewers,mhentges
It made sense when we did have problems with the one shipped with clang
and needed an explicitly newer version, but that hasn't been true in a
while. On the contrary, we're now using a version older than clang for
no reason other than having forgotten to update it.

Differential Revision: https://phabricator.services.mozilla.com/D124886
2021-09-09 00:11:47 +00:00
Mike Hommey
3dee917b9d Bug 1729611 - Remove llvm-dsymutil wrapper. r=firefox-build-system-reviewers,mhentges
As mentioned in the previous commit, it hasn't been useful for at least
2 years.

Differential Revision: https://phabricator.services.mozilla.com/D124885
2021-09-09 00:11:47 +00:00
Mike Hommey
e779c5d35f Bug 1729611 - Fix llvm-dsymutil wrapper after the move to MOZ_FETCHES_DIR for downloaded toolchains. r=firefox-build-system-reviewers,mhentges
The change happened 2 years ago in bug 1571562, which means the script
hasn't hit a llvm-dsymutil crash since then (we would have noticed that
it doesn't produce reproducers if we had recurring llvm-dsymutil crashes).
So before removing the script, fix it, so that if we do need to dig it
up from history, we don't pull a broken version.

Differential Revision: https://phabricator.services.mozilla.com/D124884
2021-09-09 00:11:46 +00:00
Mike Hommey
9ef9a07ff2 Bug 1729406 - Use .tar.zst for most toolchain artifacts. r=firefox-build-system-reviewers,andi
We leave the following ones unchanged:
- geckodriver because the results are used to releases on github.
- sixgill because the script that creates it is not in-tree.
- *-dist-toolchain because sccache is not expecting a .tar.zst.

We use native tar support in most cases, except for toolchain scripts also
used on Windows, for which we use our zstdpy script.

Differential Revision: https://phabricator.services.mozilla.com/D124733
2021-09-08 23:46:51 +00:00
Iulian Moraru
82a880399a Backed out 2 changesets (bug 1729406) for causing toolchain-wrench-deps build bustages. CLOSED TREE
Backed out changeset 2b28ac860723 (bug 1729406)
Backed out changeset 89c9940d7402 (bug 1729406)
2021-09-08 16:08:40 +03:00
Mike Hommey
cc6d99c4e2 Bug 1729406 - Use .tar.zst for most toolchain artifacts. r=firefox-build-system-reviewers,andi
We leave the following ones unchanged:
- geckodriver because the results are used to releases on github.
- sixgill because the script that creates it is not in-tree.
- *-dist-toolchain because sccache is not expecting a .tar.zst.

We use native tar support in most cases, except for toolchain scripts also
used on Windows, for which we use our zstdpy script.

Differential Revision: https://phabricator.services.mozilla.com/D124733
2021-09-08 08:00:54 +00:00
Cosmin Sabou
e097f3b06f Backed out changeset 40f514ec207e (bug 1729406) for causing windows build bustages. CLOSED TREE 2021-09-08 07:43:48 +03:00
Mike Hommey
c7391546a8 Bug 1729406 - Use .tar.zst for most toolchain artifacts. r=firefox-build-system-reviewers,andi
We leave the following ones unchanged:
- geckodriver because the results are used to releases on github.
- sixgill because the script that creates it is not in-tree.
- *-dist-toolchain because sccache is not expecting a .tar.zst.

We use native tar support in most cases, except for toolchain scripts also
used on Windows, for which we use our zstdpy script.

Differential Revision: https://phabricator.services.mozilla.com/D124733
2021-09-08 03:44:03 +00:00
Noemi Erli
2c90034df8 Backed out changeset d6d54748247b (bug 1729406) for causing Win build bustages CLOSED TREE 2021-09-08 05:26:26 +03:00
Mike Hommey
3f7b2e461d Bug 1729401 - Upgrade valgrind to 3.17.0. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D124736
2021-09-08 00:34:54 +00:00
Tetsuharu Ohzeki
52196aec67 Bug 1729570 - part 2: Remove unused gfxPlatform::GetCompositorBackends(). r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D124861
2021-09-08 00:32:09 +00:00
Mike Hommey
ddf2323be6 Bug 1729406 - Use .tar.zst for most toolchain artifacts. r=firefox-build-system-reviewers,andi
We leave the following ones unchanged:
- geckodriver because the results are used to releases on github.
- sixgill because the script that creates it is not in-tree.
- *-dist-toolchain because sccache is not expecting a .tar.zst.

We use native tar support in most cases, except for toolchain scripts also
used on Windows, for which we use our zstdpy script.

Differential Revision: https://phabricator.services.mozilla.com/D124733
2021-09-08 00:31:19 +00:00
Tetsuharu Ohzeki
0109338d54 Bug 1729476 - Remove unused CompositorBridgeChild::SendMakeSnapshot(). r=gfx-reviewers,ipc-reviewers,nika,nical
Differential Revision: https://phabricator.services.mozilla.com/D124818
2021-09-07 22:37:48 +00:00
Tetsuharu Ohzeki
fdfaf254d0 Bug 1729476 - Remove unused CompositorBridgeChild::SendNotifyRegionInvalidated(). r=gfx-reviewers,nical
Differential Revision: https://phabricator.services.mozilla.com/D124816
2021-09-07 22:37:47 +00:00
Tetsuharu Ohzeki
a5c7ab55a9 Bug 1729476 - Remove unused CompositorBridgeChild::HandleMemoryPressure(). r=gfx-reviewers,nical
Differential Revision: https://phabricator.services.mozilla.com/D124811
2021-09-07 22:37:45 +00:00
Nicolas Silva
90eca868aa Bug 1728618 - Suppress false positive valgrind uninitialized value error. r=gfx-reviewers,aosmond
Valgrind detects a condition depending on uninitialized value in update_texture_cache. I first ran into this in bug 1716579, and as patch had a large impact on allocation/deallocation workloads with the texture cache, I couldn't decide with confidence that the patch wasn't faulty. In bug 1728618 which causes this error again, however, the patch is much simpler, doesn't interact with unsafe code and does not affect texture cache workloads so it gives me much better confidence that this valgrind error is either a false positive or a miscompilation.

Differential Revision: https://phabricator.services.mozilla.com/D124444
2021-09-07 07:35:35 +00:00
Mitchell Hentges
2b15db71aa Bug 1717051: Consolidate state_dir creation r=firefox-build-system-reviewers,glandium
We had logic in both `mach_bootstrap` and the Mach Bootstrapper to
create the state_dir.

This joins them and has the added benefit of creating the state dir
earlier in the Mach lifecycle (as will be needed for early instantiation
of the Mach virtualenv).

Differential Revision: https://phabricator.services.mozilla.com/D120400
2021-09-03 20:46:23 +00:00
Mitchell Hentges
f5b0cb5bc1 Bug 1717051: Rename "mach_bootstrap.py" to "mach_initialize.py" r=firefox-build-system-reviewers,glandium
We've overloaded "bootstrap" to mean three different things:
* The "standalone bootstrap script": `python/mozboot/bin/bootstrap.py`.
  This is to freshly clone a new repo, then run `./mach bootstrap`.
* `./mach bootstrap`: Install necessary dependencies and set up the
  system for development.
* "Mach bootstrap": do the in-process initialization work Mach needs
  before it can run commands.

By using the term "initialize" instead, perhaps we can remove
ambiguity when discussing Mach.

I'm not attached to the name (or this change at all), but I'm interested
in reviewer thoughts :)

Differential Revision: https://phabricator.services.mozilla.com/D120410
2021-09-03 20:46:22 +00:00
Chris H-C
86fc7a1397 Bug 1715639 - Introducing mach data-review for one of your Glean data review needs r=janerik,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D124464
2021-09-03 20:20:12 +00:00
Cosmin Sabou
f4575710bd Backed out 6 changesets (bug 1712151, bug 1725708, bug 1724465) for causing invalid handle xpcshell failures. CLOSED TREE
Backed out changeset 90b9ff20b311 (bug 1725708)
Backed out changeset 75336eb10063 (bug 1725708)
Backed out changeset f438e13f8986 (bug 1724465)
Backed out changeset 11de3a4312bd (bug 1725708)
Backed out changeset 2c6edefd8417 (bug 1712151)
Backed out changeset 9ccf99dae3c7 (bug 1712151)
2021-09-03 22:33:24 +03:00
Sandor Molnar
06f9e93e66 Backed out changeset 3bdf9c5f10cc (bug 1729051) build bustages. CLOSED TREE 2021-09-03 22:13:35 +03:00
Andrew Osmond
eae74a37c7 Bug 1729051 - Simplify imgFrame to only use shared surfaces for raster images. r=jrmuizel
In practice we already only use SourceSurfaceSharedData as our
rasterized image backing. This means we no longer need to lock the data
to keep it in memory (when we used volatile memory), nor to try to
optimize the surface for the DrawTarget.

Differential Revision: https://phabricator.services.mozilla.com/D124476
2021-09-03 18:53:19 +00:00
Mitchell Hentges
4abd2ed050 Bug 1725708: Move all possible vendored deps to centralized system r=ahal
Note that, as part of adding this packages to the automated vendoring
system, some dependencies were automatically added - most notably,
dependencies of `taskcluster` that become visible with Python 3.6+.

Also, adds `**/.git` to the exclusions because:
* `.git` is part of our `.hgignore`, but
* `.git` is part of the `aiohttp` `tar.gz` file.

Since the file isn't needed for `pip install`-ing `aiohttp`,
and since we want `./mach vendor python` to be a no-op when there's
no requirement changes, we exclude it.

Differential Revision: https://phabricator.services.mozilla.com/D123122
2021-09-03 17:31:57 +00:00
Mitchell Hentges
6d2c906280 Bug 1725708: Remove unused "pep487" vendored package r=ahal
There's no usages of the `pep487` module.

Differential Revision: https://phabricator.services.mozilla.com/D123121
2021-09-03 17:31:52 +00:00
Mitchell Hentges
251f4d7144 Bug 1712151: Use compatible version of pyasn1-modules r=ahal
The existing version of `pyasn1-modules` (`0.1.5`) is incompatible with
our version of `pyasn1` (`0.4.8`).

By bumping `pyasn1-modules` to `0.2.8`, we now meet its compatibility
requirements.

Differential Revision: https://phabricator.services.mozilla.com/D122897
2021-09-03 17:31:50 +00:00
Mitchell Hentges
78827b7e2c Bug 1723237: Use pip-compile directly from vendored location r=ahal
We've been installing `piptools` so that we can use the `pip-compile`
binary. However, we can just as easily do
`python -m piptools compile ...` instead, which also allows us to
skip a redundant install.

Differential Revision: https://phabricator.services.mozilla.com/D123240
2021-09-03 17:06:05 +00:00
Dzmitry Malyshau
5695f517a5 Bug 1726626 - Move gfx/wgpu into a 3rd party dependency r=jgilbert,bholley
This update makes wgpu a vendored dependency instead of having it in gfx/wgpu.

## Notes


It relies on https://phabricator.services.mozilla.com/D123157

It has a quirk related to OpenGL ES backend. Previousy, we manually had to disable GL backend
in order to avoid vendoring WASM dependencies in. This time, manual editing is more complicated,
so instead this change adds a few cargo patch lines to point WASM dependencies to dummy projects.

The update also totally removes SPIRV-Cross, since the latest `wgpu` doesn't depend on it any more.
The compiled binary size for Gecko should improve with this.

Differential Revision: https://phabricator.services.mozilla.com/D123153
2021-09-03 16:52:08 +00:00
Mitchell Hentges
9fb43c2035 Bug 1712151: Bump glean-sdk version to 40.0.0 r=ahal
We vendor `glean_parser==3.6.0`, and that was incompatible with
`glean-sdk==36.0.0`'s requirement of `glean_parser==2.5.0`.
`glean-sdk==40.0.0` expects `glean_parser==3.6.0`, which is perfect.

Differential Revision: https://phabricator.services.mozilla.com/D122899
2021-09-03 15:22:21 +00:00
Andrew Sutherland
c872d06387 Bug 1728376 - Searchfox should treat pure virtual declarations as definitions. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D124152
2021-09-01 02:41:05 +00:00
Florian Quèze
2ef0bca3f5 Bug 1728228 - Add profiler markers in the Timer thread to understand its activity, r=gerald,smaug,KrisWright.
Differential Revision: https://phabricator.services.mozilla.com/D123989
2021-08-31 13:41:46 +00:00