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

10078 Коммитов

Автор SHA1 Сообщение Дата
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
Mike Hommey 278fa528e2 Bug 1727687 - Upgrade windows builds to MSVC 15.9.6. r=firefox-build-system-reviewers,agashlin,jgilbert,mhentges
There are two big parts in the MSVC toolchain we use:
- the Windows 10 SDK
- Visual C++

For the former, both the 15.8.4 and 15.9.6 toolchains are using the same
version of the Win10 SDK.
For the latter, we're not using the compiler itself anymore, so the only
substantial difference is in the headers and libraries included with
Visual C++, as well as the redist libraries for the CRT. Both versions
are supposed to be compatible to the same set of OS versions, fitting
our system requirements.

This makes us use the same version of MSVC on all our Windows builds
(arm64 builds were already on 15.9.6).

Differential Revision: https://phabricator.services.mozilla.com/D123720
2021-08-30 21:29:35 +00:00
Andrew Sutherland ae02905b1c Bug 1641372 - Emit structured records.
This is the corresponding mozilla-central landing of the searchfox upstream
clang indexing changes from https://github.com/mozsearch/mozsearch/pull/408
that is r=kats.

Differential Revision: https://phabricator.services.mozilla.com/D108360
2021-08-29 03:15:44 +00:00
Benjamin Beurdouche 9eb74dd71e Bug 1724869 - land NSS NSS_3_70_BETA1 UPGRADE_NSS_RELEASE, r=jschanck
```
2021-08-26  Benjamin Beurdouche  <bbeurdouche@mozilla.com>

	* lib/ssl/tls13con.c:
	Backed out changeset fae49696d374
	[e55700ee052e] [NSS_3_70_BETA1] <NSS_3_70_BRANCH>

	* tests/tlsfuzzer/config.json.in, tests/tlsfuzzer/tlsfuzzer.sh:
	Backed out changeset 7c3a0a99f7fa
	[e79531c04e6b] <NSS_3_70_BRANCH>

	* automation/abi-check/previous-nss-release, lib/nss/nss.h,
	lib/softoken/softkver.h, lib/util/nssutil.h:
	Set version numbers to 3.70 Beta
	[cc0d44da6a0e]

2021-08-26  John M. Schanck  <jschanck@mozilla.com>

	* tests/tlsfuzzer/config.json.in, tests/tlsfuzzer/tlsfuzzer.sh:
	Bug 1662515 - Enable tlsfuzzer/test-tls13-zero-content-type.py
	r=bbeurdouche,djackson

	[7c3a0a99f7fa]

2021-08-26  Benjamin Beurdouche  <bbeurdouche@mozilla.com>

	* lib/ssl/tls13con.c:
	Bug 1662515 - Fix incorrect alert after successful decryption
	r=djackson

	[fae49696d374]

2021-08-24  Robert Relyea  <rrelyea@redhat.com>

	* tests/cert/cert.sh, tests/common/init.sh, tests/sdr/sdr.sh:
	Bug 1726022 Update test case to verify fix.

	Updated test cases to verify pbe caching fix. NOTE: putting
	passwords on databases are key to reproducing the original issue.

	[ff19b674c468]

2021-08-24  John M. Schanck  <jschanck@mozilla.com>

	* gtests/ssl_gtest/tls_ech_unittest.cc:
	Bug 1714579 - Explicitly disable downgrade check in
	TlsConnectStreamTls13.EchOuterWith12Max r=nss-reviewers,bbeurdouche

	Depends on D123535

	[608fd450d499]

	* gtests/ssl_gtest/ssl_version_unittest.cc:
	Bug 1714579 - Explicitly disable downgrade check in
	TlsConnectTest.DisableFalseStartOnFallback r=nss-
	reviewers,bbeurdouche

	Depends on D122988

	[7bd94de62243]

2021-08-24  Benjamin Beurdouche  <bbeurdouche@mozilla.com>

	* lib/util/nssb64d.c:
	Formatting for lib/util
	[db95b15ce1ff]

2021-08-24  John M. Schanck  <jschanck@mozilla.com>

	* lib/util/nssb64d.c:
	Bug 1681975 - Avoid using a lookup table in nssb64d r=bbeurdouche

	[d454db6ad1fb]

2021-08-24  Benjamin Beurdouche  <bbeurdouche@mozilla.com>

	* lib/freebl/sha512.c:
	Bug 1724629 - Use HW accelerated SHA2 on AArch64 Big Endian.
	r=jschanck

	[7e31b8f7f741]

2021-08-24  John M. Schanck  <jschanck@mozilla.com>

	* lib/ssl/sslsock.c:
	Bug 1714579 Change default value of enableHelloDowngradeCheck to
	true r=mt

	Firefox sets enableHelloDowngradeCheck to true by default, as of
	[1576790](https://bugzilla.mozilla.org/show_bug.cgi?id=1576790). We
	have a two year old open issue noting some issues with that
	[1590870](https://bugzilla.mozilla.org/show_bug.cgi?id=1590870), but
	I see no reason not to update the default in NSS.

	[52137aa125f5]

2021-08-24  Benjamin Beurdouche  <bbeurdouche@mozilla.com>

	* gtests/pk11_gtest/pk11_hpke_unittest.cc:
	Formatting for gtests/pk11_gtest/pk11_hpke_unittest.cc r=jschanck

	The clang-format target was failing.
	https://treeherder.mozilla.org/logviewer?job_id=348100377&repo=nss-
	try

	[36bc1c231bf6]
```

Differential Revision: https://phabricator.services.mozilla.com/D123784
2021-08-26 17:45:23 +00:00
championshuttler cb9bc5986b Bug 1722650 - Import Chrome Registration docs from mdn.r=mossop DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D123106
2021-08-26 15:21:32 +00:00
Andi-Bogdan Postelnicu c509382d69 Bug 1717801 - Determine the number of developer who are currently running vscode. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D118587
2021-08-26 07:24:19 +00:00
Andi-Bogdan Postelnicu 0ac52aa9d7 Bug 1725125 - Make a hybrid build system combining non-unified with unified. CLOSED TREE
By hybrid unified system we understand a system that encapsulates modules that are built in the unified mode
but also other modules, like `dom/Animation`, as an example, in the non unified environment.

This approach is desirable since we already have most of the modules transitioned to the non unified system but there are
still some that are not yet compatible, but in the long term this will be done by each module owner and can be also tested
locally using the build system.

If a module can't be built outside the unified method it's `moz.build` config file needs to have `REQUIRES_UNIFIED_BUILD = False`

To also enable this we need to have a flag from `mozconfig`, like:

```
ac_add_options --disable-unified-build
```

Differential Revision: https://phabricator.services.mozilla.com/D122328
2021-08-25 11:21:42 +00:00
Narcis Beleuzu 50dd0540cd Backed out changeset 29d7e91fe721 (bug 1725125) for plain Bp-hybrid bustages 2021-08-25 14:42:09 +03:00
Andi-Bogdan Postelnicu 4b8a4fc95a Bug 1725125 - Make a hybrid build system combining non-unified with unified r=firefox-build-system-reviewers,mhentges,glandium
By hybrid unified system we understand a system that encapsulates modules that are built in the unified mode
but also other modules, like `dom/Animation`, as an example, in the non unified environment.

This approach is desirable since we already have most of the modules transitioned to the non unified system but there are
still some that are not yet compatible, but in the long term this will be done by each module owner and can be also tested
locally using the build system.

If a module can't be built outside the unified method it's `moz.build` config file needs to have `REQUIRES_UNIFIED_BUILD = False`

To also enable this we need to have a flag from `mozconfig`, like:

```
ac_add_options --disable-unified-build
```

Differential Revision: https://phabricator.services.mozilla.com/D122328
2021-08-25 10:46:18 +00:00
Mike Hommey 649db33712 Bug 1726474 - Enable wasm32-wasi support on clang-mingw toolchains. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D123425
2021-08-25 07:39:01 +00:00
Rob Lemley c05d0a3ce0 Bug 1727014 - Add symbols from GLIBCXX_3.4.21 needed for Thunderbird librnp.so. r=firefox-build-system-reviewers,glandium
librnp is used by Thunderbird for OpenPGP support. Until now, official builds
have been built statically linked to Clang/LLVM's libc++ to avoid problems with
libstdc++ symbols.
Recent build changes have narrowed the gap significantly, leaving out_of_range
and invalid_argument called with char const* rather than std::string.

Differential Revision: https://phabricator.services.mozilla.com/D123381
2021-08-24 22:38:06 +00:00
Mike Hommey 94b191e702 Bug 1726544 - Only remove --gc-sections when LIBFUZZER_FLAGS is actually used. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D123407
2021-08-24 21:17:15 +00:00
Alex Lopez 4ae24b1f1b Bug 1696251: Refactor docstrings in mach commands. r=mhentges,webdriver-reviewers,geckoview-reviewers,agi
The purpose of this is to remove as many docstrings from CommandProvider
classes to make the step of moving commands out of classes simpler.
Where possible, the docstring has been moved to or merged with the function.

Differential Revision: https://phabricator.services.mozilla.com/D123288
2021-08-24 20:16:05 +00:00
Andi-Bogdan Postelnicu 8e4de9338f Bug 1727088 - Add `wasi-compiler-rt` to `clang-10` artifact. r=firefox-build-system-reviewers,glandium
Unfortunately we cannot move coverity builds to newer versions of clang so we are stick to clang-10.

Differential Revision: https://phabricator.services.mozilla.com/D123370
2021-08-24 05:18:17 +00:00
Dana Keeler 3b68845290 Bug 1724072 - allow enabling 3DES only when deprecated versions of TLS are enabled r=rmf
Chrome has removed 3DES completely[0], but we're still seeing some uses of it
in telemetry. Our assumption is that this is either due to old devices that
can't be upgraded, and hence probably use TLS 1.0, or servers that bafflingly
choose 3DES when there are other, better, ciphersuites in common.
This patch allows 3DES to only be enabled when deprecated versions of TLS are
enabled. This should protect users against the latter case (where 3DES is
unnecessary) while allowing them to use it in the former case (where it may be
necessary).

NB: The only 3DES ciphersuite gecko makes possible to enable is
TLS_RSA_WITH_3DES_EDE_CBC_SHA. This patch also changes the preference
corresponding to this ciphersuite from "security.ssl3.rsa_des_ede3_sha" to
"security.ssl3.deprecated.rsa_des_ede3_sha".

[0] https://www.chromestatus.com/feature/6678134168485888

Differential Revision: https://phabricator.services.mozilla.com/D121797
2021-08-24 01:25:07 +00:00
Mike Hommey b13e2389b8 Bug 1726453 - Don't set LLVM_LIBDIR_SUFFIX=64 when building android-cross clang. r=firefox-build-system-reviewers,mhentges
It's an unnecessary difference with our other clang builds. It looks
like it was cargo-culted from some external script. It makes the
android-cross clang different in the way it finds e.g. compiler
runtimes, some of which are in lib/, and others in lib64/, and only the
latter are actually found.

Differential Revision: https://phabricator.services.mozilla.com/D123017
2021-08-20 03:56:12 +00:00
Mike Hommey 9cdc788c42 Bug 1723245 - Disable --gc-sections when building with sanitizer coverage. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D122952
2021-08-18 22:04:14 +00:00
Mike Hommey 06134fdb5b Bug 1726373 - Fail the build when Cargo.lock is modified. r=firefox-build-system-reviewers,mhentges
What currently happens when Cargo.lock doesn't match is that the first
time we run cargo to generate the cbindgen metadata, we don't run it
with --frozen (unlike subsequent calls), and that locally fixes
Cargo.lock. Instead of that, we make the build fail, which will prevent
out-of-sync Cargo.lock from slipping in the tree in the first place.

Differential Revision: https://phabricator.services.mozilla.com/D123010
2021-08-18 21:55:15 +00:00
Dana Keeler 259e0bfa1a Bug 1724072 - replace RC4 capabilities in ssltunnel with 3DES r=rmf
This patch updates ssltunnel to have a configuration where it only uses a 3DES
ciphersuite, rather than RC4 ciphersuites. This has to be done in stages
because otherwise android tests will fail, because their hostutils doesn't
actually use what's in-tree, and has to be updated separately.

Differential Revision: https://phabricator.services.mozilla.com/D122393
2021-08-18 20:20:12 +00:00
Mike Hommey bec2d23d2d Bug 1726100 - Also build the wasm target in the clang-12-android-cross toolchain. CLOSED TREE
Differential Revision: https://phabricator.services.mozilla.com/D122950
2021-08-18 08:54:26 +00:00
Mike Hommey 6d40ab3f4a Bug 1726100 - Build the clang-12-android-cross toolchain with wasi support. CLOSED TREE
Differential Revision: https://phabricator.services.mozilla.com/D122935

Depends on D122934
2021-08-18 06:14:58 +00:00
Mike Hommey 220dd5a6f0 Bug 1726117 - Upgrade valgrind docker image to Debian 11. r=taskgraph-reviewers,bhearsum
Differential Revision: https://phabricator.services.mozilla.com/D122834
2021-08-18 05:46:26 +00:00
Mike Hommey a0196647e2 Bug 1726100 - Move wasm-sandboxing defaults to configure. r=firefox-build-system-reviewers,andi
This has the side-effect of enabling it on plain builds, which thus now
require the wasi sysroot.

Differential Revision: https://phabricator.services.mozilla.com/D122826
2021-08-18 01:09:58 +00:00
Mike Hommey cae349eade Bug 1726100 - Add a check for clang version for wasi targets. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D122825
2021-08-18 01:09:57 +00:00
Mike Hommey 738d83b404 Bug 1726114 - Remove build/macosx/local-mozconfig.common. r=firefox-build-system-reviewers,mhentges
Local builds don't use it, and currently the only builds that happen on
macs on automation are not using the clang toolchain, so they're not
going through the first condition, and the remainder of the mozconfig
is essentially no-ops (plus, the only builds on macs on automation that
do use mozconfigs at all are rusttests, for which those settings wouldn't
matter anyways).

Meaning in practice, the mozconfig is not doing anything useful.

Differential Revision: https://phabricator.services.mozilla.com/D122823
2021-08-17 20:41:05 +00:00
Mike Hommey 50c875f45c Bug 1725855 - Don't set PKG_CONFIG_* on macOS. r=firefox-build-system-reviewers,andi
The sysroot setup on macOS is different from Linux, and pkg-config
files, if there are, would be coming from e.g. homebrew rather than
the macOS SDK.

Differential Revision: https://phabricator.services.mozilla.com/D122793
2021-08-17 09:38:23 +00:00
Mike Hommey cf1b10cb6e Bug 1725564 - Use the same base checks for WASM_{CC,CXX} as {CC,CXX}/HOST_{CC,CXX}. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D122569
2021-08-14 00:53:52 +00:00
Mitchell Hentges d24b758528 Bug 1717051: Spell `glean-sdk` with a dash, not an underscore r=ahal
The Glean SDK was traditionally represented in-tree as `glean_sdk`.
However, on PyPI and in `pip list`, it appears as `glean-sdk` (`pip` was
doing the translation implicitly and internally).

This is breaking our virtualenv state-checking code, since it thinks
that `glean_sdk` isn't installed.

Since `glean_sdk` was marked as `pypi-optional`, this hasn't affected us
yet, but it will when we bump the Glean SDK version, because developers'
virtualenvs won't be detected as out-of-date.

Differential Revision: https://phabricator.services.mozilla.com/D122500
2021-08-13 17:50:13 +00:00
Mike Hommey 3d35cc105b Bug 1724522 - Auto-bootstrap the wasi sysroot for spidermonkey wasi builds. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D122403
2021-08-13 07:07:46 +00:00
Mike Hommey 6474710c7a Bug 1724522 - Split wasi-sysroot in two separate toolchains. r=firefox-build-system-reviewers,mhentges
The wasi-sysroot toolchain contains both a sysroot for wasi and a
compiler-rt for clang. That makes it impractical to use as a
bootstrapped sysroot for wasm32-wasi builds of Spidermonkey.

We thus split the toolchain in two, one for the compiler-rt and one
for the sysroot. Ideally, the compiler-rt one would avoid building
clang/llvm the same way the sysroot one does, but that leads to
a case of chicken-and-egg, because the compiler-rt is needed to build
the clang toolchain. Eventually, the clang build would be split from
the addition of the compiler-rt, but we're not there yet.

Differential Revision: https://phabricator.services.mozilla.com/D122402
2021-08-13 07:07:45 +00:00
Mike Hommey 726d5d7ef7 Bug 1724522 - Only build clang-12 and clang-trunk with wasi-sysroot. r=firefox-build-system-reviewers,mhentges
We don't need wasi support in versions other than the ones currently used
to build Firefox.

Differential Revision: https://phabricator.services.mozilla.com/D122401
2021-08-13 07:07:45 +00:00
Mike Hommey 8f94edfa1f Bug 1724522 - Remove unused clang-linux64.json. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D122400
2021-08-13 07:07:44 +00:00
Mike Hommey c39f6708e7 Bug 1724391 - Reset PKG_CONFIG_PATH. r=firefox-build-system-reviewers,mhentges
If it has a value set, that interferes with values we set to other
PKG_CONFIG_* variables for sysroots.

Differential Revision: https://phabricator.services.mozilla.com/D122287
2021-08-11 22:03:14 +00:00
Mike Hommey a054bdd0de Bug 1723953 - Fix using the bootstrapped sysroot with GCC. r=firefox-build-system-reviewers,andi
While some custom builds of GCC work successfully, system GCC builds
usually don't, because of several factors:
- they don't use the C++ headers or libstdc++.so from the sysroot
- they don't necessarily know to use the multiarch directories in the
  sysroot

Differential Revision: https://phabricator.services.mozilla.com/D121946
2021-08-11 21:51:11 +00:00
Mike Hommey e5492f70e1 Bug 1723953 - pre: Add min/max to the python configure sandbox. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D121945
2021-08-11 21:51:11 +00:00
Mike Hommey a673ae0901 Bug 1724374 - Handle the macos SDK through the same code paths as sysroots. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D121944
2021-08-11 07:47:14 +00:00
Mike Hommey d784654760 Bug 1724374 - Use --sysroot on mac builds. r=firefox-build-system-reviewers,andi
We're currently using -isysroot as a preprocessor flag and
-Wl,--syslibroot/-Wl,--sysroot as a linker flag, but --sysroot is
generalization of both, so we can use that instead.

Differential Revision: https://phabricator.services.mozilla.com/D121943
2021-08-11 07:47:13 +00:00
Mike Hommey d873082139 Bug 1724606 - Replace uses of MACOSX_DEPLOYMENT_TARGET env variable with -mmacosx-version-min flag. r=firefox-build-system-reviewers,andi
They are equivalent, except for the fact that MACOSX_DEPLOYMENT_TARGET
may apply to more processes in a normal build. In practice, all the
processes that matter are covered through compiler flags.

On the opposite end, MACOSX_DEPLOYMENT_TARGET isn't necessary passed in
all cases (like clangd, mach static-analysis, etc.), while compiler
flags are.

Differential Revision: https://phabricator.services.mozilla.com/D122145
2021-08-11 07:40:57 +00:00
Mike Hommey e54462618c Bug 1724830 - Remove MOZ_LIBSTDCXX_*_VERSION. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D122197
2021-08-10 21:16:18 +00:00
Mike Hommey 0fd10d96b0 Bug 1724830 - Only allow --enable-stdcxx-compat when building on or targetting Linux. r=firefox-build-system-reviewers,andi
As this means stdc++compat also would need to be built when
cross-building for Windows on Linux, we also recurse in the stdc++compat
directory in that case. It was already possible to use
--enable-stdcxx-compat in that configuration, and that wasn't working
(there are other problems that prevent it from working, but we're going
to fix them shortly).

Differential Revision: https://phabricator.services.mozilla.com/D122195
2021-08-10 21:16:18 +00:00
Mike Hommey 61812c65f9 Bug 1724830 - Use _GLIBCXX_RELEASE in stdc++compat.cpp. r=firefox-build-system-reviewers,andi
Since the minimum required version of gcc and libstdc++ is 7.1 as of bug
1536848, the _GLIBCXX_RELEASE macro is available on all supported
versions. Which means instead of grabbing the largest version of the
libstdc++ symbols and tweaking for that, we can just tweak for
_GLIBCXX_RELEASE. We also remove the conditions that are always true due
to the versions involved.

Differential Revision: https://phabricator.services.mozilla.com/D122194
2021-08-10 21:16:17 +00:00
Mike Hommey 83fb89d35f Bug 1723956 - Make --without-sysroot work again. r=firefox-build-system-reviewers,mhentges
Also make it not bootstrap a host sysroot.

Differential Revision: https://phabricator.services.mozilla.com/D121815
2021-08-10 20:38:51 +00:00
Narcis Beleuzu 625f7a5de1 Backed out changeset 4f793a75cd93 (bug 1724072) for geckoview failures . CLOSED TREE 2021-08-10 19:19:35 +03:00
Dana Keeler 2a64c08522 Bug 1724072 - allow enabling 3DES only when deprecated versions of TLS are enabled r=rmf
Chrome has removed 3DES completely[0], but we're still seeing some uses of it
in telemetry. Our assumption is that this is either due to old devices that
can't be upgraded, and hence probably use TLS 1.0, or servers that bafflingly
choose 3DES when there are other, better, ciphersuites in common.
This patch allows 3DES to only be enabled when deprecated versions of TLS are
enabled. This should protect users against the latter case (where 3DES is
unnecessary) while allowing them to use it in the former case (where it may be
necessary).

NB: The only 3DES ciphersuite gecko makes possible to enable is
TLS_RSA_WITH_3DES_EDE_CBC_SHA. This patch also changes the preference
corresponding to this ciphersuite from "security.ssl3.rsa_des_ede3_sha" to
"security.ssl3.deprecated.rsa_des_ede3_sha".

[0] https://www.chromestatus.com/feature/6678134168485888

Differential Revision: https://phabricator.services.mozilla.com/D121797
2021-08-10 15:25:37 +00:00
Iulian Moraru 4c78d68cdc Backed out changeset a1a730897df8 (bug 1723956) for causing build bustages. CLOSED TREE 2021-08-10 01:38:42 +03:00
Mike Hommey 4a06fcb21e Bug 1723956 - Make --without-sysroot work again. r=firefox-build-system-reviewers,mhentges
Also make it not bootstrap a host sysroot.

Differential Revision: https://phabricator.services.mozilla.com/D121815
2021-08-09 21:50:04 +00:00
Iulian Moraru 7aabed9987 Backed out changeset 9e46bdf03189 (bug 1723956) for causing build bustages. CLOSED TREE 2021-08-10 00:21:40 +03:00
Mike Hommey 555812aff8 Bug 1723956 - Make --without-sysroot work again. r=firefox-build-system-reviewers,mhentges
Also make it not bootstrap a host sysroot.

Differential Revision: https://phabricator.services.mozilla.com/D121815
2021-08-09 21:08:43 +00:00
Mike Hommey 8000090ec7 Bug 1724372 - Simplify the handling of compiler wrappers. r=firefox-build-system-reviewers,andi
As we don't do subconfigures anymore, we don't need to remove redundant
compiler wrappers anymore.

Differential Revision: https://phabricator.services.mozilla.com/D121942
2021-08-07 21:36:42 +00:00
Brindusan Cristian 10c5583558 Backed out 4 changesets (bug 1724372, bug 1724374) for causing macos non-unified build bustages in BlockingResourceBase.h.
CLOSED TREE

Backed out changeset a8d4d6248454 (bug 1724374)
Backed out changeset 030e725b4799 (bug 1724374)
Backed out changeset 9c32dfd8b694 (bug 1724374)
Backed out changeset d1096773021b (bug 1724372)
2021-08-07 05:49:03 +03:00
Mike Hommey ab833087f4 Bug 1724374 - Handle the macos SDK through the same code paths as sysroots. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D121944
2021-08-06 23:31:50 +00:00
Mike Hommey af61d5c6de Bug 1724374 - Use --sysroot on mac builds. r=firefox-build-system-reviewers,andi
We're currently using -isysroot as a preprocessor flag and
-Wl,--syslibroot/-Wl,--sysroot as a linker flag, but --sysroot is
generalization of both, so we can use that instead.

Differential Revision: https://phabricator.services.mozilla.com/D121943
2021-08-06 23:31:50 +00:00
Mike Hommey 24ca32075f Bug 1724372 - Simplify the handling of compiler wrappers. r=firefox-build-system-reviewers,andi
As we don't do subconfigures anymore, we don't need to remove redundant
compiler wrappers anymore.

Differential Revision: https://phabricator.services.mozilla.com/D121942
2021-08-06 23:31:50 +00:00
Mike Hommey 2e7b98cc2e Bug 1723869 - Setup X11-only Linux builds. r=sylvestre
A lot of work happens on the wayland backend, and it regularly breaks tier-3
systems where wayland is not supported. Setting up X11-only builds will help
catch those breakages earlier.

Differential Revision: https://phabricator.services.mozilla.com/D121691
2021-08-06 07:12:03 +00:00
Mitchell Hentges 73710e3148 Bug 1717051: Move global mach dependencies to requirements definition r=ahal
After removing `optional` in Bug 1712804, we need to add a variant back
here because there's fallible dependencies. However, I've tweaked the
re-introduction of the feature to require a specific repercussion
message as well. This seemed like a decent tradeoff - the developer
becomes aware that the failure is bad, it has repercussions, but it's
not a blocking issue. Additionally, since we're printing pip's output,
the developer will be able to see the underlying error causing the
warning.

I also added comment functionality to requirements definitions to allow
adjacent documentation of why some requirements are fallible. (Related:
I'm looking forward to `mach_bootstrap` not needing to parse
requirements definitions. Almost there!)

Note that we'll temporarily lose the "pinned" nature of the
three moved dependencies until dependency locking is implemented
for Mach requirements definitions. Also note that the pinned
`zstandard_requirements.txt` can't be removed like the other
files because it still has a dangling usage.

Finally, in preparation for review: I didn't make
`PypiOptionalSpecifier` extend `PypiSpecifier` because I figured that
the benefit of flexibility (easier to allow implementations to diverge
without needing to untangle an inheritance relationship) was larger than
the cost of needing to add properties to both specifiers.
If we wanted re-use, I'd probably have `PypiOptionalSpecifier` _contain_
 a `PypiSpecifier`, but then you have to reach deeper into the object to
 get data, so *shrug*.

Differential Revision: https://phabricator.services.mozilla.com/D119835
2021-08-05 15:14:20 +00:00
Mitchell Hentges 2cc2cd3f63 Bug 1717051: Remove obsolete python module paths r=ahal
The three removed paths don't exist in-repo, and after a cursory glance
they don't appear to be populated dynamically.

Note that the removal of the `six` path for WPT is different: it's
technically just incorrect, and should amended to point to
`$WPT/tools/third_party/six`. However, Python only allows a single
instance of a library to exist in import scope, and we're already
consuming `six` from the Firefox-wide vendored 3rd-party libs.

Differential Revision: https://phabricator.services.mozilla.com/D119825
2021-08-05 15:14:19 +00:00
Mike Hommey eb3e595496 Bug 1724145 - Set ac_cv_path_AS for old-configure too. r=firefox-build-system-reviewers,andi
There are two different codepaths in old-configure for AS, and one of
them uses ac_cv_prog_AS and the other ac_cv_path_AS. We thus need to set
both.

Differential Revision: https://phabricator.services.mozilla.com/D121828
2021-08-05 08:13:45 +00:00
Mike Hommey 9b8c038970 Bug 1723865 - Define --enable-system-pixman as a system_lib_option(). r=firefox-build-system-reviewers,mhentges
We do so as a side effect of using system_lib_option for all *-system-*
options for old-configure, all but one of which are for system
libraries.

Differential Revision: https://phabricator.services.mozilla.com/D121690
2021-08-04 21:08:22 +00:00
Mike Hommey c4d65ab921 Bug 1723016 - Update builders to rustc 1.54. r=firefox-build-system-reviewers,nalexander
Differential Revision: https://phabricator.services.mozilla.com/D121247
2021-08-03 02:03:32 +00:00
Brindusan Cristian 7e15fd89b7 Backed out 3 changesets (bug 1723016) for causing valgrind bustages. CLOSED TREE
Backed out changeset 1b03bb0c42e4 (bug 1723016)
Backed out changeset 66ea8fed0c30 (bug 1723016)
Backed out changeset d43d97354163 (bug 1723016)
2021-07-30 17:54:40 +03:00
Mike Hommey 9e044bbc33 Bug 1723016 - Fix valgrind bustage. a=bustage-fix CLOSED TREE 2021-07-30 16:46:30 +03:00
Mike Hommey 4638ce9da9 Bug 1723016 - Fix Toolchain bustages. a=bustage-fix
CLOSED TREE
2021-07-30 14:43:18 +03:00
Noemi Erli 857763331c Backed out 7 changesets (bug 1720215, bug 1717645, bug 1717051) for causing build bustage and coflicting backout
Backed out changeset d3f2270f5d80 (bug 1717051)
Backed out changeset 06ae6038c823 (bug 1717051)
Backed out changeset 732724b94715 (bug 1717051)
Backed out changeset 51278cadd18c (bug 1720215)
Backed out changeset 766ea0a1adf1 (bug 1717645)
Backed out changeset ea6ab9ecdc1b (bug 1717645)
Backed out changeset 61b5c99a7ad2 (bug 1717645)
2021-07-30 04:00:31 +03:00
Mike Hommey 2ece240132 Bug 1722438 - Add support for wasm32-wasi targets in clang toolchains for mac and windows. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D120923
2021-07-29 23:43:01 +00:00
Mitchell Hentges 7ec0e9aff9 Bug 1717051: Move global mach dependencies to requirements definition r=ahal
After removing `optional` in Bug 1712804, we need to add a variant back
here because there's fallible dependencies. However, I've tweaked the
re-introduction of the feature to require a specific repercussion
message as well. This seemed like a decent tradeoff - the developer
becomes aware that the failure is bad, it has repercussions, but it's
not a blocking issue. Additionally, since we're printing pip's output,
the developer will be able to see the underlying error causing the
warning.

I also added comment functionality to requirements definitions to allow
adjacent documentation of why some requirements are fallible. (Related:
I'm looking forward to `mach_bootstrap` not needing to parse
requirements definitions. Almost there!)

Note that we'll temporarily lose the "pinned" nature of the
three moved dependencies until dependency locking is implemented
for Mach requirements definitions. Also note that the pinned
`zstandard_requirements.txt` can't be removed like the other
files because it still has a dangling usage.

Finally, in preparation for review: I didn't make
`PypiOptionalSpecifier` extend `PypiSpecifier` because I figured that
the benefit of flexibility (easier to allow implementations to diverge
without needing to untangle an inheritance relationship) was larger than
the cost of needing to add properties to both specifiers.
If we wanted re-use, I'd probably have `PypiOptionalSpecifier` _contain_
 a `PypiSpecifier`, but then you have to reach deeper into the object to
 get data, so *shrug*.

Differential Revision: https://phabricator.services.mozilla.com/D119835
2021-07-29 23:41:13 +00:00
Mitchell Hentges c9133bc48c Bug 1717051: Remove obsolete python module paths r=ahal
The three removed paths don't exist in-repo, and after a cursory glance
they don't appear to be populated dynamically.

Note that the removal of the `six` path for WPT is different: it's
technically just incorrect, and should amended to point to
`$WPT/tools/third_party/six`. However, Python only allows a single
instance of a library to exist in import scope, and we're already
consuming `six` from the Firefox-wide vendored 3rd-party libs.

Differential Revision: https://phabricator.services.mozilla.com/D119825
2021-07-29 23:41:12 +00:00
Mike Hommey 25c71f548b Bug 1722653 - Remove --enable-system-cairo. r=firefox-build-system-reviewers,jrmuizel,andi
It hasn't been supported since bug 1432751, > 3 years ago.

Differential Revision: https://phabricator.services.mozilla.com/D121063
2021-07-29 23:38:30 +00:00
Csoregi Natalia 4bfa1610f2 Backed out 3 changesets (bug 1717051) for causing gecko decision failure. CLOSED TREE
Backed out changeset 1a12fa683af8 (bug 1717051)
Backed out changeset d8de22311420 (bug 1717051)
Backed out changeset b522a5b7a10e (bug 1717051)
2021-07-30 02:15:50 +03:00
Mitchell Hentges b7b8e6f938 Bug 1717051: Move global mach dependencies to requirements definition r=ahal
After removing `optional` in Bug 1712804, we need to add a variant back
here because there's fallible dependencies. However, I've tweaked the
re-introduction of the feature to require a specific repercussion
message as well. This seemed like a decent tradeoff - the developer
becomes aware that the failure is bad, it has repercussions, but it's
not a blocking issue. Additionally, since we're printing pip's output,
the developer will be able to see the underlying error causing the
warning.

I also added comment functionality to requirements definitions to allow
adjacent documentation of why some requirements are fallible. (Related:
I'm looking forward to `mach_bootstrap` not needing to parse
requirements definitions. Almost there!)

Note that we'll temporarily lose the "pinned" nature of the
three moved dependencies until dependency locking is implemented
for Mach requirements definitions. Also note that the pinned
`zstandard_requirements.txt` can't be removed like the other
files because it still has a dangling usage.

Finally, in preparation for review: I didn't make
`PypiOptionalSpecifier` extend `PypiSpecifier` because I figured that
the benefit of flexibility (easier to allow implementations to diverge
without needing to untangle an inheritance relationship) was larger than
the cost of needing to add properties to both specifiers.
If we wanted re-use, I'd probably have `PypiOptionalSpecifier` _contain_
 a `PypiSpecifier`, but then you have to reach deeper into the object to
 get data, so *shrug*.

Differential Revision: https://phabricator.services.mozilla.com/D119835
2021-07-29 22:26:24 +00:00
Mitchell Hentges 78aab5985d Bug 1717051: Remove obsolete python module paths r=ahal
The three removed paths don't exist in-repo, and after a cursory glance
they don't appear to be populated dynamically.

Note that the removal of the `six` path for WPT is different: it's
technically just incorrect, and should amended to point to
`$WPT/tools/third_party/six`. However, Python only allows a single
instance of a library to exist in import scope, and we're already
consuming `six` from the Firefox-wide vendored 3rd-party libs.

Differential Revision: https://phabricator.services.mozilla.com/D119825
2021-07-29 22:26:23 +00:00
Mike Hommey 535ec6ed75 Bug 1722442 - Fix the logic that determines when a sysroot was bootstrapped. r=firefox-build-system-reviewers,andi
Bug 1721514 broke what was done in bug 1694884.

Differential Revision: https://phabricator.services.mozilla.com/D120926
2021-07-29 22:23:44 +00:00
Mike Hommey e0929c4c22 Bug 1722652 - Reduce the number of flags passed to bindgen. r=firefox-build-system-reviewers,necko-reviewers,andi,dragana
Originally, we only were using bindgen for stylo, and we also went a bit
overkill by including a lot of extra CFLAGS in there, which end up
being unnecessary. So we now only pass a more minimal set of flags, and
add some extra CFLAGS in cases where they are necessary.

Differential Revision: https://phabricator.services.mozilla.com/D121043
2021-07-28 20:37:49 +00:00
Mike Hommey 4dce5725b3 Bug 1722652 - Setup bindgen flags for servo similarly to cranelift and neqo. r=emilio
While the use of toml allows the flags to be separated, the split is
done via some shell shenanigans anyways, and servo's build.rs can
handle the same just fine.

Differential Revision: https://phabricator.services.mozilla.com/D121042
2021-07-28 20:37:48 +00:00
Mike Hommey 3f28878f58 Bug 1721755 - Only set EARLY_BETA_OR_EARLIER on beta and earlier. r=firefox-build-system-reviewers,andi,mhentges
This matches the spirit of what BUILDING_RELEASE used to do before bug
1597834.

Differential Revision: https://phabricator.services.mozilla.com/D120563
2021-07-22 21:28:58 +00:00
Mike Kaply f2649915eb Bug 1720389 - Add IS_ESR to AppConstants and rename ESR #ifdef to MOZ_ESR. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D120371
2021-07-22 20:00:26 +00:00
Csoregi Natalia 83665672f5 Backed out changeset 0f05cde26de6 (bug 1721755) as requested. CLOSED TREE 2021-07-22 10:41:28 +03:00
Mike Hommey 5b04b2c5b6 Bug 1721755 - Only set EARLY_BETA_OR_EARLIER on beta. r=firefox-build-system-reviewers,andi
This matches the spirit of what BUILDING_RELEASE used to do before bug
1597834.

Differential Revision: https://phabricator.services.mozilla.com/D120563
2021-07-22 07:12:59 +00:00
Butkovits Atila f746b6734e Bug 1721514 - fix black lint failure CLOSED TREE 2021-07-22 02:48:19 +03:00
Mike Hommey 6f6b4a5e21 Bug 1721514 - Use bootstrapped sysroot when it's there. r=firefox-build-system-reviewers,andi
We do that with everything else (i.e. clang, cbindgen, etc.). We weren't
doing it for sysroots because the support was experimental and the path
was independent of the target, so there was no guarantee that the
sysroot would actually work for the target. As that's not the case
anymore, we can go with more consistency with the bootstrapped
toolchains.

Differential Revision: https://phabricator.services.mozilla.com/D120417
2021-07-21 21:00:14 +00:00
Sandor Molnar 77256682a1 Backed out 7 changesets (bug 1720215, bug 1717645, bug 1717051) for causing win debug build bustages. CLOSED TREE
Backed out changeset fb9919b26f30 (bug 1717051)
Backed out changeset 605651561f2a (bug 1717051)
Backed out changeset d1333fe69cf4 (bug 1717051)
Backed out changeset b75dcb922521 (bug 1720215)
Backed out changeset e43fb9c6cd0f (bug 1717645)
Backed out changeset eab19a103b56 (bug 1717645)
Backed out changeset 7864e8241d77 (bug 1717645)
2021-07-21 07:47:18 +03:00
Mitchell Hentges 9d2879a48a Bug 1717051: Move global mach dependencies to requirements definition r=ahal
After removing `optional` in Bug 1712804, we need to add a variant back
here because there's fallible dependencies. However, I've tweaked the
re-introduction of the feature to require a specific repercussion
message as well. This seemed like a decent tradeoff - the developer
becomes aware that the failure is bad, it has repercussions, but it's
not a blocking issue. Additionally, since we're printing pip's output,
the developer will be able to see the underlying error causing the
warning.

I also added comment functionality to requirements definitions to allow
adjacent documentation of why some requirements are fallible. (Related:
I'm looking forward to `mach_bootstrap` not needing to parse
requirements definitions. Almost there!)

Note that we'll temporarily lose the "pinned" nature of the
three moved dependencies until dependency locking is implemented
for Mach requirements definitions. Also note that the pinned
`zstandard_requirements.txt` can't be removed like the other
files because it still has a dangling usage.

Finally, in preparation for review: I didn't make
`PypiOptionalSpecifier` extend `PypiSpecifier` because I figured that
the benefit of flexibility (easier to allow implementations to diverge
without needing to untangle an inheritance relationship) was larger than
the cost of needing to add properties to both specifiers.
If we wanted re-use, I'd probably have `PypiOptionalSpecifier` _contain_
 a `PypiSpecifier`, but then you have to reach deeper into the object to
 get data, so *shrug*.

Differential Revision: https://phabricator.services.mozilla.com/D119835
2021-07-20 22:22:53 +00:00
Mitchell Hentges d92ed529bc Bug 1717051: Remove obsolete python module paths r=ahal
The three removed paths don't exist in-repo, and after a cursory glance
they don't appear to be populated dynamically.

Note that the removal of the `six` path for WPT is different: it's
technically just incorrect, and should amended to point to
`$WPT/tools/third_party/six`. However, Python only allows a single
instance of a library to exist in import scope, and we're already
consuming `six` from the Firefox-wide vendored 3rd-party libs.

Differential Revision: https://phabricator.services.mozilla.com/D119825
2021-07-20 22:22:53 +00:00
Cosmin Sabou 84b8cec8b2 Backed out 7 changesets (bug 1717645, bug 1717051, bug 1720215) for busting the gecko decision task. CLOSED TREE DONTBUILD
Backed out changeset dbdd100c60d0 (bug 1717051)
Backed out changeset 4f32438176a0 (bug 1717051)
Backed out changeset 6597db537fa2 (bug 1717051)
Backed out changeset cc686ee3fb6e (bug 1720215)
Backed out changeset 82dc0771b98b (bug 1717645)
Backed out changeset 16b0fb30aff2 (bug 1717645)
Backed out changeset 370e02f73923 (bug 1717645)
2021-07-21 00:59:41 +03:00
Mitchell Hentges ffaaa6b319 Bug 1717051: Move global mach dependencies to requirements definition r=ahal
After removing `optional` in Bug 1712804, we need to add a variant back
here because there's fallible dependencies. However, I've tweaked the
re-introduction of the feature to require a specific repercussion
message as well. This seemed like a decent tradeoff - the developer
becomes aware that the failure is bad, it has repercussions, but it's
not a blocking issue. Additionally, since we're printing pip's output,
the developer will be able to see the underlying error causing the
warning.

I also added comment functionality to requirements definitions to allow
adjacent documentation of why some requirements are fallible. (Related:
I'm looking forward to `mach_bootstrap` not needing to parse
requirements definitions. Almost there!)

Note that we'll temporarily lose the "pinned" nature of the
three moved dependencies until dependency locking is implemented
for Mach requirements definitions. Also note that the pinned
`zstandard_requirements.txt` can't be removed like the other
files because it still has a dangling usage.

Finally, in preparation for review: I didn't make
`PypiOptionalSpecifier` extend `PypiSpecifier` because I figured that
the benefit of flexibility (easier to allow implementations to diverge
without needing to untangle an inheritance relationship) was larger than
the cost of needing to add properties to both specifiers.
If we wanted re-use, I'd probably have `PypiOptionalSpecifier` _contain_
 a `PypiSpecifier`, but then you have to reach deeper into the object to
 get data, so *shrug*.

Differential Revision: https://phabricator.services.mozilla.com/D119835
2021-07-20 21:42:04 +00:00
Mitchell Hentges ff3f9b87f4 Bug 1717051: Remove obsolete python module paths r=ahal
The three removed paths don't exist in-repo, and after a cursory glance
they don't appear to be populated dynamically.

Note that the removal of the `six` path for WPT is different: it's
technically just incorrect, and should amended to point to
`$WPT/tools/third_party/six`. However, Python only allows a single
instance of a library to exist in import scope, and we're already
consuming `six` from the Firefox-wide vendored 3rd-party libs.

Differential Revision: https://phabricator.services.mozilla.com/D119825
2021-07-20 21:42:03 +00:00
Gerald Squelart 38d26336e0 Bug 1720846 - Add mozglue/baseprofiler and tools/profiler to non-unified-compat - r=florian
Depends on D120301

Differential Revision: https://phabricator.services.mozilla.com/D120302
2021-07-20 09:31:17 +00:00
Brad Werth 3094cf0606 Bug 1717887 Part 2: Make RenderThread backed by nsIThread, with a hang monitor. r=gfx-reviewers,jrmuizel
The background hang monitor uses the same timing thresholds as the one used by
the compositor thread, for similar reasons.

Differential Revision: https://phabricator.services.mozilla.com/D120117
2021-07-19 17:35:55 +00:00
Alex Lopez 77ce415604 Bug 1696251 - Replace self with command_context where possible in existing mach commands. r=mhentges,webdriver-reviewers,perftest-reviewers,whimboo
This step removes all the dependencies of mach commands to
having a MachCommandBase as the `self` by using the `command_context`
argument instead. This also removes any remaining statefulness from those
classes that implement mach commands, ultimately making it easier to move
existing commands out of classes in a follow-up.

Differential Revision: https://phabricator.services.mozilla.com/D118058
2021-07-19 16:04:25 +00:00
Bob Owen b2d767fbb9 Bug 1716024 p2: Flag all binaries apart from firefox, xpcshell and plugin-container as CET compatible. r=glandium
We will only run the processes in CET compatible modules only mode when not
using the JIT code. So marking xul.dll as compatible should be OK.

Differential Revision: https://phabricator.services.mozilla.com/D117551
2021-07-19 07:36:19 +00:00
Mike Hommey 6a42db4b68 Bug 1720820 - Remove python executable configuration from clang build script. r=firefox-build-system-reviewers,andi
Clang >= 11 ignores PYTHON_EXECUTABLE entirely (and uses python3, which
is not even what we pass, but that's actually fine), and all the build
tasks we have on older versions find the python executable they need on
their own.

Differential Revision: https://phabricator.services.mozilla.com/D120049
2021-07-17 04:29:10 +00:00
Mitchell Hentges bb1a6e1cef Bug 1720935: Remove obsolete Python major-version check r=ahal
We always run with Python 3, so we don't need to re-check the major
version.

Differential Revision: https://phabricator.services.mozilla.com/D120099
2021-07-16 21:47:54 +00:00
Mitchell Hentges 75de81c99a Bug 1720935: Move state_dir creation comment r=ahal
I'm guessing that the code moved to the bootstrap command but the
associated comment was forgotten and left abandoned, which is very sad.

Differential Revision: https://phabricator.services.mozilla.com/D120098
2021-07-16 21:47:53 +00:00
Mitchell Hentges 83721fed8d Bug 1720925: Move platform-specific Python upgrade instructions r=ahal
There's a "minimum Python check" that happens when Mach
bootstraps that makes the bootstrap command's check obsolete.

Since we want to use modern Python features throughout Mach, we need to
move Python-out-of-date logic up to the front of the process.

We're duplicating the OS-detection logic a bit, but now we regain
per-platform Python instructions.

Differential Revision: https://phabricator.services.mozilla.com/D120093
2021-07-16 21:47:52 +00:00
Mike Hommey 3b541bbb87 Bug 1720806 - Enable sysroot bootstrapping by default. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D120045
2021-07-16 20:59:36 +00:00
Mike Hommey 5ac51ef77d Bug 1720806 - Avoid multiple calls to toolchain_task_definitions during configure. r=firefox-build-system-reviewers,mhentges
Bug 1692137 added code that would end up calling
toolchain_task_definitions twice, once for each of host and target.
With the recent changes from bug 1719229, that is not useful anymore.
We also don't need the toolchain prefixes for toolchains on unsupported
hosts (which were useful before bug 1719229 for the target sysroots).

Differential Revision: https://phabricator.services.mozilla.com/D120044
2021-07-16 20:59:35 +00:00
Mike Hommey 9aa3587bbf Bug 1694884 - Fail configure when using --*-system-* options with a bootstrapped sysroot. r=firefox-build-system-reviewers,mhentges
The bootstrapped sysroot doesn't contain all the system libraries that
would allow these options to be supported.

Differential Revision: https://phabricator.services.mozilla.com/D120043
2021-07-16 20:51:27 +00:00
Butkovits Atila a07f790e42 Backed out changeset e1921c5112d8 (bug 1696251) for causing bustages complaining about 'CommandContext'. CLOSED TREE 2021-07-16 20:35:55 +03:00
Mitchell Hentges 09c7c7c9dc Bug 1720591: Remove unused patch_main() for Python < 3.4 on Windows r=ahal
Now that we use Python 3.6+, this code is obsolete.

Differential Revision: https://phabricator.services.mozilla.com/D119929
2021-07-16 16:34:42 +00:00
Alex Lopez 190e03aaab Bug 1696251 - Replace self with command_context where possible in existing mach commands. r=mhentges,webdriver-reviewers,perftest-reviewers,whimboo
This step removes all the dependencies of mach commands to
having a MachCommandBase as the `self` by using the `command_context`
argument instead. This also removes any remaining statefulness from those
classes that implement mach commands, ultimately making it easier to move
existing commands out of classes in a follow-up.

Differential Revision: https://phabricator.services.mozilla.com/D118058
2021-07-16 15:51:29 +00:00
Mike Hommey ed0947b799 Bug 1719237 - Revert bug 1718131. r=stransky
It turns out calling gdk_display_close gets us a rematch of bug 1626536,
so remove the call that was added in bug 1718131, and adjust valgrind
suppressions accordingly.

Differential Revision: https://phabricator.services.mozilla.com/D120037
2021-07-16 08:21:49 +00:00
Mike Hommey 1c3750fe19 Bug 1704766 - Remove libstdc++ from clang toolchains. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D119140
2021-07-16 04:09:54 +00:00
Cosmin Sabou 3cd7630738 Backed out changeset 2c1257a95130 (bug 1720591) for causing build bustages complaining about patch_main. CLOSED TREE 2021-07-16 02:49:45 +03:00
Mitchell Hentges b5d3b00394 Bug 1720591: Remove unused patch_main() for Python < 3.4 on Windows r=ahal
Now that we use Python 3.6+, this code is obsolete.

Differential Revision: https://phabricator.services.mozilla.com/D119929
2021-07-15 21:44:37 +00:00
Andi-Bogdan Postelnicu c95cc38d58 Bug 1720606 - Fix for clang-trunk build after IR commit broken the attributes patch. r=firefox-build-system-reviewers,glandium
After changeset 5e4b33fe9218703f0b29e2446159bcf4202d15fa the Attributes.cpp file was
changed so our patched version was not sticking on top of it. This patch does the proper
rebase.

Differential Revision: https://phabricator.services.mozilla.com/D119951
2021-07-15 08:25:41 +00:00
Noemi Erli e276a4bf18 Backed out changeset a275000100a4 (bug 1704766) for causing build bustages CLOSED TREE 2021-07-15 02:14:21 +03:00
Mike Hommey 5b7fee4aea Bug 1704766 - Remove libstdc++ from clang toolchains. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D119140
2021-07-14 20:54:27 +00:00
Benjamin Beurdouche fbf40a7e56 Bug 1720464 - land NSS b1eac8c86e99 UPGRADE_NSS_RELEASE, r=beurdouche
Differential Revision: https://phabricator.services.mozilla.com/D119914
2021-07-14 20:05:21 +00:00
lyavor 34292f2736 Bug 1719309 - HTTPS-First test for bad certifactes. r=ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D119779
2021-07-14 12:34:01 +00:00
Mike Hommey 487119e349 Bug 1719229 - Allow the build system to use a sysroot for the host part of the build. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D119847
2021-07-14 08:54:43 +00:00
Mike Hommey 162f9b6800 Bug 1719229 - Rename the bootstrappable sysroot toolchains. r=firefox-build-system-reviewers,andi
In cross-compilation setups (x86_64 host, i686 or aarch64 target), we're
going to need two sysroots. Obviously, we need the sysroot paths to be
different in that case, so the sysroot path themselves need to contain
some distinctive name, and we'll use the `target.toolchain` name for
that (the target triplet with the vendor/machine stripped out).

Because the path name needs to be reflected in the artifact name as well
as the toolchain name, we also change them.

And because the current prefix in the toolchain name is now redundant
with the suffix, we remove the prefix, and allow the bootstrapping
mechanism to try toolchains without the prefix.

Differential Revision: https://phabricator.services.mozilla.com/D119846
2021-07-14 08:54:43 +00:00
Mike Hommey 627c20902f Bug 1576099 - Allow to forcefully enable cargo incremental. r=firefox-build-system-reviewers,nalexander
Differential Revision: https://phabricator.services.mozilla.com/D119714
2021-07-13 20:31:37 +00:00